Forum

Catégorie : Programmes
Forum : Les programmes des internautes
Vues : 12817
Réponses : 106
Type : discussion
Etat : réponses autorisées

Fall ( 531 octets) - Page 4 / 6

oO-Mars-Oo le 23/01/2009 à 20:43
Ba en faite tu vois le égal je peux le bouger a droite normalement et quant je le bouge a gauche il se retrouve dans le menu ou y a marquer "Score" et "vie"
Jcotnys le 24/01/2009 à 00:06
ben alors c'est les positions du vaisseau qui sont incorrect il faut les définir:
c'est du output : en vertical c'est du 8 et en horizontal du 16, je m'explique:
exemple : ma variable en vertical c'est X, celle en horizontal c'est Y
et ca dépend surtout de la "taille" de l'objet que tu déplace
Code

if X>0:1->
if X>8:7->X
if Y>16:15->X
if Y>0:1->Y

essaie d'appliquer cela par rapport à la "taille" du vaisseau
je vais tester le jeu et je dirai quoi en détail winkle.gif
oO-Mars-Oo le 24/01/2009 à 00:23
Oké merci je vais tester
Merci mais j'ai trouver l'erreur en regardant plus attentivement c'était un signe - que j'avais remplacer par
Code
(-)
minied.gif
sypotu le 14/11/2009 à 10:07
@ slip man
vérifie les Lbl et les Goto
slip man le 14/11/2009 à 10:56
ok ok
silp man le 14/11/2009 à 11:03
voila sa marche !
par contre jai pa compri ou c'est qu'il faut metre quoi pour que les 0 s'efface
WoKeRnOZ le 14/11/2009 à 16:28
Ben tu met un output
Genre, t'as
LbL 1 => Debut de la "boucle"
Output(X,Y,"0 => Tu affiche c'que tu veux
X+1->X => Tu fais descendre X de 1 case
Output(X-1'Y'" " => Tu met une case vide a l'ancien emplacement du 0
Goto 1 => Et ça recommence..

J'ai pas trop suivi le sujet, alors si c'est pas la reponse que tu attendais, excuse moi minied.gif
slip man le 15/11/2009 à 12:26
je suis un gros noob je capt pas ce que tu ma dis xD crazy.gif
si tu pouvais m'indiquer OU mettre QUOI sa serais génial ! mais merci kan meme laugh.gif
WoKeRnOZ le 15/11/2009 à 13:02
Ben en fait imagine le dessin
Code

-----------
|    0    |
|         |
|         |
|    ==   |
-----------



Tu veux faire descendre le 0 ok?
Ben au debut du code tu dois avoir un label, qui sert de boucle (l'endroit ou on reviendra une fois qu'on aura executé les commandes qu'on veut).
Apres tu tape le code (Le reste du jeu)
Au moment ou tu veux mettre la commande pour faire descendre le 0(comprends bien que tu peux le mettre a peu pres n'importe ou tant qu'il est dans la boucle), tu marque ça :

1)X+1->X
2)Output(X,Y,"0
3)Output(X-1,Y," "
4)Goto 1

Eplications :
1) Tu rajoutes 1 la valeur de X, X étant l'ordonnée du point 0
2) Tu affiches le 0(quand meme, il faut l'afficher bigmouth.gif)
3) Tu affiches un espace au dessus du 0, pour que le 0 ne laisse pas de trace quand il descend
4) tu retournes en haut de la boucle, ce qui va permettre de repeter la commande, donc de fairedescendre encore le de 1 case... ^^'
Compris ou pas? bigmouth.gif
Si tu bloque, dis moi ou crazy.gif
Si t'as rien compris... J'reesayerai d'expliquer mieux godgrace.gif
WoKeRnOZ le 15/11/2009 à 13:11
(L'étape 4) est OBLIGATOIRE)
Si tu ne fais que l'étape 1) et 4), tu obtiendras:
Code

-----------
|         |
|         |
|         |
|    ==   |
-----------

Parce que tu n'affichera pas le 0, ce que tu dois normalement faire avec la commande 2)

Si tu fais les étapes 2) et 4), tu auras :
Code

-----------
|    0    |
|         |
|         |
|    ==   |
-----------

Mais le 0 ne bougera pas.

Si tu fais les étapes 1),2) et 4), tu obtiendras:
Code

-----------
|    0    |
|    0    |
|         |
|    ==   |
-----------

Car si tu ne fais pas l'étape 3, le 0 ne s'éfface pas au fur et a mesure qu'il descend.

Si tu fais toutes les étapes, tu passera de ça:
Code

-----------
|    0    |
|         |
|         |
|    ==   |
-----------

A ça :
Code

-----------
|         |
|    0    |
|         |
|    ==   |
-----------

Et puis :
Code

-----------
|         |
|         |
|    0    |
|    ==   |
-----------




Sa va la? ^^' bigmouth.gif
dysto le 15/11/2009 à 13:15
WoW, merci pour ces explication Wokernoz !
WoKeRnOZ le 15/11/2009 à 13:15
(Omg triple post désolé comme mon internet bug, j'ai eu peur de devoir tout retaper ^^')

Code
0->S:3->V:11->X:80->F:1->Y:1->G
Lbl 0                    <== La boucle dont je te parlais
EffEcr
Disp "SCORE:"
Disp ""
Disp "VIES:"
1->Z
For(P,1,8)
Output(Z,7,"]
Z+1->Z:End
Lbl 2
entAleat(8,16->Z
S+1->S
G+1->G
Ig G=10:Then
0->G:V+1->V
F-10->F
End
Output(2,1,S)
Output(4,2,V)
Lbl 1
Output(8,X,"==
Output(Y,Z,"0                <== La fonction dont
For(Q,1,F)                   <== je te parlais,
End                          <== celle qui permet
Y+1->Y                       <== d'afficher le 0
Output(Y-1,Z," ")            <== et d'enlever sa trace
If Y=8:Goto 3
codeTouche->T
If T[différent de]0
Output(8,X,"  ")
If T=24:X-1->X
If T=26:X+1->X
If T=24 et X=7:16->X
If T=26 et X=16:8->X
Goto 1
Lbl 3
1->Y
If X=Z ou X+1=Z:Goto 2
Lbl 4
Output(4,11,"PERDU
Pause
V-1->V
If V=-1:Then
Output(3,11,"Game
Output(4.11,"Over
Pause:Stop
End
S-1->S
Goto 0       <== La on retourne en haut, au debut d la boucle 
WoKeRnOZ le 15/11/2009 à 13:21
De rien bigmouth.gif
J'espere que je suis assez claire, du moins j'espere avoir été utile happy.gif
slip man le 15/11/2009 à 13:26
VOUS ETE GENIAL !! godgrace.gif
deja j'ai compris le truc !
et en plus sa marche
PS: vous savez pourquoi sa marchait pas les 0 qui s'efface c'est a coe de moi !
j'avai taper
Output(Y-1,2," ") crazy.gif crazy.gif crazy.gif crazy.gif
au lieu de
Output(Y-1,Z," ")
xD cupsmiley.gif cupsmiley.gif cupsmiley.gif cupsmiley.gif cupsmiley.gif cupsmiley.gif cupsmiley.gif
WoKeRnOZ le 15/11/2009 à 13:31
laugh.gif
Content qu'on t'ai aidé happy.gif
slip man le 15/11/2009 à 13:31
AUSSI !!
es que il serai possible de faire un truc qui sauvegarde les score
et AUSSI !!
moi mes vie marche pas ! cry.gif
elle augmente tous les 10 point mais quand je perd le jeu recomance a 0
WoKeRnOZ le 15/11/2009 à 13:39
D'abord pour sauvegarder...
Au debut du code, tu genere une "Liste"
Tu vois les boutons L1, L2,....,L6? Faut faire [2nde] et un num de 1 a 6
Donc vers le debut de ton code tu peux mettre:
Code
1->dim(L1 par exemple

J'texplique:
Quand tu ecris cette commande, sa veut dire que tu creer la liste1, qui pourra contenir 1 variable(d'où le 1 du debut dela ligne); Ensuite:
Il suffit de prendre le score de quand tu perd :
Une fois que tu as perdu, dans ton code, tu dois avoir un truc du genre :
Code
Output(4,10,"perdu
Et ben juste apres, tu marque
If S>L1(1)              <== Si le score et plus grand que la variable contenue
Then                          dans la liste 1(ton ancien meilleur score quoi..
S->L1(1)                <== Tu sauvegarde S(le score) dans la variable 1 de la
Effecr                         liste
Output(5,3,"Nouveau record"   <=== Pour indiquer que l'utilisateur a fait un
Pause                               nouveau record
Stop
WoKeRnOZ le 15/11/2009 à 13:43
Pour les vies:
Mmh c'est bizarre moodforlove.gif
Je sais pas, je l'ai recopier, pour moi ça fonctionne.
Relis ton code, compare avec l'original, et puis regarde vers l'endroit ou on fait varier les vies, t'as du faire une faute de recopiage..
silp man le 15/11/2009 à 13:58
OUI RE exact c moi qui é mal recopier pour vie ^^ elle marche !!
merci aussi pour le score
silp man le 15/11/2009 à 14:04
bah enfaite sa marche pas le scord