IMITATION DU JEU DE DÉDÉ

econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 - 2 nov. 2006 à 14:05
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 - 2 nov. 2006 à 21:46
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/40097-imitation-du-jeu-de-dede

econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
2 nov. 2006 à 21:46
Ah c'est sûr qu'il y a d'autres choses qui peuvent être réduites, mais on ne va pas fusiller tout le code d'un clic.
C'était juste pour montrer qu'avec un brin de mathématiques, et sans utiliser des algos très compliqués, on arrive toujours à améliorer.
A bas la redondance ! Eh eh !
aera group Messages postés 382 Date d'inscription mercredi 23 août 2006 Statut Membre Dernière intervention 8 novembre 2010 18
2 nov. 2006 à 16:36
Merci pour ton aide et pour ta note (ça fait toujours plaisir de savoir que sa source est bien au yeux des autres :)).

Il y a encore d'autres solutions pour réduire la tailles du codes, mais ça risque de devenir plus compliquer. Je n'avais pas penser à ta solution ... Bien trouvé !!!
econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
2 nov. 2006 à 14:05
Rien à dire sur le principe et le code.
P'tite astuce cependant concernant les dés pour gagner quelques lignes de code.

############ CODE INITIAL ###############
#
# def dessin1():
# can.delete(ALL)
# can.create_rectangle(10,10,190,190,fill='grey90')
# can.create_oval(80,80,120,120,fill='black')
#
# def dessin2():
# can.delete(ALL)
# can.create_rectangle(10,10,190,190,fill='grey90')
# can.create_oval(30,30,70,70,fill='black')
# can.create_oval(130,130,170,170,fill='black')
#
# def dessin3():
# can.delete(ALL)
# can.create_rectangle(10,10,190,190,fill='grey90')
# can.create_oval(80,80,120,120,fill='black')
# can.create_oval(30,30,70,70,fill='black')
# can.create_oval(130,130,170,170,fill='black')
#
# def dessin4():
# can.delete(ALL)
# can.create_rectangle(10,10,190,190,fill='grey90')
# can.create_oval(30,30,70,70,fill='black')
# can.create_oval(130,130,170,170,fill='black')
# can.create_oval(130,30,170,70,fill='black')
# can.create_oval(30,130,70,170,fill='black')
#
#
# def dessin5():
# can.delete(ALL)
# can.create_rectangle(10,10,190,190,fill='grey90')
# can.create_oval(80,80,120,120,fill='black')
# can.create_oval(30,30,70,70,fill='black')
# can.create_oval(130,130,170,170,fill='black')
# can.create_oval(130,30,170,70,fill='black')
# can.create_oval(30,130,70,170,fill='black')
#
# def dessin6():
# can.delete(ALL)
# can.create_rectangle(10,10,190,190,fill='grey90')
# can.create_oval(30,30,70,70,fill='black')
# can.create_oval(130,130,170,170,fill='black')
# can.create_oval(130,30,170,70,fill='black')
# can.create_oval(30,130,70,170,fill='black')
# can.create_oval(30,80,70,120,fill='black')
# can.create_oval(130,80,170,120,fill='black')
# [...]
# if a==1:
# dessin1()
# if a==2:
# dessin2()
# if a==3:
# dessin3()
# if a==4:
# dessin4()
# if a==5:
# dessin5()
# if a==6:
# dessin6()



PROPOSITION PLUS COURTE, AVEC UNIQUEMENT 4 IF, ET DES PROCEDURES DE DESSIN SIMPLIFIEES



#
# def dessin1():
# can.delete(ALL)
# can.create_rectangle(10,10,190,190,fill='grey90')
# can.create_oval(80,80,120,120,fill='black')
#
# def dessin2():
# can.delete(ALL)
# can.create_rectangle(10,10,190,190,fill='grey90')
# can.create_oval(30,30,70,70,fill='black')
# can.create_oval(130,130,170,170,fill='black')
#
# def dessin4():
# can.delete(ALL)
# can.create_rectangle(10,10,190,190,fill='grey90')
# can.create_oval(30,30,70,70,fill='black')
# can.create_oval(130,130,170,170,fill='black')
#
#
# def dessin6():
# can.delete(ALL)
# can.create_rectangle(10,10,190,190,fill='grey90')
# can.create_oval(30,80,70,120,fill='black')
# can.create_oval(130,80,170,120,fill='black')
#
# if a%2==1:
# dessin1()
# if a>1:
# dessin2()
# if a>3:
# dessin4()
# if a==6:
# dessin6()

Si a%2==1
Tout nombre impair se verra affublé d'un point central.
Si a>1
Tout nombre supérieur à 1 aura en plus deux points aux extrémités (HAUT-GAUCHE) et (BAS-DROITE)
Si a>3
Tout nombre supérieur à 3 aura en plus deux points aux extrémités (HAUT-DROITE) et (BAS-GAUCHE)
Si a==6
Alors on dessinera en plus deux points (MILIEU-HAUT) et (MILIEU-BAS)


Les tests font moins de lignes, et les procédures de dessin aussi.
Rejoignez-nous