Autorisation : Membre
Nb de messages : 36
Inscrit le : Dim 12 Jui 2011, 17:50
Posté le : Sam 30 Juil 2011, 13:50
Voici une nouvelle version de mon générateur de forêt , nettemement améliorée, comme me l'avais conseillé de faire linkakro.
On peut sauvegarder en quittant, couper des arbres, et il y a un
curseur.
Par rapport à ma première version, on peut dire que c'est une belle
avancée.
Code
EffEcr
4->S:4->T
Menu("QUE FAIRE?","NEW",0,"CHARGER",1
Lbl 0
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}->lAX
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}->lAY
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}->lAT
For(L,1,20
entAléat(1,16->X
X->lAX(L)
entAléat(2,8->Y
Y->lAY(L)
entAléat(1,2->A
A->lAT(L):End
Lbl 1
For(L,1,20
lAX(L)->X
lAY(L)->Y
lAT(L)->A
If A=1
Output(Y-1,X,"O
If A=2
Output(Y-1,X,"Q
If A!=0
Output(Y,X,"I
End
While 1
Output(T,S,"+
codeTouche->K
If K=24 et S>1
Then
Output(T,S," "
S-1->S:Goto 1
End
If K=26 et S<16
Then
Output(T,S," "
S+1->S:Goto 1
End
If K=25 et T>1
Then
Output(Output(T,S," "
T-1->T:Goto 1
End
If K=34 et T<8
Then
Output(T,S," "
T+1->T:Goto 1
End
If K=105:Then
For(L,1,20
If S=lAX(L) et lAT(L)!=0 et T=lAY(L):Then
0->lAT(L)
EffEcr:Goto 1
End:End:End
End
:20
:rep->dim LAX
:rep->dim LAY
:rep->dim LAT
:remplir(0,LAX
:remplir(0,LAY
:remplir(0,LAT
Ce qui nous fait tout de même une économie de 97 octets
sinon il y a
Code
If A=1
peut s'écrire
If A
If A!=0
devient
If non(A!
Ah et
Citer
Output(Output(T,S," "
Il n'y aurait pas un output en trop?
Citer
If K=24 et S>1
Then
Output(T,S," "
S-1->S:Goto 1
End
If K=26 et S<16
Then
Output(T,S," "
S+1->S:Goto 1
End
If K=25 et T>1
Then
Output(Output(T,S," "
T-1->T:Goto 1
End
If K=34 et T<8
Then
Output(T,S," "
T+1->T:Goto 1
End
Peut s'écrire
Code
S-(K=24 et S>1)+(K=26 et S<16->S
T-(K=25 et T>1)+(K=34 et T<8->T
If K [différent de]0
Output(T,S," "
goto1
---------------------- En école d'ingénieurs depuis cette année.
Continue de programmer sur ma ti malgré les 3 tonnes quotidiennes de devoirs ^^
Fan de metallica et de tous autres groupes sachant jouer du vrai métal. (yeah!!!)
Autorisation : Membre
Nb de messages : 3767
Inscrit le : Lun 19 Oct 2009, 21:25
Posté le : Mar 02 Aoû 2011, 0:09
J'ai eu du mal à comprendre la fonction de déforestation par appui sur "entrer" et l'intérêt de rafraîchir complètement l'écran.
C'eût été bien de préciser que la nouveauté est la déforestation.
calcugeek :
Ton "goto 1" est faux car il ne doit être executé que si les touches flèches ou entrer sont pressées.
Un deuxième inconvénient est lié à cette façon de condenser les déplacements : si on appuie sur une touche innutile, cela provoque de nouveau le chargement de l'écran.
Ces problèmes se résolvent avec d'autres éléments du programme.
Autre hic : si deux arbres ont été générés pile au même endroit, la fonction de déforestation n'efface que le prmier et cela peut surprendre.
De plus le Goto qui provoque ça est à l'intérieur d'une boucle.
Lbl 1
For(L,1,20
L1(L)->X
L2(L)->Y
L3(L)->A
If A
Output(Y,X,"I
If A=1
Output(Y-1,X,"O
If A=2
Output(Y-1,X,"Q
End
Output(T,S,"+
Repeat somme(K={24,25,26,34,105
codeTouche->K
End
Output(T,S," "
min(16,max(1,S-(K=24)+(K=26->S
min(8,max(1,T-(K=25)+(K=34->T
If 105=K
Then
For(L,1,20
If S=L1(L) et T=L2(L) et L3(L
Then
0->L3(L)
EffEcr
End:End:End
Goto 1
Cette autre grosse modif évite de rafraîchir l'écran systématiquement. (plus beau mais plus lourd)
J'ai tenté de l'éviter aussi dans la fonction de déforestation.
J'ai même tenté de tenir compte des plans.
J'ai abandonné ces deux dernières idées car c'était bien compliqué.
Néanmoins j'ai conservé la façon d'afficher les arbres pour simuler les mêmes enchevêtrement que le prog original.
Lbl 1
Remplir(0,[A]
For(L,1,20
L1(L)->X
L2(L)->Y
L3(L)->A
If A
3->[A](Y,X
If A
Output(Y,X,"I
A->[A](Y-1,X
If A=1
Output(Y-1,X,"O
If A=2
Output(Y-1,X,"Q
End
Lbl 2
Output(T,S,"+
Repeat somme(K={24,25,26,34,105
codeTouche->K
End
Output(T,S," "
[A](T,S->A
If A=1
Output(T,S,"O
If A=2
Output(T,S,"Q
If A=3
Output(T,S,"I
min(16,max(1,S-(K=24)+(K=26->S
min(8,max(1,T-(K=25)+(K=34->T
If 105=K and A
Then
For(L,1,20
If S=L1(L) and T=L2(L) and L3(L
0->L3(L
End:End
If Rép
Goto 2
ClrHome
Goto 1
---------------------- ti82statfr: 2008, inscrit: 2009, ti84pocketfr: noël2011, ti30xbmultiview: iut 2012-2014
Perfectionniste, manque tact. Pas le temps de tout publier depuis 2011. Répond toujours aux questions. (rédigé juin 2014)
Autorisation : Membre
Nb de messages : 18
Inscrit le : Mar 01 Nov 2011, 19:00
Posté le : Jeu 03 Nov 2011, 15:15
Alors j'ai eu beaucoup de mal à comprendre toutes tes histoires de matrices, de min, de max, de x, de Y, etc ... et même maintenant c'est pas encore très clair mais je commence doucement à toucher du doigt ses notions
Simplement quand j'execute ton programme, parfois oui parfois non, il reste un ou deux arbres incoupables : quand je passe le + sur leur tronc, ces mêmes troncs disparaissent alors je suis très content que le tronc est disparu mais s'il y'a pas de tonc je peux pas faire disparaitre le " O" ou le "Q".
Si t'avais une solution miracle linkakro ...
cam! Invité
Posté le : Ven 04 Nov 2011, 19:30
Le programme n'a pas ete fait et reflechis par linkakro mais par moi déjà.
Ensuite linkakro ne fait que de corriger mais aussi critiquer les programmes. Sur ce , voilà.jespere que linkakro le sauveur taideras! Moi j'ai asser donne lol
Autorisation : Membre
Nb de messages : 18
Inscrit le : Mar 01 Nov 2011, 19:00
Posté le : Ven 04 Nov 2011, 21:54
si ca peut te faire plaisir :p
mais la CORRECTION DE TON PROGRAMME FAIT PAR LINKA.... offrait plus d'avantage donc j'ai plutôt testé cette corection mais ne tkt pas le tien m'a également beaucoup interessé et je te suis grandement reconnaissant de l'avoir crée ;p
Autorisation : Membre
Nb de messages : 878
Inscrit le : Sam 15 Oct 2011, 11:07
Posté le : Ven 04 Nov 2011, 23:29
Ouh ça c'était envoyé tonio
Allez euh cam une question ^^
A quoi peut bien servir ton programme ? Tu nous prépares un rpg sylvestre ? (remarque ça pourrait être sympa moi j'dis )
---------------------- La la la ...
Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL
Un problème de programmation ? Allez consulter ce tutoriel crée pour cela : TUTORIEL PROGRAMMATION
Vous avez un problème avec l'ordinateur avec votre calculatrice ? SOLUTIONEN VIDEO
Autorisation : Membre
Nb de messages : 18
Inscrit le : Mar 01 Nov 2011, 19:00
Posté le : Sam 05 Nov 2011, 11:38
nan mais sérieusement je trouvais que l'idée était bonne, on peut imaginer que dès qu'on coupe un arbre on gagne un " bois " et qu'après on aille le vendre pour tant de sou ou que ca nous permette de créer une arme ou n'importe quoi ... Quelques idées commencent à fleurir en moi
Autorisation : Membre
Nb de messages : 878
Inscrit le : Sam 15 Oct 2011, 11:07
Posté le : Sam 05 Nov 2011, 13:45
j'aurais plutot dit "quelques idées commencent a POUSSER en moi".
Non ?
---------------------- La la la ...
Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL
Un problème de programmation ? Allez consulter ce tutoriel crée pour cela : TUTORIEL PROGRAMMATION
Vous avez un problème avec l'ordinateur avec votre calculatrice ? SOLUTIONEN VIDEO
Autorisation : Membre
Nb de messages : 18
Inscrit le : Mar 01 Nov 2011, 19:00
Posté le : Dim 06 Nov 2011, 21:02
non fleurir c'est plus joli :p
et ca y est j'ai TOUT compris en fait, c'est quand je supprime un arbre alors qu'un autre arbre est caché en dessous, eh bien l'arbre caché en dessous ne peut plus être coupé ... c'est triste mais c'est ainsi, la j'ai plus ma calto mais dès que je la récupère, je trouverais une solution, ayez foi en moi !!!!!!!
Autorisation : Membre
Nb de messages : 878
Inscrit le : Sam 15 Oct 2011, 11:07
Posté le : Dim 06 Nov 2011, 23:17
Il y a des arbres cachés ... ? Uhh, va falloir que je recopie le programme pour y comprendre quelque chose moi !
Bon allez dès que je reçois la ti-84 pocket je regarde comment marche ti connect, je mets quelques petits (ou gros !) programmes, et après je regarde ça je suis intrigué
---------------------- La la la ...
Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL
Un problème de programmation ? Allez consulter ce tutoriel crée pour cela : TUTORIEL PROGRAMMATION
Vous avez un problème avec l'ordinateur avec votre calculatrice ? SOLUTIONEN VIDEO
Mes nouveaux programmes de calcul formel : FCarréFPrime
Projet base de données : ici mais abandonné. Trop de travail ...
cam! Invité
Posté le : Lun 07 Nov 2011, 0:34
Oui il y a des arbres "caches" xD
En fait pendant la generation il n'y a pas de condition pour savoir si
La place est déjà prise!
Voilà. Aufait ne vous prenez pas la tete pour ce programme sans importance.
Mais tonio tu m'a ptete donne une idee pour un rpg!
Autorisation : Membre
Nb de messages : 878
Inscrit le : Sam 15 Oct 2011, 11:07
Posté le : Lun 07 Nov 2011, 17:53
Oh non perso je me prend pas la teête j'aime résoudre des problèmes sans (à priori) importance
(et en l'occurence ça m'aide à comprendre le basic que de recopier divers programmes aussi )
---------------------- La la la ...
Avez-vous pensé à regarder le manuel avant de demander conseil ? Un manuel est fait avant tout pour être consulté : MANUEL
Un problème de programmation ? Allez consulter ce tutoriel crée pour cela : TUTORIEL PROGRAMMATION
Vous avez un problème avec l'ordinateur avec votre calculatrice ? SOLUTIONEN VIDEO
Autorisation : Membre
Nb de messages : 18
Inscrit le : Mar 01 Nov 2011, 19:00
Posté le : Lun 07 Nov 2011, 22:40
En fait avec un pote on voudrait faire un gros bon rpg sur 82, alors on a qq idées mais on en est au tout début et ca va surement nous prendre qq mois
En tout cas, content de servir à qqchose
Bon sinon j'ai trouvé une petite astuce qui fait perdre de son coté aléatoire un ton programme mais qui lui évite les bugs
Je remplace For(L,1,20 par For(L,1,16 et EntAleat(1,16 par L
Je vais encore y reflechir pour voir si on peut pas faire mieux mais je crois qu'on est arrivé à un bon compromis