mini code de Nöel( pour super-débutants!)
Publié : mar. 18/déc./2007 5:14
Hugh!
Je n'ai pas trop le temps de coder alors en attendant de me remettre à mon Pure_Vroom...
...voilà un brouillon(fait en moins d'une heure, ça veut dire que j'ai progressé
) de petit jeu que je vais faire avec les élèves ce vendredi avant les vacances.
(Pour les sprites, ils utiliseront leurs photos et des images de cadeaux (avec des parachutes pour respecter les lois de la physique et avoir une vitesse de chute constante
), c'est plus joli que des carrés et des disques:D )
Les objectifs principaux sont :
un minimum de lignes
un minimum de mots-clés
un minimum de déclarations
un peu de jouabilité
L'idée, c'est que pendant les vacances, ils améliorent le code
Si vous avez des idées de modifications !
S'il y a des super-débutants dans la salle n'hésitez pas!
Hasta la vista!
Je n'ai pas trop le temps de coder alors en attendant de me remettre à mon Pure_Vroom...
...voilà un brouillon(fait en moins d'une heure, ça veut dire que j'ai progressé

(Pour les sprites, ils utiliseront leurs photos et des images de cadeaux (avec des parachutes pour respecter les lois de la physique et avoir une vitesse de chute constante

Les objectifs principaux sont :
un minimum de lignes
un minimum de mots-clés
un minimum de déclarations
un peu de jouabilité

Code : Tout sélectionner
;"Pure_Noël" auteur Huitbit
;PureBasic 4.10
;brouillon de minijeu
;minimum de déclarations et de mots-clés
;***************************************************
Dim x_cadeau(20)
Dim y_cadeau(20)
;initialisation des positions des cadeaux
For i=0 To 20
x_cadeau(i)=Random(768)
y_cadeau(i)=-Random(600)
Next i
;-PROGRAMME PRINCIPAL
InitSprite()
InitKeyboard()
OpenWindow(0,0,0,800,600,"Livraison de Noël ")
OpenWindowedScreen(WindowID(0),0,0,800,600,1,0,0)
;-fond d'ecran
CreateSprite(0,800,600)
StartDrawing(SpriteOutput(0))
;fond étoilé
For numero_etoile = 0 To 500
Plot(1+Random(798),1+Random(567),RGB(255,255,255))
Next numero_etoile
;pelouse
Box(0,568,800,32,RGB(65, 117, 57))
StopDrawing()
;-cadeau
CreateSprite(1,32,32)
StartDrawing(SpriteOutput(1))
Box(0,0,32,32,RGB(255,255,0))
StopDrawing()
;-personnage
CreateSprite(2,32,64)
StartDrawing(SpriteOutput(2))
Circle(16,16,16,RGB(255,255,255))
Box(0,32,32,32,RGB(255,0,0))
StopDrawing()
;-BOUCLE PRINCIPALE
Repeat
Repeat
Event = WindowEvent()
If Event = #PB_Event_CloseWindow
End
EndIf
Until Event = 0
;-gestion du clavier pour les mouvements du personnage
ExamineKeyboard()
If KeyboardPushed(#PB_Key_Left)
x_personnage=x_personnage-4
ElseIf KeyboardPushed(#PB_Key_Right)
x_personnage=x_personnage+4
EndIf
;-gestion des déplacements des cadeaux
For i=0 To 20
y_cadeau(i)=y_cadeau(i)+2
If y_cadeau(i)>536
y_cadeau(i)=-Random(600)
compteur_tombes=compteur_tombes+1
EndIf
Next i
;-affichage
DisplaySprite(0,0,0)
For i=0 To 20
DisplaySprite(1,x_cadeau(i),y_cadeau(i))
Next i
DisplaySprite(2,x_personnage,504)
;-test de collision Père Noël_cadeau
For i =0 To 20
If SpritePixelCollision(1,x_cadeau(i),y_cadeau(i),2,x_personnage,504)
y_cadeau(i)=-Random(600)
compteur_hotte=compteur_hotte+1
EndIf
Next i
;-statistiques affichées
cadeaux_livres=compteur_hotte+compteur_tombes
StartDrawing(SpriteOutput(0))
DrawText(0,568,"Livrés : "+Str(compteur_hotte+compteur_tombes)+"*****Hotte : "+Str(compteur_hotte)+"*****Tombés : "+Str(compteur_tombes))
StopDrawing()
Delay(10)
FlipBuffers()
Until cadeaux_livres>60
StartDrawing(ScreenOutput())
DrawText(0,568,"Efficacité du Père Noël :"+Str(compteur_hotte*100/cadeaux_livres)+" % >>> Livrés : "+Str(compteur_hotte+compteur_tombes)+"*****Hotte : "+Str(compteur_hotte)+"*****Tombés : "+Str(compteur_tombes))
StopDrawing()
FlipBuffers()
Delay(3000)
End
Si vous avez des idées de modifications !
S'il y a des super-débutants dans la salle n'hésitez pas!
Hasta la vista!