Page 1 of 1

Blackjack en Axe

Unread postPosted: 14 Aug 2011, 20:37
by now9434
Bonjour à tous.

Je poste mon premier jeu en Axe (programmé sur le clavier 84+ de la ti-nspire, pour encourager Kindermoumoute à continuer son tutoriel sur l'Axe :D: .
Je souhaiterais, si cela est possible, des avis sur ce jeu, qu'ils soient algorithmiques, esthetiques, prise en main, ajout de fonction, optimisation, etc pour l'améliorer.
Est-il possible de mettre le programme sur le site et de le remplacer par le meme avec de nouvelle fonction? Ou dois-je le terminer en entier avant de le poster?
Car je pense ajouter de nouvelles fonctions comme doubler la mise et n'avoir qu'une carte, le split pour rendre le jeu réel, ensuite peut etre un menu deroulant sur l'ecran de la table pour ne pas perdre en vue les cartes.
J'espere que ce que je viens de dire est compréhensible sinon je suis la pour toute question :):
Le fichier compiler (BLACKEXE) et le source (BLACKJAC) et 2 images si vous souhaiter le compiler sont présents dans le zip ainsi qu'un gif de présentation.

Merci d'avoir lu ce message :;):

Re: Blackjack en Axe

Unread postPosted: 15 Aug 2011, 21:46
by critor
Oui, un admin peut mettre à jour sans problème ton programme sur le portail.

Re: Blackjack en Axe

Unread postPosted: 16 Aug 2011, 10:01
by kindermoumoute
Je ne sais pas jouer au blackjack, mais je fais que de gagner (suffit de tirer des carte à l'infini). :p

J'ai regardé le code vite fais, et je trouve l'ensemble vraiment bien, même si c'est dure de se repérer parmi les 20 variables que tu utilise (sans compter les listes). Pour simplifier le code tu peux faire encore plus de sous fonction. Par exemple à partir du moment ou tu fais ce code deux fois :
Code: Select all
:RecallPic 5
:sub(RAN)
:sub(AFF)
:sub(SOM)

Tu peux le mettre dans une fonction.

Mais c'est le programme en lui même qui compte, et j'ai hâte de voir la suite. ;)

Re: Blackjack en Axe

Unread postPosted: 16 Aug 2011, 11:43
by now9434
Pour commencer merci pour ta réponse critor, je pense mettre le programme modifié aujourd'hui alors ^^.
Ensuite, merci aussi a toi Kindermoumoute, mais je n'ai pas trop compris comment tu gagnes à ce jeu en tirant des cartes a l'infini :D

Sinon je suis d'accord concernant les 20 variables c'est un vrai casse tête et je pense même qu'il m'en manque pour des améliorations. Les variables de 2 caractères ne marche pas; mais en regardant dans la version 1.0.0, si j'ai bien compris, on pourrait utiliser des variables de 5 caractères minuscules comprises, ce qui serait parfait pour la compréhension des programmes.
Ensuite j'ai un petit problème à la fin du programme, je n'arrivais pas a mettre une boucle while (ça tournait à l'infini) à deux reprises, j'ai donc utiliser le système D avec If et Goto et Lbl: si quelqu'un peut le corriger ça serait sympa.

Kindermoumoute peut tu m'expliquer comment garder la valeur d'une variable après que le programme soit éteint? Cela permettrais de continuer avec l'argent qu'on a gagné, ou perdu, lors d'une prochaine partie.

Merci de vos réponses et ça m'encourage à continuer et à apprendre de nouveaux trucs sur l'Axe et bon tutoriel Kindermoumoute :;):

Re: Blackjack en Axe

Unread postPosted: 17 Aug 2011, 10:19
by kindermoumoute
En gros les boucles while sont aux repeat ce que sont les !if aux if. En gros il faut mettre la condition inverse. Donc si ton programme bug avec une boucle while, essaye de mettre un repeat, et tu verra tout de suite le principe. ;)

Je n'ai pas encore eu le temps de tester la 1.X.X mais il faut au moins utiliser la 1.0.2 car les deux première version avaient des bugs assez grave. Mais par exemple utilise une seule variable pour toutes tes boucles For() (sauf si tu les imbriques entre elle). Et vérifie si chaque variable a lieu d'être, si il n'y a pas une solution pour s'en passer.

Pour conserver des octets (une variable faisant 2 octets) dans la mémoire flash de la calculatrice, on utilise en général une appvars. C'est comme des Datas, sauf que les données sont stockées en dehors du programme : lien.

Pour le bugs j'ai fait un screen : Image

Re: Blackjack en Axe

Unread postPosted: 17 Aug 2011, 14:26
by now9434
Je corrigerais le problème des boucles.
Pour certaines boucles for j'utilise des variables temporaires comme ça cela enlève des variables, et je regarderais si je peut pas en enlever mais je pense que oui déjà en affectant une valeur différente à une variable à la place d'en utiliser plusieurs en tant que booléen.

Je regarderais les appvars plus tard quand j'aurais rajouter d'autres fonction que je suis en train de programmer.

Ensuite je ne le considère pas vraiment comme un bug, mais je pourrais passer directement au jeu du croupier si la somme est supérieur a 21 c'est pas très compliqué à programmer.

Une autre question: y a t-il un moyen d'arreter le programme (la commande Stop en TI-Basic) en Axe?

Sinon j'ai améliorer l'interface avec un nouveau menu qui me pose quelque problemes pour rajouter d'autres fonctions( j'ai mis des gotos de fonction en fonction et dès que y a un return ça termine la fonction du début d'ou la question de l'arret du programme en Axe :): , je vais corriger cela ou faire un autre menu surement plus agréable)

Merci pour tes réponses Kindermoumoute :;):