IMITATION DU JEU DE DÉDÉ

Signaler
Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
-
Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
-
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

Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
22
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 !
Messages postés
382
Date d'inscription
mercredi 23 août 2006
Statut
Membre
Dernière intervention
8 novembre 2010
17
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é !!!
Messages postés
4030
Date d'inscription
mardi 13 mai 2003
Statut
Modérateur
Dernière intervention
23 décembre 2008
22
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.