1
Bonjour a tous je suis plutot nouveau dans la communauté de Ti-iste... J'ai commencé a bidouiller ma calculette hier smile et ayant déja passé 2 heures dessus je me suis décider a essayer de faire un jeu (2 heures c'est court maus je trouvait le language assez simple comparer au visual basic sur pc que j'avais déja essayer il y a quelques années de ca smile ) donc pour le moment je n'ai rien programmer sur calculette (ou quasiment) et j'aimerais votre avis sur le code et le systeme de programmation que je vais vous exposer ci dessous smile Merci d'avance : (soyez sympa c'est mon 2eme jour de programmation smile tout à été tappé sur l'ordi donc ce n'est pas exactement la meme syntaxe que sur calculette ou je tepperais le programme plus tard ... en cours ^^ (francais) ) :


*Bon je commence d'abord par vous présentez un poil le jeu... Ce serait un peu un systeme a la World domin pour ceux qui connaissent (jeu ti posté sur le site et protégé d'ailleurs sorry) mais sans continents mais par contre avec différentes unités (5 : Cavalier, Archer, Artilleries, piquiers, fantassins) et 2 joueurs (pas en link, 2 sur la même calculette, je ferais l'IA ensuite j'ai déja une petite idée la dessus, une ia basée sur des rand).

*Le programme serait sous une forme composée de plusieurs programmes et le nombres d'or et d'unités de chaque joueurs serait tenu par des variables différentes.
Ainsi comme variable j'ai choisie (de base j'en donerais plus au fur et a mesure de la progression dans le code) : (C:cavaliers J1)((A:Archers j1) ... Juste pour vous donnez une idée grossières de ce que je souhaite faire, ca ne sert a rien que je vous liste tout ici.
J'ai aussi définie comme string1: "Cavaliers" String2 : "Archers" et de meme pour le reste.

J'ai annoté le code de ca qui est entre parenthèse pour facilité la compréhension, merci de me corriger si vous voyer une quelquonque erreur.(très probable vu mon niveauhappy

On passe maintenant au code que j'ai pensé pouvoir utilisé : (ce n'en est qu'une partie car tout vous mettre serait inutile car ca se repete ^^)

Pour le systeme de stats :
Disp "J.1"
Disp string1 (afficher "cavalers)
Disp C (afficher variable de cavalier)
Disp string2 (afficher archers)
Disp A
<...> Petite parenthèses sur la suite étant pareille
Disp "J.2"
Dsip string1
Disp D (Variable cavalerie j2)
Disp string2
Disp B (archer J2)
<...>



Est-ce que un systeme comme cela pourrait marcher pour afficher le nombre d'unité de chaque joueur ?


Je passe a la suite : Avant le code il serait bon de vous donner quelques variables que je vais définir:
e : variable définie par l''user pour le nomre d'uniter voulu (a l'achat).
o : variable de l'argent
200 : prix du cavalier

Systeme de Recrutement / achat
Menu ("recrutement","Acheter Cavaliers",AC,"Acheter Archer",AA,....)
label AC (si choix de cav)
Input ("Cb de cavaliers voulez vous ?",e) (choix par l'utilisateur du nombre d'unitée voulue)
o-200e->u (voir si il a assez de sous)
If u<0 (bis)
then (si pas assez alors)
clearhome
text (10,15,"Pas assez d'argent)
delvar u
delvar e
prgm WG (retour au menu principal de jeu )
end
if u</=0 (-si assez de sous)
then (alors )
c+e->c (cavalier actuel + cavalier acheté = nouveau nombre de cav)
delvar u
delvar e
prgm WG (revenir a l'écran principal)





voila pour le syteme d'acaht que j'ai penser. Dites moi si ca pourrait marcher...

J'ai penser une structure assez complexe pour bien différencier J1 et J2 et pour pouvoir m'y retrouver facilement en gris j'aurais :
-Ecran principal
-Menu de jeu Joueur 1
-Menu de jeu Joueur 2
-Progrmme de stats
-Programme de recrutement J1
-Bis J2
-Programme d'attak J1
Prgramme d'attack J2
-Fin de tour J1
-Fin de tour J2

Voila ca fait peut être beaucoup de programme différents relier entre eux, mais je ne voit pas commet faire "simplement" autrement smile



Merci d'avance a ceux qui m'ont lu, je posterais la suite après pour ne pas trop surchagé le sujet. (systeme d'attack et de fin de tour)
Bonne journée

Maldus.
2
Des types motivés comme toi pour commencer à programmer c'est exactement ce qu'il faut à la communauté TI.
Sinon, il n'y a pas d'erreur importante dans le code que tu donnes, mis a part que des "Pause" sont nécessaires apres l'affichage de texte pout laisser le temps de lire (jusqu'a ce que l'utilisateur tape ENTER). Ensuite, pour les titres de menus, ceux ci sont limité en longueur (sinon la fin du texte sort de l'écran ; tu t'en rendras compte toi meme).
Et surtout n'hésite pas a poser d'autres questions, on sera ravis de t'aider a finir ce super projet. smile
3
Merci; je suis content qu'il n'y ait pas trop d'erreur car c'est le tout premeir logiciel que je fait ^^ J'ai lu le manuel hier dans le bus et lu un peu le forum.


Merci de tes précieux conseils je posterais le systeme de combat et de fin de tour dans la soirée smile
Sinon ce n'est pas trop 10 programmes ?

Merci bcp !
4
Non, mais si tu veux vraiment tu peux regrouper plusieurs trucs dans le programme principal avec des labels:
Au lieu de:

...
prgmBIDUL
...

Tu mets:

...
Goto 1
Lbl 2
...
Lbl 1
instructions (contenu de prgm BIDUL)
Goto 2

Ca permet de tout mettre en un seul prgm.
Le probleme c'est que les labels ca ralentit le jeu a la longue (si t'en met 200 dans un meme prgm...)
5
Ok, merci, une fois de plus mastercalto smile
Je vais garder mon systeme a 10 petit programme wink
De toutes façon c'est jsute pour filer a des potes de mon lycée pour occuper quelques heures de corus (moi la programmation m'amuse donc je fait pdt les cours ^^) enfin bon, je posterais le petit bidule ici une fois que j'aurais fait l'intelligence artcificielle car il n'aura pas grand interet sans ^^

Bon comme je le disait dans le 1er post, je continue expliquer mon petit programme pour que vous me disiez si c'est possible smile

Merci encore a ceux qui me liront et corrigerons smile

Le module de Combat est plutot log et je vais tenter d'expliquer mon envie a chaque fois entre parenthèse.
Je commence par vous expliquer la facon d'attaquer d'abord smile
J'ai tout d'abord mis en place un rapport du style 1 cavalier = 3 archers, 1 cavaliers = 0.33 piquier...
En gros smile
Ensuite j'ai décidé pour enlever la monotonie des combats de rajouter une variable aléatoire a chaque attaque x comprise entre 0.5 et 1.5 qui serait un coef de plus.
Après pour exemple le J.1 attaque avec ses Cavaliers les arches du J.2 il y aura l'attaque, puis la contreattaque des survivant si il y a wink Et x sera différretns a chaque fois (attaque et contreattaque.)
Voila on peut passer au code. (Si je n'ai pas été clair demandez moi, mais je pense qu'avec le code et les annotations le systeme devrait s'éclaircir smile )



Système de Combat

ClrHome (on vient du menu principal donc j'efface)
text(10,15," Quelles unités voulez vous envoyés ?")
Pause
ClrHome
Menu ("Quelles unités ?","Cavalerie",CA,....)
label CA (je ferais pour toute les solutions)
Menu ("Qui attaqué";"Archers",BA,....)
label BA (bis mais je prends juste court pour l'exemple de la syntaxe utilisée)
ClrHome
1,7*(rand(1))-> x (defini x au hasard, si il y a une autre technique me prevenir ^^)
b-(3*c*x) ->BA (b: nbr d'archers///3: Coefficient archer/cav ///c: nbr de cav ///x: Variables definie plus haut)
delvar x
ipart(b)->b
Output (10,15,"il reste :")
Output (20,20,b)
Output (25,25,"archers a ton adversaire") (rapport de bataille en prenant la variable b)
Pause
If b>0 (regarde si il reste des archers et dans ce cas contre attaque)
Then
ClrHome
Texte (10,15,"Riposte !!")
Pause
ClrHome
1.7*(Rand(1))->x
c-0.33*b*x->c (Pareille que la bataille plus haut.//0.33: Coef ..../// c: cav/// b: arc////x: var////)
Delvar x
Ipart(c)
Output (10,15,"Il reste")
Output (20,20,c) (dire le nbr de cav restant)
Output (30,15,"cavalier")
Pause
Clrhome
End
ClrHome
If b<0 (dans ce cas la il n'y a plus d'archer donc pas de contreattaque)
Then
b->0 (redefini b en 0 pour b ne soit pas négatif)
End
If c<0 (regarde si dans le cas de la contreattaque les cav ne sont pas en négatifs)
Then
C->0
End
Pgrm WG (reva dans l'écran principal)






Maintenant on passe au systeme de fin de tour. Très court. ^^


Systeme de Fin de Tour
ClrHome
O+2500->O (rajoute 2500 d'or dans la trésorerie)
Prgm WH (charge l'écran principal du joueur 2)











Voila
En esperant que tout roule, En tout cas merci de m'avoir lu et d'avoir corrigée les erreurs.

D'ici 1 semaines (et demi) je posterais surement une première version.... Après je rajouterais quelques pgrm supplémentaire pour faire L'IA.



Voila

Maldus
6
Bha pour voir si il n'y a pas d'erreurs, le mieux reste biensur de tester ON-Calc.
Sinon pour les tirages au sort t'as la fonction RandInt(x,y) qui tire un nombre entier entre les 2 entiers x et y. Mais je crois que dans ton cas, 1.7rand est le mieux.
Aussi pour gagner de la place en octets, tu peux supprimer les fermetures de parentheses et guillemets en fins de lignes.
Enfin j'ai vu que t'as utilisé la fonction Text( , c'est a dire pour afficher sur l'ecran graphique (tandis que Disp et Output affichent dans l'ecran Home), ce qui complique un peu les choses. Toutefois si tu veux vraiment afficher du texte dans le graphique (c'est quand meme plus agreable a regarder), n'oublie pas alors d'enlever les axes (AxeOff), de desactiver les fonctions (FnOff) et d'effacer l'ecran avec ClrDraw au lieu de ClrHome. En plus il faut biensur tout remettre a la fin du pgm (AxeOn, FnOn, ClrDraw) pour pouvoir utiliser ensuite l'ecran graphique pour tracer des fonctions (et oui sinon au DS de Maths...).
Voila smile
7
Les axes off and coe je les ai bien fait mais dans le programmes principal (que je n'ai pas posté).


Merci de tes conseils, effectivement par contre j'ai oublier le clrdraw.

Merci.
8
Re salut a tous:
J'ai une fois de plsu quelques problèmes qui requiert un peu de votre temps.

J'ai installer le jeu Wordl domine qui utilise des variables et des strings. Et dans mon logiciel, depuis il ne configure plus ces varaibles et lorsque je les "appelle" il me sort des vieux chiffres et des vieux texte de world domine alors que j'ai bien fait :
"ggnnangangangan"->strg1 par exemple
ou
5->C

...
J'ai essayé plusieurs petit tips mais rien n'y a fait. cJ'ai parcouru le forum et n'y ai pas vu grand chose. Résigné j'ai sauvegarde mes 3 p'tits bouts de programmes et fait un reset all memory.... Sauf que maintenant j'ai plus rien, plus de varaible ni de string...

Comment puis-je les faire revenir car la mon programme marche encore moins bien ^^

Voila donc je me demandais si quelqu'un avais un back-up d'une ti84+ d'origine.


Merci d'avance !
9
Re-bonjour a tous, j'ai avncé dans la programmation mais ai toujours le même probleme de variables.
J'ai réussi a trouver un ancien backup que j'ai utiliser (que j'avais fait) mais rien n'y fait.
Je poste ici mon début de programme car la calculette ne voit aucun défaut sauf les string et variables qui ne se créée pas....

En esperant que vous puissiez maiguiller. Merci d'avance et désolé pour le double post smile


Menu d'acceuil

ClrHome
Clear Entries
ClrDraw
ClrAllLists
ClrTable
AxesOff
CoordOff
ZStandard
Menu("WORLD WAR","NVELLE PARTIE",NV,"QUITTER",QT

Lbl QT
ClrHome
AxesOn
CoordOn
Fix 9
Stop

Lbl NV
prgmWG







Menu de jeu joueur 1


ClrHome
Text(10,35,"BY")
Text(20,30,"MALDUS")
Pause
Menu("WW.JOUEUR1","STATS",ST,"RECRUTER",RE,"ATTAQUER",AT,"FIN DU TOUR",FI,"QUITTER",EX)
100üC (u = ->)
200üA
30üZ
500üF
50üP
100üD
200üB
30üY
500üG
50üQ
"CAVALIERS"üStr1
"ARCHERS"üStr2
"ARTILLERIE"üStr3
"FANTASSIN"üStr4
"PIQUIER"üStr5
5000üO
5000üN
Lbl ST
ClrHome
ClrDraw
prgmWS

Lbl RE
ClrHome
ClrDraw
prgmWR

Lbl AT
ClrHome
ClrDraw
prgmWA

Lbl FI
ClrHome
ClrDraw
prgmWF

Lbl EX
ClrHome
ClrDraw
AxesOn
CoordOn
Stop





Mon probleme est dans le code du dessus après quand j'appelle les variables ou les string, elles gardent les valeurs d'un autre jeu ou plante car elles sot pas créée....


Bon la suite la ou j'appelle les variable...



programme de stats



ClrHome
Disp "JOUEUR.1"
Pause
Disp Str1
Pause
Disp C
Pause
Disp Str2
Pause
Disp A
Pause
Disp Str3
Pause
Disp Z
Pause
Disp Str4
Pause
Disp F
Pause
Disp Str5
Pause
Disp P
Pause
ClrHome
Disp "JOUEUR.2"
Pause
Disp Str1
Pause
Disp D
Pause
Disp Str2
Pause
Disp B
Pause
Disp Str3
Pause
Disp Y
Pause
Disp Str4
Pause
Disp G
Pause
Disp Str5
Pause
Disp Q
Pause

ClrHome
prgmWG






J'ai aussi le programme de recrutement a 20 % finit pour le joueur 1 donc je ne vais pas encore le poster, cela ne serait pas très utile.



Merci de m'avoir preter de votre temps pour vous pencher sur mon probleme ^^


Quand je le appellent elles viennent avec d'ancienne valeur d'ancien jeux ne m'appartenant pas sad (pour rappele)
C'est normal il faut que tu les crées, or tu as mis ton menu "W.W JOUEUR 1" avant l'endroit où elles sont créées. Mets le donc apres (juste avant Lbl ST).
Oki merci beaucoup, une fois de plus tu eclaire ma lanterne !!!! Un peu plus et c'est ton nom que je vais mettre en programmation et pas le mien ^^



Merci encore a toi ton aide m'est très précieuse. Je suis heureux qu'un forum tel que celui-ci existe.
Ca fait plaisir, au moins il sert à quelque chose. smile
Clairement ^^ smile. ( à quelque chose d'intelligent, disons..)
Très clairement même, et ça fais plaisir que des nouveaux viennent (en particulier pour des bon posts! comme celui-ci)
Je passe juste pour vous dire que je n'ai pas abandonner, loin de la.

J'en suis a plus de 70% de la premiere version.



Voila !