Votre question

besoin aide programation avec just basic

Tags :
  • Basic
  • Programmation
Dernière réponse : dans Programmation
22 Décembre 2007 14:07:08

bonjour a tous je voudrais que quand il y a game over que le jeu revienne au debut comment fair svp?

[jouer]


'ETAPE 1/ mettre en place la fenetre graphique

'dimension de la fenetre
WindowWidth =400
WindowHeight =430
'fenetre au milieu
UpperLeftX=int((DisplayWidth-WindowWidth)/2)
UpperLeftY=int((DisplayHeight-WindowHeight)/2)
'ouvrir la fenetre et attendre
open "invasion I made by Angel" for graphics_nsb as #game
#game, "trapclose [quit]"


'ETAPE 2/ afficher l'arrier plans et les sprite

'charger tout les bitmaps en memoire
loadbmp "bg","space.bmp"
loadbmp "explo1", "explo1.bmp"
loadbmp "explo2", "explo2.bmp"
loadbmp "explo3", "explo3.bmp"
loadbmp "explo4", "explo4.bmp"
loadbmp "explo5", "explo5.bmp"
loadbmp "meteroite", "meteroite.bmp"
loadbmp "blueplanet", "blueplanet.bmp"
loadbmp "spider1", "spider1.bmp"
loadbmp "spider2", "spider2.bmp"
loadbmp "rouge12", "rouge12.bmp"
loadbmp "redshot", "redshot.bmp"
loadbmp "alien1", "alien1.bmp"
loadbmp "alien2", "alien2.bmp"
loadbmp "alien3", "alien3.bmp"
loadbmp "bomb", "bomb.bmp"
loadbmp "bigexplo1", "bigexplo1.bmp"
loadbmp "bigexplo2", "bigexplo2.bmp"
loadbmp "bigexplo3", "bigexplo3.bmp"
loadbmp "bigexplo4", "bigexplo4.bmp"
loadbmp "bigexplo5", "bigexplo5.bmp"
loadbmp "blob1", "blob1.bmp"
loadbmp "blob2", "blob2.bmp"
loadbmp "blob3", "blob3.bmp"
loadbmp "blob4", "blob4.bmp"
loadbmp "blob5", "blob5.bmp"
loadbmp "blob6", "blob6.bmp"
loadbmp "blob7", "blob7.bmp"

'ajouter le background et les sprite en memoire
#game, "background bg"
#game, "addsprite explo explo1 explo2 explo3 explo4 explo5"
#game, "addsprite bigexplo bigexplo1 bigexplo2 bigexplo3 bigexplo4 bigexplo5"
#game, "addsprite alien alien1 alien2 alien3"
#game, "addsprite bomb bomb"
#game, "addsprite rouge12 rouge12"
#game, "addsprite meteroite meteroite"
#game, "addsprite spider spider1 spider2"
#game, "addsprite blueplanet blueplanet"
#game, "addsprite redshot redshot"
#game, "addsprite blob blob1 blob2 blob3 blob4 blob5 blob6 blob7"

'placer les sprite a un endroit precit
'la position du sprite est exprimer par deux variable
exploX=500:exploY=500
bigexploX=500:bigexploY=500
rouge12X=180:rouge12Y=320
metX=500:metY=500
spiderX=500:spiderY=500
bpX=50:bpY=10
redshotX=500:reshotY=500
alienX=500:alienY=500
bombX=500:bombY=500
blobX=500:blobY=500
#game, "spritexy blob ";blobX;" ";blobY
#game, "spritexy explo ";exploX;" ";exploY
#game, "spritexy bigexplo ";bigexploX;" ";bigexploY
#game, "spritexy rouge12 ";rouge12X;" ";rouge12Y
#game, "spritexy meteroite ";meteroiteX;" ";meteroiteY
#game, "spritexy spider ";spiderX;" ";spiderY
#game, "spritexy blueplanet ";blueplanetX;" ";blueplanetY
#game, "spritexy redshot ";redshotX;" ";redshotY
#game, "spritexy alien ";alienX;" ";alienY
#game, "spritexy bomb ";bombX;" ";bombY

'cycler la liste des explosions
#game, "cyclesprite explo 1"
#game, "cyclesprite bigexplo 1"
#game, "cyclesprite spider 1"
#game, "cyclesprite alien 1"
#game, "cyclesprite blob 1"

'ETAPE 3/ animer le tout

'initialisé toutes les variables
exploactive=0
explocount=0
gauche=0
agauche=0
shotactive=0
bigexplo=0
bigexploactive=0
blobactive=0
blobcount=0
findujeu=0
gauche=0
score=0
vies=3





'regler le timer sur 100 millisecondes
timer 100, [timer_routines]

'Etape 4 contoler le clavier

#game, "setfocus"
#game, "when characterInput [control_touche]"
wait
'utiliser les touche flechés
[control_touche]
k$=Inkey$
if k$=" " then gosub [shoot]
if asc(right$(k$,1))=_VK_LEFT then rouge12X=rouge12X-5
if asc(right$(k$,1))=_VK_RIGHT then rouge12X=rouge12X+5
if asc(right$(k$,1))=_VK_UP then rouge12Y=rouge12Y-5
if asc(right$(k$,1))=_VK_DOWN then rouge12Y=rouge12Y+5
'le vaisseau ne doit pas depasser
if rouge12X<1 then rouge12X=1
if rouge12X>350 then rouge12X=350
if rouge12Y<55 then rouge12Y=55
if rouge12Y>330 then rouge12Y=330
'fair avancé le vaisseau
print #game, "spritexy rouge12 ";rouge12X;" ";rouge12Y
wait

'ETAPE 4/ toutes les routine qui doivent etre executées
'tout les dixieme de seconde
[timer_routines]
gosub [go_blueplanet]
gosub [go_spider]
gosub [go_meteroite]
gosub [go_alien]
gosub [go_shoot]
gosub [go_alien_bomb]
gosub [ennemy_destroyed]
gosub [ennemy_collision]
gosub [control_explo]
gosub [draw]
gosub [control_vies]
wait

'ETAPE 5/ terminer le programme

[quit]
'afficher une petite fenetre a la fin du jeu
notice"Angel: GaMe OvEr ! ScOrE: ";score
unloadbmp "bg"
unloadbmp "explo1"
unloadbmp "explo2"
unloadbmp "explo3"
unloadbmp "explo4"
unloadbmp "explo5"
unloadbmp "rouge12"
unloadbmp "redshot"
unloadbmp "bigexplo1"
unloadbmp "bigexplo2"
unloadbmp "bigexplo3"
unloadbmp "bigexplo4"
unloadbmp "bigexplo5"
unloadbmp "meteroite"
unloadbmp "blueplanet"
unloadbmp "spider1"
unloadbmp "spider2"
unloadbmp "alien1"
unloadbmp "alien2"
unloadbmp "alien3"
unloadbmp "blob1"
unloadbmp "blob2"
unloadbmp "blob3"
unloadbmp "blob4"
unloadbmp "blob5"
unloadbmp "blob6"
unloadbmp "blob7"
unloadbmp "bomb"
close #game
end


PS: jai 15 ans je suis pas un pro mais j'ai comme meme des notion de programation (du moin avec "just basic")

Autres pages sur : besoin aide programation just basic

22 Décembre 2007 14:31:57

enfin ce que je veut dire c'est comment passé de [quit] a [jouer] en fait il ny a pas que cela dans mon programme j'ai fait un menu mais je remplacerait [jouer] par [menu] merci de vos reponses
22 Décembre 2007 18:10:42

Citation :
bonjour a tous je voudrais que quand il y a game over que le jeu revienne au debut comment fair svp?


Tu crées un Label.

Ensuite, pour revenir au Label, tu tapes Goto.

Exemple:

  1. Label 3
  2.  
  3. Le programme
  4.  
  5. Goto 3
Contenus similaires
23 Décembre 2007 20:06:30

oui mais quand je fait cela il retourne au debut et tout de suite il m'ecrit #menu
these handle closed by just basic.
please add the appropriate close commands.

Puis:
Runtime error: invalid file handle: #game

ou est le probleme svp?
Anonyme
2 Mai 2009 14:04:55

Il marche ton jeu parce que moi voila mon code

'programmer par sylvain le 29/04/09



nomainwin
'ETAPE 1 = Mettre en place la fenêtre graphique
' donner les dimmensions de l'écran
WindowWidth = 400
WindowHEight = 430
' la fenêtre doit se mettre au milieu
UpperLeftX = Int((DisplayWidth-WindowWidth)/2)
UpperLeftY = Int((DisplayHeight-WindowHeight)/2)
'ouvrir la fenetre et attendre
open "L' ESQUIVE " for graphics_nsb as #game
#game, "trapclose [quit]"

'ETAPE 2 =afficher le backgorund et les sprites
loadbmp "bg", "space.bmp"
loadbmp "explo1", "explo1.bmp"
loadbmp "explo2", "explo2.bmp"
loadbmp "explo3", "explo3.bmp"
loadbmp "explo4", "explo4.bmp"
loadbmp "explo5", "explo5.bmp"
loadbmp "meteroite", "meteroite.bmp"
loadbmp "blueplanet", "blueplanet.bmp"
loadbmp "spider1", "spider1.bmp"
loadbmp "spider2" , "spider2.bmp"
loadbmp "rouge12", "rouge12.bmp"
loadbmp"redshot", "redshot.bmp"
loadbmp"alien1", "alien1.bmp"
loadbmp "alien2", "alien2.bmp"
loadbmp "alien3", "alien3.bmp"
loadbmp "bomb", "bomb.bmp"
loadbmp "bigexplo1", "bigexplo1.bmp"
loadbmp "bigexplo2", "bigexplo2.bmp"
loadbmp "bigexplo3", "bigexplo3.bmp"
loadbmp "bigexplo4", "bigexplo4.bmp"
loadbmp "bigexplo5", "bigexplo5.bmp"







'ajouter le background et les sprites à la fenêtre graphique(#game)
#game, "background bg"
#game, "addsprite explo explo1 explo2 explo3 explo4 explo5 "
#game, "addsprite bigexplo bigexplo1 bigexplo2 bigexplo3 bigexplo4 bigexplo5"
#game "addsprite alien alien1 alien2 alien3"
#game, "addsprite bomb bomb"
#game, "addsprite rouge12 rouge12"
#game, "addsprite meteroite meteroite"
#game, "addsprite spider spider1 spider2"
#game, "addsprite blueplanet blueplanet"
#game, "addsprite redshot redshot"

'Placer les sprites à un endroit précis [coordonnés des sprites)

exploX= 500 : exploY= 500
bigexploX=500 : bigexplo=500
rouge12X=180: rouge12Y=320
metX=500 : metY=500
spiderX=500 : spiderY=500
bpX=50 : bpY=10
redshotX=500 : redshotY=500
alienX=500 : alienY=500
#game, "spritexy explo";exploX;" ";exploY
#game, "spritexy ";bigexploX;" ";bigexplo
#game, "spritexy rouge12";rouge12X;" ";rouge12Y
#game, "spritexy meteroite"; metX;" ";metY
#game, "spritexy spider";spiderX;" ";spiderY
#game,"spritexy blueplanet";bpX;" ";bpY
#game,"spritexy redshot";redshotX;" ";redshotY
#game, "spritexy alien";alienX;" ";alienY
#game, "spritexy bomb";bombX;" ";bombY

'Cycler la liste d'explosions
#game, "cyclesprite explo 1"
#game, "cyclesprite bigexplo 1"
#game, "cyclesprite spider 1"
#game, "cyclesprite alien 1"

'ETAPE 3
'initialiser toutes les variables
exploactive=0
explocount=0
gauche=0
agauche=0
shotactive=0
bigexplo=0
bigexploactive=0
findujeu=0

'Regler le timer à 100 millisecondes
timer 100, [Timer_routines]

'ETAPE4
'controler le clavier

#game, "setfocus"
#game, "when characterInput [control_touche]"
wait

'controle des touches du clavier
[control_touche]
k$=Inkkey$ 'k$ c'est lla même chose que inkey$
if k$=" " then gosub [shoot] 'tirer
if k$="9" or k$="6" then rouge12X=rouge12X+5 'aller a gauche
if k$="7" or k$="4" then rouge12X=rouge12X-5 'aller a doite
if k$="9" or k$="8" or k$="7" then rouge12Y=rouge12Y-5 'aller vers le heut
if k$="5" then rouge12Y=rouge12Y+5 'reculer
'le vaisseau ne doit pas dépasser les bords de la fenêtre
if rouge12X < 1 then rouge12X=1
if rouge12X > 350 then rouge12=350
if rouge12Y < 55 then rouge12Y =55
if rouge12Y > 330 then rouge12Y = 330
'faire avancer le vaisseau
print #game, "spritexy rouge12";rouge12X;" ";rouge12Y
wait



[Timer_routines]
gosub [go_blueplanet]
gosub [go_spider]
gosub [go_meteroite]
gosub [go_alien]
gosub [go_shoot]
gosub [go_alien_bomb]
gosub [ennemy_destroyed]
gosub [ennemy_collision]
gosub [control_explo]
gosub [draw]
wait

[quit]

unloadbmp "bg"
unloadbmp "explo1"
unloadbmp "explo2"
unloadbmp "explo3"
unloadbmp "explo4"
unloadbmp "explo5"
unloadbmp "meteroite"
unloadbmp "blueplanet"
unloadbmp "spider1"
unloadbmp "spider2"
unloadbmp "rouge12"
unloadbmp"redshot"
unloadbmp"alien1"
unloadbmp "alien2"
unloadbmp "alien3"
unloadbmp "bomb"
unloadbmp "bigexplo1"
unloadbmp "bigexplo2"
unloadbmp "bigexplo3"
unloadbmp "bigexplo4"
unloadbmp "bigexplo5"


close #game
end


'faire avancer la planete bleue
[go_blueplanet]
'vérifier d'abord la position de la planete
#game, "spritexy? blueplanet bpX bpY"
'si la planete dépasse le bord inférieur de la fenêtre, la replacer en haut, 50 pixels plus à droite

if bpY>400 then
'si la planete depasse le bord droit, la replacer sur le coté gauche
if bpy>350 then
bpX=50:bpY=-50
end if
#game, "spritexy blueplanet";bpX;" ";bpY
end if
'déplacer de 4 pixels à la fois vers le bas
bpY=bpY+4
#game, "spritexy blueplanet";bpX;" ";bpY
return

'faire avancer l'araigné
[go_spider]
#game, "spritexy ? spiderX spiderY"
if spiderY>400 then
spiderX= int(rnd(0)*350)+1
spidery=0
#game, "spritexy spider";spiderX;" ";spiderY
end if
spiderY=spiderY+5
#game, "spritexy spider";spiderX;" ";spiderY
return

'faire avancer la météroite
[go_meteroite]
#game, "spritexy ? meteroite metX metY"
'si la meteroite déborde de n'importe quel coté
if metX > 450 or metY > 480 or metX < 0 or metY < 0 then
metY=int(rnd(0)*400)+1
'si la meteoite vient d'une direction gauche droite 'la faire répartir dans une direction droite gauche
if gauche=0 then
metX=450
gauche=1
#game, "spritexy meteroite -2 1"
'sinon c'est le contraire
else
metX=0
metY=0
#game, "spritemovexy meteroite 2 1"
end if
#game,"spritexy meteroite"; metX;" ";metY
end if
return

'faire avancer l'alien
[go_alien]
#game, "spritexy? alienX alienY"
if alienX > 450 or alienY > 480 or alienX < 0 or alieny < 0 then
alienY=int(rnd(0)*100)+1
if agauche = 0 then
alienX =0
agauche = 1
#game, "spritemovexy alien 5 4"
else
alienX=450
alienY=0
#game, "spritemovexy alien -5 4"
end if

#game, "spritexy alien";alienX;" ";alienY
end if
return

'tirer le laser rouge
[shoot]
'vérifier que nous ne sommes déjà pas en train de tirer
if shotactive=0 and bigexploactive=0 then
shotactive=1
'placer le projectile au bout du canon
redshotY=rouge12Y
redshotX=rouge12X+19
'afficher le projectile avec bruitage
print #game, "spritexy redshot ";redshotX;" ";redshotY
playwave "laser.wav",async
end if
return

'faire avancer le projectile du vaisseau spatial
[go_shoot]
#game, "spritexy? redshotX redshotY"
'si le projectile déborde, indiquer que l'on peut tirer un autre laser
if redshotY < -5 then
'laisser le projectile hors de vue
redshotX=-5:redshotY=-5
shotactive=0
end if
#game, "spritemovexy redshot 0 -20"
return

'faire avancer la bombe de l'alien
[go_alien_bomb]
#game, "spritexy? bomb bombX bombY"
if bombY>400 then
#game, "spritexy? alien alienX alienY"
bombX=alienX
bombY=alienY+10
#game, "spritexy bomb";bombX;" ";bombY
'ne pas éméttre de son si le vaisseau est en dehors de la fenêtre
if bombY<380 and bombX<350 then playwave"alien_bomb.wav",async
end if
bombY=bombY+10
#game,"spritexy bomb";bombX;" ";bombY
return

[ennemy_destroyed]
'vérifier l'identité de l'ennemi
#game, "spritecollides redshot list$"
if list$="blueplanet" then
'faire en sorte que la planète réapparaisse 50 pixels plus à doite
bpX=bpx+50
#game, "spritexy blueplanet";bpX;" ";-50
'faire disparaitre le laser
redshot=500:redshot=500
#game,"spritexy redshot";redshotX;" ";redshotY
'indiquer que le joueur a le doirt de tirer
shotactive=0
playwave"explosion.wav",async
end if
if list$="spider" then
spiderX=spiderX+50
#game, "spritexy spider ";spiderX;" ";-50
redshotX=500:redshot=500
#game, "spritexy redshot";redshotX;" ";redshotY
shotactive=0
playwave "explosion.wav",async
end if
if list$="meteroite" then
#game, "spritexy meteroite ";metX;" ";-50
redshotX=500: redshotY=500
#game, "spritexy redshot ";redshotX;" ";redshotY
shotactive=0
playwave"explosion.wav",async
end if
if list$="bomb" then
#game, "spritexy? alien alienX alienY"
bombX=alienX
bombY=alienY+10
#game, "spritexy bomb";bombX;" ";bombY
redshotX=500:redshotY=500
#game, "spritexy redshot";redshotX;" ";redshotY
shotactive=0
playwave"explosion.wav",async
end if
if list$="alien" then
if exploactive=0 then
'repérer la position du redshot
#game, "spritexy? redshotX redshotY"
' et y mettre l'explosion à la place
#game, "spritexy explo";redshotX;" ";redshotY
playwave"explosion.wav",async
'indiquer maintenant qu'une explsion est en cours
exploactive=1
end if
#game, "spritexy alien ";alienX;" ";450
redshotX=500:redshotY=500
#game,"spritexy redshot";redshotX;" ";redshotY
shotactive=0
playwave"explosion.wav",async
end if
return

'le joueur rentre en collisin avec un ennemi
[ennemu_collision]
#game, "spritecollides rouge12 list$"
if list$="blueplanet" or list$="meteroite" or list$="alien" or list$="spider"then
'si une grosse explosion n'est pas déjà en cours
if bigexploactive=0 then
'repérer l'emplacement de rouge12
#game,"spritexy? rouge12X rouge12Y"
'remplacer rouge12 par la grosse explosion
#game, "spritexy biexplo";rouge12X;" ";rouge12Y
'rendre rouge12 invisible pour l'instant
#game, "spritevisible rouge12 off"
playwave"bigexplo.wav",async
bigexploactive=1
end if
end if
return


[control_explo]
if exploactive = 1 then explocount = explocount + 1
if explocount > 20 then
exploactive = 0
explocount = 0
#game, "spritexy explo 500 500"
end if
if bigexploective=1 then bigexplocount=biexplocount + 1
'quand l'explosion a terminé
if bigexplocount > 20 then
bigexploactive=0
bigexplocount=0
'la faire disparaitre
#game, "spritexy bigexplo 500 500"
'et remettre le vaisseau à sa place de départ
rouge12X=180:rouge12Y=320
#game, "spritexy rouge12";rouge12X;" ";rouge12Y
#game, "spritevisible rouge 12 on"
end if
return


return


[draw]
#game, "drawsprites";
return





et ben l'erreu cé sa
runtime error= spritexy spritename x y
sa te fait sa toi
pourtant ds mon programme cé bon non
stp tu peu me dire pourquoi
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS