Page 1 sur 1

Étoiles scintillantes

Publié : sam. 05/mars/2005 12:11
par Heis Spiter
Voici le résultat des mes anneries précédentes :lol: Un magnifique ciel étoilé qui brille :). C'est pas génial, mais j'avais envie de le programmer, alors, je l'ai fait, et je fait profiter maintenant :D. Ceci dit, je vais p't't faire un truc dessus (supens ;)).

Code : Tout sélectionner

#Width = 800
#Heigh = 600
#FullScreen = 0
Structure Stars
  X.w
  Y.w
  Color.l
  Order.s
EndStructure
NewList Stars.Stars()
InitSprite()
InitKeyboard()
For k = 0 To (#Width+#Heigh)/4
  X = Random(#Width-2)
  Y = Random(#Heigh-2)
  X = X + 1
  Y = Y + 1
  Color = Random(155)
  AddElement(Stars())
  Stars()\X = X
  Stars()\Y = Y
  Stars()\Color = RGB(100+Color, 100+Color, 100+Color)
  If Stars()\Color >= $FAFAFA
    Stars()\Order = "-"
  ElseIf Stars()\Color <= $646464
    Stars()\Order = "+"
  Else
    If Random(1) = 1
      Stars()\Order = "+"
    Else
      Stars()\Order = "-"
    EndIf
  EndIf
Next k
If #FullScreen
  Result = OpenScreen(#Width, #Heigh, 32, "Stars")
Else
  If OpenWindow(1, 0, 0, #Width, #Heigh, #PB_Window_ScreenCentered | #PB_Window_SystemMenu, "Stars")
    Result = OpenWindowedScreen(WindowID(1), 0, 0, 400, 400, 1, 0, 0)
  EndIf
EndIf
If Result
  Repeat
    ClearScreen(0, 0, 0)
    If IsSprite(2)
      FreeSprite(2)
    EndIf
    CreateSprite(2, #Width, #Heigh)
    If StartDrawing(SpriteOutput(2))
      ResetList(Stars())
      For k = 0 To (#Width+#Heigh)/4
        NextElement(Stars())
        Plot(Stars()\X, Stars()\Y, Stars()\Color)
        If Stars()\Color >= $FAFAFA
          Stars()\Order = "-"
          Stars()\Color = Stars()\Color-$050505
          done = 1
        ElseIf done = 0 And Stars()\Color <= $646464
          Stars()\Order = "+"
          Stars()\Color = Stars()\Color+$050505
          done = 1
        ElseIf done = 0 And Stars()\Order = "+"
          Stars()\Color = Stars()\Color+$050505
        ElseIf done = 0 And Stars()\Order = "-"
          Stars()\Color = Stars()\Color-$050505
        EndIf 
        done = 0
      Next k
      StopDrawing()
    EndIf
    DisplaySprite(2, 0, 0)
    FlipBuffers(1)
    ExamineKeyboard()
  Until KeyboardPushed(#PB_Key_Escape)
EndIf

Publié : sam. 05/mars/2005 12:22
par djes
C'est cool ;)

Publié : sam. 05/mars/2005 13:49
par Le Soldat Inconnu
:D oui, c'est sympa

Publié : sam. 05/mars/2005 14:06
par Heis Spiter
Merci :oops: :D

Publié : jeu. 10/mars/2005 2:28
par Guimauve
Il faudrait trouver un moyen pour mettre ça dans un SkyCube. Ça pour être très utile pour ceux qui font des jeux 3D.

Vais regarder si c'est possible.

Merci Heis :D

A+
Guimauve