π
<-

Opti-Défi n°2 : Snake

Re: Opti-Défi n°2 : Snake

Unread postby grosged » 04 Jun 2014, 20:41

Moi, le mien s'appelle SERPENT (même nombre de caractères que AVEMDR1)

Alors, au départ le serpent ne doit pas forcément appaître complètement ?
@Mathieu : ton serpent d'une case s'allonge pendant ses 4 premiers pas, alors?

Au fait ,j'ai oublié ça : quand le serpent se plante, j'affiche un caractère ("différent") à l'endroit de la collision (optionnel, j'avoue)

et quand j'affiche le score final c'est , par ex :
score:100
User avatar
grosgedVIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 32.5%
 
Posts: 776
Images: 92
Joined: 14 Sep 2011, 12:29
Gender: Male
Calculator(s):
MyCalcs profile

Re: Opti-Défi n°2 : Snake

Unread postby m@thieu41 » 04 Jun 2014, 21:16

@Mathieu : ton serpent d'une case s'allonge pendant ses 4 premiers pas, alors?

Mdr ^^

Oui c'est ça :)

Tu gaspilles beaucoup d'octets ça te ressemble pas :p
User avatar
m@thieu41Premium
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 71.3%
 
Posts: 230
Joined: 20 Jun 2013, 14:24
Gender: Male
Calculator(s):
MyCalcs profile
Class: TS

Re: Opti-Défi n°2 : Snake

Unread postby grosged » 04 Jun 2014, 21:19

@mathieu : -mmm, attends, attends : j'm'échauffe à peine, là ! héhé :)

Pour vous dire à quel point j'suis long à la détente :
y a un truc encore flou : pendant la partie , c'est bien la taille du serpent qu'on affiche en permanence?... ou le score ? :help:
User avatar
grosgedVIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 32.5%
 
Posts: 776
Images: 92
Joined: 14 Sep 2011, 12:29
Gender: Male
Calculator(s):
MyCalcs profile

Re: Opti-Défi n°2 : Snake

Unread postby m@thieu41 » 04 Jun 2014, 22:24

On affiche le score! ^^

C'est pour ça que le ré-afficher à la fin... :p
User avatar
m@thieu41Premium
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 71.3%
 
Posts: 230
Joined: 20 Jun 2013, 14:24
Gender: Male
Calculator(s):
MyCalcs profile
Class: TS

Re: Opti-Défi n°2 : Snake

Unread postby Wistaro » 05 Jun 2014, 16:42

J'ai raté ce défi ! Bon, de toute façon je n'ai pas trop le temps en ce moment ^^

Pour le prochain, je serais là !
Nouveau sur le site, ClaudeBot [spider] ? Avant de poster sur le chat et sur le forum, n'oublie pas de lire les règles. En cas de problème, tu peux m'envoyer un message, je réponds rapidement.

Liens utiles:
Image
Découvre mes programmes et mon site!
User avatar
WistaroSuper Modo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 88.5%
 
Posts: 3191
Images: 37
Joined: 25 Feb 2013, 16:21
Location: Toulouse
Gender: Male
Calculator(s):
MyCalcs profile
Class: Ingénieur en électronique
YouTube: Wistaro
Twitter: Wistaro
GitHub: Wistaro

Re: Opti-Défi n°2 : Snake

Unread postby m@thieu41 » 05 Jun 2014, 17:09

Le défi n'est pas finis tu peux toujours proposer un truc ;)
User avatar
m@thieu41Premium
Niveau 11: LV (Légende Vivante)
Niveau 11: LV (Légende Vivante)
Level up: 71.3%
 
Posts: 230
Joined: 20 Jun 2013, 14:24
Gender: Male
Calculator(s):
MyCalcs profile
Class: TS

Re: Opti-Défi n°2 : Snake

Unread postby Wistaro » 06 Jun 2014, 13:27

Mouai mais bon x)
Nouveau sur le site, ClaudeBot [spider] ? Avant de poster sur le chat et sur le forum, n'oublie pas de lire les règles. En cas de problème, tu peux m'envoyer un message, je réponds rapidement.

Liens utiles:
Image
Découvre mes programmes et mon site!
User avatar
WistaroSuper Modo
Niveau 15: CC (Chevalier des Calculatrices)
Niveau 15: CC (Chevalier des Calculatrices)
Level up: 88.5%
 
Posts: 3191
Images: 37
Joined: 25 Feb 2013, 16:21
Location: Toulouse
Gender: Male
Calculator(s):
MyCalcs profile
Class: Ingénieur en électronique
YouTube: Wistaro
Twitter: Wistaro
GitHub: Wistaro

Opti-Défi n°2 : Snake

Unread postby grosged » 08 Jun 2014, 21:43

Bon!..j'ai de nouveau planché sur le sujet... voici ma 2ème version du programme (nommé SERPENT) en...306 / 309 octets :p

Show/Hide spoilerAfficher/Masquer le spoiler
ClrHome //efface l'écran
Disp "ØØØØØ //affiche le serpent ( long de 5 cases au départ)
16→Z // nb de colonnes de l'écran
"1+int(Z¯¹(Ans–1→Y1 // calcule la ligne de la position dans Ans
"1+ZfPart(Z¯¹(Ans–1→Y2 // calcule la colonne ...
{2,3,4,5→L1 // positions successives de la queue
8Z→dim(L1 // liste contenant le terrain (128 cases)
DelVar SZ→D //score à 0, Direction=16 (vers le bas)
5→T:1→Q // position de la tête, et de la queue
Lbl Ø
Z–(S>9 // colonne où l'on ...
Output(1,Ans,S // affichera le score
Ans→L1(Ans // marque cet emplacement d'une valeur autre que 0
While L1(Ans // détermine au hasard
randInt(1,8Z // l'emplacement d'une nouvelle denrée
End
Output(Y1,Y2,1 // puis l'affiche
9→L1(Ans // et marque sur le terrain (liste L1)
S+1→S // incrémente le score
Lbl 1
getKey // scrute le clavier
(Ans=26)–(Ans=24)+Z((Ans=34)–(Ans=25 //(gauche:-1 droite: 1 haut: -16 bas: 16)
If Ans:Ans→D // si l'une des flèches appuyées alors nouvelle direction dans D
T+D // va maintenant gérer les bords du terrain (téléporteurs)
Ans–Z(8(D²>1)((Ans>8Z)–(Ans<1))+D(D²=cos(π8¯¹(T–not(D+1→L1(T
Ans→T // mets à jour la position de la tête
Output(Y1,Y2,Ø // et l'affiche
If 9=L1(T // si on tombe sur la denrée
Goto Ø // alors on n'efface pas la queue
Q→W // efface la queue
Output(Y1,Y2,"░ // au moyen d'un espace
L1(Q→Q //nouvelle position de la queue
Ø→L1(W // marque d'un 0 à l'ancienne position
If not(L1(T // la tête a-t-elle heurtée qqchose?
Goto 1 // non? alors on continue

http://tiplanet.org/modules/archives/do ... l&id=71184
User avatar
grosgedVIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 32.5%
 
Posts: 776
Images: 92
Joined: 14 Sep 2011, 12:29
Gender: Male
Calculator(s):
MyCalcs profile

Re: Opti-Défi n°2 : Snake

Unread postby TheMachine02 » 09 Jun 2014, 08:57

Intéressant :)

Sinon, je sais pas si ça pourrait permettre de grapiller quelques ooctets, mais je changerais bien le Lbl 1 : Goto 1 en Repeat not(...
Et si on sait que la condition est fausse au départ, en While L1(T: End :p
User avatar
TheMachine02Modo
Niveau 16: CC2 (Commandeur des Calculatrices)
Niveau 16: CC2 (Commandeur des Calculatrices)
Level up: 30%
 
Posts: 342
Images: 0
Joined: 16 Jan 2013, 18:27
Gender: Not specified
Calculator(s):
MyCalcs profile
Class: Médecine

Re: Opti-Défi n°2 : Snake

Unread postby grosged » 09 Jun 2014, 09:04

oui, j'y ai songé, mais ce qui m'embête c'est le "goto 0" à l'intérieur de cette boucle
(il aurait fallu une instruction comme "resume" dans certains basic)
en fait , j'ai eu recours à ces LBL GOTO car il y a 2 boucles imbriquées
(j'vais tester quand même...) ;)

EDIT: Bien tenté, TheMachine02 ! car j'ai testé
Code: Select all
LBL 1...If not(L1(T
remplacé par
Code: Select all
Repeat L1(T....End

Hé bien , la Ti l'accepte ! :D
Thanx , TheMachine02, (j'aurais pas osé) ;)
mon programme SERPENT fait maintenant 301 / 304 octets (5 octets grapillés tout de même ! )

ClrHome //efface l'écran
Disp "ØØØØØ //affiche le serpent ( long de 5 cases au départ)
16→Z // nb de colonnes de l'écran
"1+int(Z¯¹(Ans–1→Y1 // calcule la ligne de la position dans Ans
"1+ZfPart(Z¯¹(Ans–1→Y2 // calcule la colonne ...
{2,3,4,5→L1 // positions successives de la queue
8Z→dim(L1 // liste contenant le terrain (128 cases)
DelVar SZ→D //score à 0, Direction=16 (vers le bas)
5→T:1→Q // position de la tête, et de la queue
Lbl Ø
Z–(S>9 // colonne où l'on ...
Output(1,Ans,S // affichera le score
Ans→L1(Ans // marque cet emplacement d'une valeur autre que 0
While L1(Ans // détermine au hasard
randInt(1,8Z // l'emplacement d'une nouvelle denrée
End
Output(Y1,Y2,1 // puis l'affiche
9→L1(Ans // et la marque sur le terrain (liste L1)
S+1→S // incrémente le score
Repeat L1(T // tant que la tête va sur des cases vides (mis à part la denrée)
getKey // scrute le clavier
(Ans=26)–(Ans=24)+Z((Ans=34)–(Ans=25 //(gauche:-1 droite: 1 haut: -16 bas: 16)
If Ans:Ans→D // si l'une des flèches appuyées alors nouvelle direction dans D
T+D // va maintenant gérer les bords du terrain (téléporteurs)
Ans–Z(8(D²>1)((Ans>8Z)–(Ans<1))+D(D²=cos(π8¯¹(T–not(D+1→L1(T
Ans→T // mets à jour la position de la tête
Output(Y1,Y2,Ø // et l'affiche
If 9=L1(T // (exception de la denrée)
Goto Ø // alors on n'efface pas la queue
Q→W // efface la queue
Output(Y1,Y2,"░ // au moyen d'un espace
L1(Q→Q //nouvelle position de la queue
Ø→L1(W // marque d'un 0 à l'ancienne position
End // continue si la tête n'a rien heurté
Last edited by grosged on 09 Jun 2014, 09:33, edited 5 times in total.
User avatar
grosgedVIP++
Niveau 14: CI (Calculateur de l'Infini)
Niveau 14: CI (Calculateur de l'Infini)
Level up: 32.5%
 
Posts: 776
Images: 92
Joined: 14 Sep 2011, 12:29
Gender: Male
Calculator(s):
MyCalcs profile

PreviousNext

Return to TI-Basic

Who is online

Users browsing this forum: ClaudeBot [spider] and 4 guests

-
Search
-
Social TI-Planet
-
Featured topics
Ndless for CX 4.5.5 / CX II 6.2.0
Comparaisons des meilleurs prix pour acheter sa calculatrice !
"1 calculatrice pour tous", le programme solidaire de Texas Instruments. Reçois gratuitement et sans aucune obligation d'achat, 5 calculatrices couleur programmables en Python à donner aux élèves les plus nécessiteux de ton lycée. Tu peux recevoir au choix 5 TI-82 Advanced Edition Python ou bien 5 TI-83 Premium CE Edition Python.
Enseignant(e), reçois gratuitement 1 exemplaire de test de la TI-82 Advanced Edition Python. À demander d'ici le 31 décembre 2024.
Aidez la communauté à documenter les révisions matérielles en listant vos calculatrices graphiques !
12345
-
Donations / Premium
For more contests, prizes, reviews, helping us pay the server and domains...
Donate
Discover the the advantages of a donor account !
JoinRejoignez the donors and/or premium!les donateurs et/ou premium !


Partner and ad
Notre partenaire Jarrety Calculatrices à acheter chez Calcuso
-
Stats.
2911 utilisateurs:
>2883 invités
>21 membres
>7 robots
Record simultané (sur 6 mois):
32248 utilisateurs (le 01/09/2025)
-
Other interesting websites
Texas Instruments Education
Global | France
 (English / Français)
Banque de programmes TI
ticalc.org
 (English)
La communauté TI-82
tout82.free.fr
 (Français)