Le Forum de TI-BANK.fr

Le forum de la banque de programmes pour calculatrices graphiques Texas Instruments (aide débutants, résolution problèmes...).
Accueil­Portail­Calendrier­FAQ­Rechercher­S'enregistrer­Membres­Groupes­Connexion
Poster un nouveau sujet   Répondre au sujetPartager | 
 

 Code snake

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : Précédent  1, 2
AuteurMessage
Bisam
Elite
Elite


Masculin Age: 32
Classe: Prof de Maths Sup
Calculatrice(s): Voyage 200 + TI 92 (de 1996)
Messages: 793
Efficacité: 7
Localisation: Lyon
Date d'inscription: 11/03/2008

Divers
Dernière note en maths: 14.8/20 à la 2ème épreuve de l'agreg 2000

MessageSujet: Re: Code snake   Ven 18 Sep - 18:00

L'idée pour la liste est de stocker temporairement toutes les positions occupées par le corps de ton serpent (en plus ça te sera utile pour détecter les collisions).

Au départ, si tu fais un serpent de longueur 10, tu enregistres la position de chaque point du serpent dans 2 listes (une pour les abscisses et une pour les ordonnées) comme on te l'a conseillé. Ensuite, à chaque déplacement, il faut :
1) ajouter les nouvelles coordonnées au début de la liste (puisque c'est la tête, c'est le plus logique)
2) afficher le nouveau point
3) effacer le point de la queue
4) raccourcir la liste en éliminant le point de la queue que l'on vient d'effacer.

Si tu veux ensuite agrandir ton serpent, il te suffit de sauter les 2 dernières étapes.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur En ligne
tama
Animateur
Animateur


Masculin Age: 18
Classe: oui. (2ème année à l'Epita, sinon)
Calculatrice(s): TI-84+, TI89 tita HW3, TI89 tita HW4 (eh oui, 3 TI :#geek#:)
Messages: 10280
Efficacité: 29
Localisation: Paris ... dans un rayon de 15 km
Date d'inscription: 19/12/2005

Divers
Dernière note en maths: 13/20

MessageSujet: Re: Code snake   Ven 18 Sep - 20:30

quelques précisions pour t'aider :
- pour augmenter toutes les coordonnées d'une liste, pas besoin de faire une boucle, il suffit juste de faire 1+liste->liste pour augmenter tous les éléments de 1
Par exemple, 1+L1 -> L1 augmentera automatiquement tous les éléments de L1 de 1

- Pour effacer le point de la queue de la liste, il suffit de
1. récupérer le nombre d'éléments d de la liste avec dim()
2. mettre une nouvelle "taille" pour la liste à d-1

Par exemple :
{1,2,3,4,5->L1
dim(L1->D // D=5
D-1->dim(L1 //L1 = {1,2,3,4}

_________________
Modérateur des salons z80

Lisez le Journal de tibank, y a du bon ! :)

Envie de nous voir IRL ? participez à la réunion Nord de tibank !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://tamast.actifforum.com/index.htm
mp35
Débutant
Débutant


Masculin Age: 15
Classe: 1erS
Calculatrice(s): TI-82 stats.fr , TI collège , TI GALAXIE 40
Messages: 13
Efficacité: 0
Localisation: Rennes
Date d'inscription: 16/09/2009

MessageSujet: Re: Code snake   Ven 18 Sep - 23:37

Ok merci jvais essayer de mettre en pratique tout ca .
Mais en attendant j'ai testé de faire quelques niveaux mais je rencontre un problème:

Ma fonction "ligne(" marche vraiment bizarrement pour vous donner un exemple :




Sauf que moi ba se va rien m'afficher on ne voit pas la ligne.
on m'as dit Ligne(X1,Y1,X2,Y2
X1=coordonné X de point de départ
Y1=coordonné Y de point de départ
X2=coordonné X de d'arrivé
Y1=coordonné Y de d'arrivé

Mais cela ne fonctionne vraiment pas.Les coordonné ne réponde pas au bon endroit.
De même pour la fonction horizontale.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
mp35
Débutant
Débutant


Masculin Age: 15
Classe: 1erS
Calculatrice(s): TI-82 stats.fr , TI collège , TI GALAXIE 40
Messages: 13
Efficacité: 0
Localisation: Rennes
Date d'inscription: 16/09/2009

MessageSujet: Re: Code snake   Ven 18 Sep - 23:38

Ok merci jvais essayer de mettre en pratique tout ca .
Mais en attendant j'ai testé de faire quelques niveaux mais je rencontre un problème:

Ma fonction "ligne(" marche vraiment bizarrement pour vous donner un exemple :




Sauf que moi ba se va rien m'afficher on ne voit pas la ligne.
on m'as dit Ligne(X1,Y1,X2,Y2
X1=coordonné X de point de départ
Y1=coordonné Y de point de départ
X2=coordonné X de d'arrivé
Y1=coordonné Y de d'arrivé

Mais cela ne fonctionne vraiment pas.Les coordonné ne réponde pas au bon endroit.
De même pour la fonction horizontale.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Marco
Elite
Elite


Masculin Age: 19
Classe: PSI ISEP
Calculatrice(s): TI 83+
Messages: 645
Efficacité: 17
Localisation: 78
Date d'inscription: 22/03/2009

Divers
Dernière note en maths: -/20

MessageSujet: Re: Code snake   Ven 18 Sep - 23:41

Normal, tu mets des coordonnées en pixel alors que ce sont des coordonnées en point qui sont demandées. Du coup, le trait est en dehors de la fenêtre (WINDOW) et tu ne le vois pas.
Pour avoir ce que tu as mis plus haut, il faut mettre dans ta fenêtre :
Xmin = 0
Xmax = 94
Ymin = -62
Ymax = 0

Ne pas oublier que les Y sont alors en négatif pour les points.

EDIT : pour modération, message posté 2 fois. ^

_________________
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://marco781.free.fr
tama
Animateur
Animateur


Masculin Age: 18
Classe: oui. (2ème année à l'Epita, sinon)
Calculatrice(s): TI-84+, TI89 tita HW3, TI89 tita HW4 (eh oui, 3 TI :#geek#:)
Messages: 10280
Efficacité: 29
Localisation: Paris ... dans un rayon de 15 km
Date d'inscription: 19/12/2005

Divers
Dernière note en maths: 13/20

MessageSujet: Re: Code snake   Sam 19 Sep - 13:55

hmm moi je préfère mettre 0 dans Ymin et 62 dans Ymax, ça revient au même, il suffit juste d'adapter les coordonnées ensuite
en tout cas il faut avoir Xmax - Xmin = 94 et Ymax - Ymin = 62, tu peux aussi modifier les variables (delta)x et (delta)y et les mettre à 1 pour faire plus rapide

_________________
Modérateur des salons z80

Lisez le Journal de tibank, y a du bon ! :)

Envie de nous voir IRL ? participez à la réunion Nord de tibank !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://tamast.actifforum.com/index.htm
Marco
Elite
Elite


Masculin Age: 19
Classe: PSI ISEP
Calculatrice(s): TI 83+
Messages: 645
Efficacité: 17
Localisation: 78
Date d'inscription: 22/03/2009

Divers
Dernière note en maths: -/20

MessageSujet: Re: Code snake   Sam 19 Sep - 13:56

tama a écrit:
hmm moi je préfère mettre 0 dans Ymin et 62 dans Ymax, ça revient au même, il suffit juste d'adapter les coordonnées ensuite
en tout cas il faut avoir Xmax - Xmin = 94 et Ymax - Ymin = 62, tu peux aussi modifier les variables (delta)x et (delta)y et les mettre à 1 pour faire plus rapide

L'intérêt de mettre les Y en négatif est qu'on a juste à ajouter un - pour avoir les coordonnées en pixels.
Si on met Y en positif, il faut faire une soustraction, ce qui prend plus de place.

_________________
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://marco781.free.fr
Xywez
Animateur
Animateur


Masculin Age: 20
Classe: PSI
Calculatrice(s): Ti 84 + SE
Messages: 3877
Efficacité: 8
Localisation: Uranus
Date d'inscription: 11/05/2006

Divers
Dernière note en maths: ** biiiip **

MessageSujet: Re: Code snake   Lun 21 Sep - 16:39

j'ai vu le snake aujourd'hui par marco, il c'est franchement pas mal pour un début ! bien joué :) maitenant reste à voir si il va pas perdre trop de rapidité avec le reste du code...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
tama
Animateur
Animateur


Masculin Age: 18
Classe: oui. (2ème année à l'Epita, sinon)
Calculatrice(s): TI-84+, TI89 tita HW3, TI89 tita HW4 (eh oui, 3 TI :#geek#:)
Messages: 10280
Efficacité: 29
Localisation: Paris ... dans un rayon de 15 km
Date d'inscription: 19/12/2005

Divers
Dernière note en maths: 13/20

MessageSujet: Re: Code snake   Lun 21 Sep - 17:07

Marco>ah woué, pas bête
enfin, c'est l'habitude ... depuis le début j'ai fait comme ça ^^

_________________
Modérateur des salons z80

Lisez le Journal de tibank, y a du bon ! :)

Envie de nous voir IRL ? participez à la réunion Nord de tibank !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://tamast.actifforum.com/index.htm
 

Code snake

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 2 sur 2Aller à la page : Précédent  1, 2

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Le Forum de TI-BANK.fr :: Forum TIz80 :: Programmation-
Poster un nouveau sujet   Répondre au sujet