Taquin sur Casio Graph 35+E II ou 90E en PythonExtra
Posté le 12/12/2023 16:55
Avec PythonExtra, vous pouvez créer des jeux sympathiques sur votre calculatrice !
Voici mon premier jeu qui utilise les touches de direction de votre calculatrice !
il n’est pas parfait et sans doute des points à réécrire, mais il faut bien un début à tout.
j’apporterai des améliorations plus tard

voici le source de cette version 0.52
from gint import *
from urandom import randint,seed
from usys import exit
v="v 0.5.2"
nbc=0
seed(456) # graine pour rejouer parties identiques
def permute(o,p):
global nbc
o=o*(-1)
c[p]=c[p+o]
c[p+o]=""
nbc+=1
affjeu()
def initlist():
global c
a=[""," 1"," 2"," 3"," 4"," 5"," 6"," 7"," 8"," 9","10","11","12","13","14","15"]
b,c=[],[]
for i in range(16):
b.append(randint(1,50000))
for i in range(16):
x=b.index(max(b))
b[x]=0
c.append(a[x])
def affjeu():
dclear(C_WHITE)
dtext(84,4,C_BLACK,"Taquin")
dtext(87,12,C_BLACK,v)
dtext(84,20,C_BLACK,"coups :")
dtext(90,28,C_BLACK,str(nbc))
x1,n=0,0
for x in range(4):
y1=0
x1=x1+16
for y in range(4):
drect_border(x1,y1,x1+14,y1+14,C_WHITE,1,C_BLACK)
if c[n]=="":
drect(x1,y1,x1+14,y1+14,C_BLACK)
dtext(x1+2,y1+3,C_BLACK,c[n])
n+=1
y1=y1+16
dupdate()
def cherche():
return c.index("")
initlist()
affjeu()
while True:
p=cherche()
k=getkey().key
if k==KEY_UP:
if p!=3 and p!=7 and p!=11 and p!=15:
permute(-1,p)
if k==KEY_DOWN:
if p!=4 and p!=8 and p!=12:
permute(1,p)
if k==KEY_LEFT:
if p!=12 and p!=13 and p!=14 and p!=15:
permute(-4,p)
if k==KEY_RIGHT:
if p!=0 and p!=1 and p!=2 and p!=3:
permute(4,p)
if k==KEY_EXIT:
exit()
Fichier joint
Citer : Posté le 14/12/2023 16:57 | #
Etat d'avancement : 2eme étape, mettre ce jeu sur Casio 90E
la question est donc de savoir comment faire un code cross compatible ?
bon les couleurs et les graphismes sont aussi à revoir
Citer : Posté le 14/12/2023 17:06 | #
Alors avec le module actuel c'est un peu "difficile" dans le sens où y'a pas grand-chose qui est exposé... mais tu peux déjà tricher un peu et détecter la Graph 90+E avec la taille de l'écran :
Les fonctions clavier sont identiques, c'est surtout l'affichage qu'il faut ajuster.
Citer : Posté le 15/12/2023 14:23 | #
Merci, oui ta proposition me convient
par exemple :
from gint import *
isg90=(DWIDTH==396)
print("Tu as une Casio",end=" ")
if isg90:
print("90 E")
else:
print("35+ EII")
except:
print("Choisir PythonExtra!")
NB, il y a peut-être d'autres machines qui supportent python extra ? j'adapterai le code en connaissance à la fin pour finaliser ; mais pour l'instant, je m'en tiens à ces 2 machines
Citer : Posté le 18/12/2023 08:43 | # |
Fichier joint
Voilà le code (en p.j) fonctionne sur les 2 machines sans modifications manuelles. Merci Lephe
Prochaines étapes :
* Ne mettre que des parties jouables.
* Vérification quand la partie sera gagnée
* Mettre un chronometre
* Page d'accueil et de sortie
* Revoir les graphismes avec des images
* Enregistrer le numéro de partie, le recors de score et de temps. (mais es-ce faisable ?
Citer : Posté le 18/12/2023 10:03 | #
* Mettre un chronometre
* Enregistrer le numéro de partie, le recors de score et de temps. (mais es-ce faisable ?
Caltos : G35+EII, G90+E (briquée
Citer : Posté le 18/12/2023 19:38 | #
Pour le chrono avec pythonextra il y a le module utime
Pour le reste si on ne peut pas enregistrer quoique ce soit je m'en tiendrai là.
Citer : Posté le 11/01/2024 19:27 | #
J'ai posé la meme question avec la gestion de fichier et Lephe' m'a répondu qu'il y en a pas, ni dans le python officiel (celui de casio sinon tu peux faire import os) ni sur pythonextra mais qu'elle est sur la TODO list (d'après Slyvtt) donc, il faudra juste attendre
Par ce que Oct 31= Dec 25