Voici mon premier jeux en pure basic (je n'ai commencer à développer avec ce langage qu'il n'y à qu'une quinzaine de jours)
Les images et graphiques on été emprunté sur le net et dans des démos de pure basic (merci à leurs auteurs).
Le jeux fait 744 lignes, il est totalement jouable mais ne comprend pas de niveaux de difficulté.Soyer indulgent pour mon orthographe ce n'ai pas mon fort.
J'espère que ce petit jeux en inspirera certains ou en aidera d'autres.
Voici le lien de téléchargement:
http://www.megaupload.com/?d=7XR3HOLV
Et le code de la boucle principale du jeux:
Code : Tout sélectionner
;_____________________________________________________________________________________________________________________________
;
;-Boucle Principale
;_____________________________________________________________________________________________________________________________
Repeat
Even=WindowEvent()
ExamineKeyboard()
Delay(20)
If gPlayer(1)\nbr_vie<>0 ; Si encore des vies
If Timer_Etoile>0
Timer_Etoile=Timer_Etoile-1
EndIf
If Timer_Etoile=0
gDecalage_Etoile=gDecalage_Etoile+1
Timer_Etoile=2
EndIf
Affiche_Etoile()
If KeyboardPushed(#PB_Key_Right)
gPlayer(1)\Vitesse=gVitesse_de_deplacement_Player
Affiche_Vaiseau_player("D")
EndIf
If KeyboardPushed(#PB_Key_Left)
gPlayer(1)\Vitesse=-gVitesse_de_deplacement_Player
Affiche_Vaiseau_player("G")
EndIf
If Not KeyboardPushed(#PB_Key_Right) And Not KeyboardPushed(#PB_Key_Left)
gPlayer(1)\Vitesse=0
Affiche_Vaiseau_player("C")
EndIf
If Timer_Asteroid>0
Timer_Asteroid=Timer_Asteroid-1
EndIf
If Timer_Asteroid=0
CreeAteroide()
Timer_Asteroid=40
EndIf
If Timer_Balle_Enemi>0
Timer_Balle_Enemi=Timer_Balle_Enemi-1
EndIf
If Timer_Balle_Enemi=0
Cree_Balle_Enemi()
Timer_Balle_Enemi=80
EndIf
Affiche_Balle_Enemi()
Affiche_Asteroide()
Affiche_Balles()
Detecte_Colision_Asteroide()
Detecte_Colision_Enemi()
Detecte_Colision_Balles_Asteroides()
Detecte_Colisoin_balle_Enemi()
Detecte_Balle_Enemi_sur_player()
Supprime_Explosion() ; supprime les explosions qui son terminées
Affiche_Explosion()
Supprime_Asteroide()
Affiche_Enemi()
Supprime_Enemi()
If KeyboardPushed(#PB_Key_Space) And gTire_Autoriser=#True And gPlayer(1)\dead<>1
gTire_Autoriser=#False
Cree_Balle()
EndIf
If KeyboardReleased(#PB_Key_Space)
gTire_Autoriser=#True
EndIf
If Timer_Enemi>0
Timer_Enemi=Timer_Enemi-1
EndIf
If Timer_Enemi=0
Cree_Enemi()
Timer_Enemi=20
EndIf
Affiche_Nbr_vie_restante()
Else
ClearList(gAsteroid())
ClearList(gEnemi())
ClearList(gBalle())
ClearList(gBalle_Enemi())
ClearList(gExplosion())
Affiche_Game_Over()
Affiche_Nbr_vie_restante()
Delay(200)
If KeyboardPushed(#PB_Key_Space)
gPlayer(1)\nbr_vie=3
gPlayer(1)\dead=0
gScore=0
EndIf
EndIf
FlipBuffers (): ; affiche l'ecran
ClearScreen ( RGB (0, 0, 0)) : ;efface l'ecran avec la couleur noir
Until Even=#PB_Event_CloseWindow Or KeyboardPushed(#PB_Key_Escape)