Tout 82
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Rechercher
 
 

Résultats par :
 


Rechercher Recherche avancée

Connexion

Récupérer mon mot de passe

Chatbox externe


Derniers sujets
» [JEU] Mon voisin du dessous
Snake EmptyDim 16 Oct 2022 - 21:11 par Wistaro

» Bonne année 2018!
Snake EmptyVen 2 Nov 2018 - 19:42 par Ti64CLi++

» Lancement du TI-Concours 2017 !
Snake EmptySam 20 Mai 2017 - 0:27 par Paulo1026

» Chaînes Youtube des membres
Snake EmptyVen 19 Mai 2017 - 22:41 par Wistaro

» cacul du taux d'intêret
Snake EmptyVen 24 Mar 2017 - 21:50 par m@thieu41

» [Projet] Un mario by tout82
Snake EmptyDim 29 Jan 2017 - 14:09 par Wistaro

» Cherche documentation assembleur TI82stat
Snake EmptyMer 25 Jan 2017 - 12:29 par Ti64CLi++

» Probleme Ti-82 Stats fr
Snake EmptyJeu 12 Jan 2017 - 13:56 par Ti64CLi++

» ROM 82 stats.fr
Snake EmptyJeu 15 Déc 2016 - 10:24 par Ti64CLi++

Partenaires
TI-Planet Espace-TI : Forum

Faire un don à Tout-82...
Où va cet argent ?
Membres donateurs:- Persalteas (10€)
- Wistaro (5€)
- jo2geek (22€)

Les posteurs les plus actifs du mois
Aucun utilisateur

Le Deal du moment : -20%
Ecran PC GIGABYTE 28″ LED M28U 4K ( IPS, 1 ms, ...
Voir le deal
399 €

Snake

5 participants

Aller en bas

Snake Empty Snake

Message par pito2901 Sam 5 Oct 2013 - 17:06

je dispose du snake de ratuss, et j'aimerai pouvoir comprendre son fonctionnement. J'espère que vous voudrez bien m'aider.
J'ai fait un montage du programme pour y voir un peu plus clair et je vous demande à présent si vous pouvez me dire à quoi sert:
• La variable P
• Les variables A, B, C, D, E et N (j'ai compris pour O)
• comment fonctionne le lbl C
• à quoi servent les lbl 2,3,4,5
• le rôle de "partDéc", "dim(" (je pense que c'est pour définir le nombre de lignes dans une liste, "ent("
Merci d'avance.
Lien de l'image (passer l'annonce en haut à droite de la page)
pito2901
pito2901
Passioné
Passioné

Messages : 532
Points Concours : 1
Productivité : 12
Date d'inscription : 02/09/2013
Localisation : Nevers
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

http://www.clictune.com/id=179469

Revenir en haut Aller en bas

Snake Empty Re: Snake

Message par m@thieu41 Sam 5 Oct 2013 - 17:26

Le programme de Ratuss date de 2006.
Il est très bien niveau graphisme et vitesse du jeu.
C'est devenu un incontournable dans les prgm de la communauté tout 82 (plus de 50 pages de réponses pour ce prgm, ce n'est pas rien).

Néanmoins, il y a quelques années, on programmais essentiellement avec des étiquettes (Goto/Lbl), et le prgm de ratuss n'est fait pas exception.
Or, les Goto/Lbl peuvent interférer avec les boucles (http://tout82.free.fr/forum/sujet.php?sujet=2757), et sont relativement déconseillés pour les jeux fluides (par contre pour les Menus et prgm qui ne demandent pas un affichage rapide ils sont pratiques je veux bien l'admettre).
En plus, la vitesse des Lbl/Goto n'est pas très intéressante par rapport aux boucle.
C'est pourquoi je pense qu'il vaut mieux, si tu veux étudier des prgm pour apprendre des techniques, te pencher sur des prgm qui utilisent les boucles plutôt que les Goto/Lbl.
Mais après c'est à toi de voir.

Pour revenir à tes questions:
partDéc(nombre) donne la partie décimale d'un nombre (.45 pour 67.45 par exemple)
ent(nombre) donne une troncature du nombre (67 pour 67.45)
dim(Liste) c'est la dimension d'une liste (son nombre de termes)
m@thieu41
m@thieu41
----------------------
----------------------

Messages : 939
Points Concours : 65
Productivité : 47
Date d'inscription : 02/06/2013
Localisation : Nice, France
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Revenir en haut Aller en bas

Snake Empty Re: Snake

Message par pito2901 Sam 5 Oct 2013 - 17:39

Et alors connais tu et testé des pgrm de snake aussi bien ?
pito2901
pito2901
Passioné
Passioné

Messages : 532
Points Concours : 1
Productivité : 12
Date d'inscription : 02/09/2013
Localisation : Nevers
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

http://www.clictune.com/id=179469

Revenir en haut Aller en bas

Snake Empty Re: Snake

Message par ashtrail Sam 5 Oct 2013 - 18:09

Avant d'essayer de le comprendre il faut déjà être assez doué. Je ne le comprends pas moi-même (peut-être en mettant tout le prog au clair?). Si tu ne l'as déjà pas fait je te conseille de tuto de mdr1 : http://www.siteduzero.com/informatique/tutoriels/apprenez-a-programmer-en-ti-basic . C'est déjà ça. De plus certaines des instructions sont des trucs d'optimisation assez complexe. Il ne faut aller plus vite que la musique comme on dit. Bref tout ça pour dire : es-tu sur que tu veuille en comprendre le fonctionnement maintenant ou par toi-même plus tard? Et est-ce qu'au final ça t'aidera vraiment si quelqu'un t'explique tout sans que tu réfléchisse?
ashtrail
ashtrail
Connaisseur
Connaisseur

Messages : 248
Points Concours : 21
Productivité : 21
Date d'inscription : 18/06/2013
Localisation : Paris
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

http://ti-freeworld.fr1.co/

Revenir en haut Aller en bas

Snake Empty Re: Snake

Message par persalteas Dim 6 Oct 2013 - 14:48

Je connais un snake plus long, plus joli, et mieux programmé que celui de Ratuss, mais qui ne vient pas de Tout-82, il s'agit de celui de Xpro si certains connaissent...

J'en ai uploadé une version modifiée sur ce topic Smile

Pour ce qui est d'apprendre à programmer, c'est plus facile de poser les questions une par une Smile

Mais nous serons ravis de t'aider ! Very Happy

persalteas
persalteas
----------------------
----------------------

Messages : 483
Points Concours : 152
Productivité : 39
Date d'inscription : 06/12/2012
Localisation : Savoie, France
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

https://tout82.forumactif.org

Revenir en haut Aller en bas

Snake Empty Re: Snake

Message par Linkakro Lun 7 Oct 2013 - 2:06

Je peux essayer de vous expliquer plus tard quasiment tous les snakes intéressants de tout82. Je les ai étudié un par un pendant des jours.

Je peux déjà répondre aux choses déjà mentionnées.

Xpro utilise un balayage des routines à chaque changement de direction, je trouve ça bourrin mais ça marche, en permettant que chaque boucle soit épurée des codes des autres directions et de tout test.

L'idée d'épurer les boucles ne m'avait jamais préoccupé, pas avant que quelqu'un (PolyMorph je crois) ne lance la problématique, et Xsnake avait évidemment été mentionné à cette occasion.

Sangohan38 et Ratuss ont toujours abusés des Gotos. (les autres je ne sais plus)
Cependant il y a des raisons.
Voyez mon article dédié à DelVar/Lbl/End. La calculatrice parcoure les programme à la recherche des mots clés, mais pas de la même façon selon qu'elle cherche un Lbl ou un End/Else.
La recherche de End porte sur tous les ":" et l'interprétation des priorités opératoires pour détecter les ":" qui ne sont pas dans des chaines de caractères. La recherche des Lbl ne recherche que les retours à la ligne suivis de Lbl.
Ainsi il est possible que les Lbl soient plus rapides même si c'est rarement flagrant.
Mais les Lbl provoquent la recherche depuis le début du programme... ce qui gène si le programme est trop long.
Vibra a séparé la routine basée sur Ratuss du reste du programme, pour que les Goto/Lbl ne fassent pas ralentir.

J'ai moi-même créé des serpents de mauvaise qualité, puis inventé tout seul la même technique de pointeur dans liste utilisée avant moi par Ratuss,Vibra,Xpro,..., et après par Sandro ,...
Ce que j'ai fait de mieux est au TI-Concours, pas pris le temps de publier quand j'aurais pu y penser.
Spoiler:

Les questions de pito :

fPart,iPart,ent,parDéc
http://tout82.free.fr/forum/sujet.php?sujet=2317

dim = longueur de la liste

.7349=fPart(Liste6(1 sert à vérifier que la liste n'a pas été piraté ou modifiée, puisque .7349 est ajouté à la liste lors des sauvegardes.

:6+50fPart((A+C)/50 calcule le reste de la division par 50 de A+C puis ajoute 6. Cela permet de créer un modulo par 50 et passer d'un bord de l'écran à l'autre.

:round(1+NfPart(E/N),0=>E fait un modulo par N et arrondi pour éviter des erreurs de calculs.
En effet utiliser fPart dans les calculs de division n'est pas parfaitement fiable.
Le pointeur E suit un cycle de 1 à N.

P c'est le niveau.
N c'est la longueur du serpent, enfin !
E est le pointeur dans la liste des coordonnées pour trouver les coodonnées de la queue du serpent et stocker la tête.
A et B sont les coordonnées, C et D sont les variations de coordonnées lors des déplacements.

Le Lbl C affecte P pour qu'il soit différent de si on avait choisi le niveau D. Cela permet d'avoir une seule routine pour deux niveaux.

Lbl 5 est suivi de la création d'une pomme à manger.
Lbl 2 : début de la routine normale.
Lbl 4 : collision avec obstacle ou pomme
Lbl 3 : endroit de reprise de la routine après création d'une pomme (en particulier si on en a mangé une), cela permet d'éviter des actions qui se répéteraient sinon.
Linkakro
Linkakro
----------------------
----------------------

Messages : 533
Points Concours : 55
Productivité : 31
Date d'inscription : 30/07/2013
Localisation : origine région centre, puis perpignan
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Revenir en haut Aller en bas

Snake Empty Re: Snake

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum