Se connecter avec
S'enregistrer | Connectez-vous

Problème programmation Snake ti 84+

Dernière réponse : dans Programmation

Bonjour à tous ! :hello: 
Je me suis lancé dans la programmation d'un snake sur calculatrice ( Ti 84+ ) et j'ai déjà un peu avancé, mais là je suis tombé sur un petit problème : :??: 

Lorsque j'utilise un "getkey" dans la boucle ("while") qui dessine mon serpent, pour permettre les changement de direction, ça met le jeu en pause en attendant que je presse une touche pour dessiner un nouveau bout de serpent dans la direction choisie. Donc sa fonctionne, mais je voudrais que le serpent continue a avancer sans attendre que je presse une touche.

Voilà, j'espère avoir été assez clair dans mon explication et que vous allez pouvoir m'aider.
Merci. :D 

PS : Si vous connaissez un tuto de création de snake en Ti-Basic, c'est suffisant, merci.

Autres pages sur : probleme programmation snake

Lassé par la pub ? Créez un compte

Désolé, mais ça ne marche toujours pas, je tombe sur le même problème, ma boucle attend que j'appuie sur une touche pour continuer. Où dois-je positionner le getkey.
Avec un code source déjà fait, ce serait plus simple si quelqu'un aurait le courage de m'en écrire un juste pour diriger, même un seul pixel, pour voir.
Merci.

Voici mon code ( Pour l'exemple je n'utilise qu'un pixel et non un serpent ) :

Code Ti-Basic :

:Fnoff
:axesoff
:coordoff
:zoomsto
:clrdraw
:
:45=>x
:20=>y
:0=>s
:0=>k
:
:while s<7
:pxl-on(y,x
:getkey=>k
:
:if k=24
:x-1=>x
:
:if k=25
:y-1=>y
:
:if k=26
:x+1=>x
:
:if k=34
:y+1=>y
:
:End


Voila, je comprend bien pourquoi ça ne fonctionne pas, mais je ne vois pas d'autres solutions. Je n'ais pas utilisé ton conseil du "if k=0" car je ne sais pas du tout où le placer dans le code.
Merci de ton aide.

Oui je m'en doutais que c'était dans la boucle ^^ lol. :p  En fait je me suis mal exprimé, je ne savais pas comment faire continuer le serpent a avancer dans le "if k=0". :sweat: 

Je viens juste de trouver une solution :D  , j'enregistre les variables x et y avant de les modifier pour ( Grâce a des conditions ) demander à la machine s'il faut incrémenter la variable x ou y. C'est plus clair avec du code :

Code Ti-basic :

:Fnoff
:axesoff
:coordoff
:zoomsto
:clrdraw
:
:45=>x
:20=>y
:0=>s
:0=>k
:0=>z
:0=>w
:
:while s<7
: pxl-on(y,x
: getkey=>k
:
:if k=24
:Then
:x=>z
:y=>w
:x-1=>x
:end
:
:if k=25
:Then
:x=>z
:y=>w
:y-1=>y
:end
:
:if k=26
:Then
:x=>z
:y=>w
:x+1=>x
:end
:
:if k=34
:Then
:x=>z
:y=>w
:y+1=>y
:end
:
:if k=0
:then
:if x!=z
:then
:if z<x
:x+1=>x
:if z>x
:x-+1=>x
:end
:if y!=w
:then
:if w<y
:y+1=>y
:if w>y
:y-1=>y
:end
:end
:End



Mais ce code ne marche pas :cry:  lol.
En fait, ça me fait "syntax error" lorque je vais vers le haut ou le bas.
Pourtant ça marche sur les cotés ! :pt1cable: 
Et, lorsque je fait "goto", ça m'ammène dans la ligne ici colorée en rouge.
Cette solution de code dans le "if k=0" estalternative, danc si il yen a une autre ( Qui marche ^^ ) ou si vous pouviez trouvez une solution a ce bug, ce serais vraiment sypa. Merci.

Tu as surement du faire une erreur en mettant deux fois la même chose pour une touche ou inversement...
Je déteste lire le TI Basic... Ça fait ma au yeux ^^

Le plus simple c'est de faire une condition pour chaque touche, avec une condition k=0 pour que ton serpent avance. Et encore 4 autres conditions qui donnent une variable P selon le sens que doit prendre à chaque fois le serpent pendant une durée infini du k=0.

J'espère avoir été claire :) 

Ouais, c'est vrai que sans coloration de code, c'est assez chiant à lire^^.
Je vais essayer de mettre en pratique ce que tu viens de me dire, merci beaucoup de ton aide et de ta patience. ;) 

Puis si j'y arrive vraiment pas, c'est pas grave^^ j'écouterais en cours comme ça :lol:  .
En plus je sais que des tutos de création de snake en ti-basic sont en cours de construction donc...

Merci encore a +. :hello: 
Lassé par la pub ? Créez un compte
Tom's guide dans le monde