• Aucun résultat trouvé

Chocolate game s. Chercheurs : Pierre GUILLON de l I2M Marseille et Kevin PERROT du LIF de Marseille.

N/A
N/A
Protected

Academic year: 2022

Partager "Chocolate game s. Chercheurs : Pierre GUILLON de l I2M Marseille et Kevin PERROT du LIF de Marseille."

Copied!
16
0
0

Texte intégral

(1)

Chocolate game’s

Année 2016-2017

Fait par : Mathieu DECORDE, Maxime FARUGIA, Nicolas UGLIETA, Benjamin NICOLET, Guillaume GARROS. Tous des éleves de 1

ère

S3.

Lycée Pierre Mendes France

Encadré par Mme GOUIRAND-THUILLET

Chercheurs : Pierre GUILLON de l’I2M Marseille et Kevin PERROT du LIF de Marseille.

Présentation du sujet

C’est un jeu qui se joue à deux jouerus. Il consiste en une tablette de chocolat de taille x par y dont le carré bas-gauche est empoisonné. A tour de rôle, chaque « croque » un carré de la tablette en retirant en même temps tous les carrés à la droite et au dessus. Le joueur qui mange le carré empoisonné perd.

Question : Comment gagner ? (stratégies gagnantes "simples" : n x n, 2 x n)

Sommaire

1. Présentation du jeu : ...2

A .Les règle du jeu ...2

B. Comment y jouer ? ...2

2. Les techniques pour gagner ! ...4

A. Tablettes x=y (carré) ...4

Exemples ...4

Démonstration ...6

B. Tablettes x et y=2 ...9

Exemples ...9

Démonstration ...10

(2)

Cet article est rédigé par des élèves. Il peut comporter des oublis et imperfections, autant que possible signalés par nos relecteurs dans les notes d’édition.

1. Présentation du jeu :

A .Les règles du jeu

Nous avons une tablette de chocolat rectangulaire qui a pour Longueur x et pour largeur=y qui *.

La tablette est placée horizontalement et possède un carreau empoisonné situé en bas à gauche.

Ce jeu se joue à deux joueurs (J

1

et J

2

), le but étant de faire manger le carreau empoisonné à l’adversaire.

B. Comment y jouer ?

Pour manger les carreaux, on doit faire des croques (coordonnées d’un croque C(x’ ; y’) de carreaux mangés) On a le droit à une infinité de croques et les croques doivent être faits en haut à droite (à l’ opposé du carreau

empoisonné).

On a représenté cela dans un repère (x ; y) :

y y

x

x 2

2

1 3 4

1 y

4

3

(3)

Prenons un exemple : C(3 ; 3)

Ici nous avons fait un croque en (3 ; 3)

4 3 2 1

1 2 3 4 x

y

(4)

Cet article est rédigé par des élèves. Il peut comporter des oublis et imperfections, autant que possible signalés par nos relecteurs dans les notes d’édition.

2. Les techniques pour gagner !

A. Tablettes x=y (carré) Exemples

Nous avons donc une tablette x=y donc carré.

Comme exemple nous avons pris une tablette avec x=y=4

Pour cette tablette nous avons fait plusieurs tentatives pour que le joueur 1 (J

1

) puisse gagner. Nous avons trouvé que la seule technique qui

permettrait de gagner est de faire un « maxi croque » (c’est un énorme croque qui mange tous les carreaux qui ne sont ni sur la colonne ni sur la ligne du carreau empoisonné) donc de coordonnées C(2 ;2).

Ensuite, c’est au tour de J

2

de jouer, il fait n’importe quel coup, par exemple C(3 ;1)

x 2

1 4 3 y

1 2 3 4

x 2

1 4 3 y

1 2 3 4

(5)

Ensuite c’est au tour de J

1

de jouer, il joue l’opposé de J

2

c'est-à-dire C(1 ; 3).

C’est au tour de J

2

, il croque un carreau au choix, par exemple C(1 ; 2)

x 2

1 4 3

1 2 3 4

x 2

1 4 3

1 2 3 4

x 2

1 4 3

1 2 3 4

(6)

Cet article est rédigé par des élèves. Il peut comporter des oublis et imperfections, autant que possible signalés par nos relecteurs dans les notes d’édition.

J

1

fait le croque opposé à celui de J

2

c'est-à-dire (2 ; 1)

Il ne reste plus que le carreau empoisonné pout J

2

Démonstration

Démonstration quand x=y (tablette carrée) J

1

peut toujours jouer.

Quand J

1

finit de jouer, il reste toujours un nombre impair de carreaux.

Prenons exemple de x=y=4 donc une tablette 4*4

1

er

coup : J

1

croque en (2 ;2) (maxi-croque) donc il mange (x-1)

2

carreaux.

Il reste donc : x

2

-(x-1)

2

carreaux.

Y

4 3 2 1

1 2 3 4 X

Y

4 3 2 1

1 2 3 4 X

x 2

1 4 3

1 2 3 4

(7)

2

ème

coup : J

2

fait un croque en (x’

1

; y’

1

)

Si y’

1

=1, J

2

fait un croque en (x’

1

; 1) Si x’

1

=1 J

2

fait un croque (1 ; y’

1

) J

2

mange x-x’

1

carreaux Donc il reste x

2

–(x-1)

2

-(x-x’

1

)

3

ème

coup : J

1

fait un croque en (1 ; x’

1

) : il enlève x-x’

1

carreaux.

Il reste donc : x-1+x’

1

-1(x-x’

1

)

=x-1+x’

1

-x-x’

1

=2x

1’

’-1

4

ème

coup : J

2

fait un croque en (x’

2

; y’

2

) Si on a y’

2

=1 J

2

fait un croque en (x’

2

; 1) J

2

a mangé x’

1

-x’

2

carreaux

=2x’

1

-1-(x’

1

-x’

2

)

=2x’

1

-1-x’

1

+x’

2

=x’

1

-1+x’

2

Y

4 3 2 1

1 2 3 4 X

Y

4 3 2 1

1 2 3 4 X

(8)

Cet article est rédigé par des élèves. Il peut comporter des oublis et imperfections, autant que possible signalés par nos relecteurs dans les notes d’édition.

5

ème

coup : J

1

fait un coup en (0 ; x’

2

) donc il mange x’

1

-x’

2

carreaux

=x’

1

-1+x’

2

-x’

1

+x’

2

=2x’

2

-1 carreaux restants

6

ème

coup : J

2

fait un coup en (x’

2

-x’

3

) donc mange x’

2

-x’

3

X’

3

et y’

3

< x’

2

< x’

1

< x

=2x’

2

-1-x’

2

+x’

3

=x’

2

-1+x

3

7

ème

coup : il reste 2x’

3

-1 carreaux restants

Il reste un nombre impair de carreaux qui est de plus en plus petit après le coup de J

1

. Le plus petit impair positif est 1 donc on arrive forcément au carreau empoisonné donc : J

1

gagne.

Y

4 3 2 1

1 2 3 4 X

Y

4 3 2 1

1 2 3 4 X

Y

4 3 2 1

1 2 3 4 X

(9)

B. Tablettes x et y=2 Exemples

Prenons une tablette x=5 et y=2

J1 croque en (5;2)

J2 croque en (3;1)

J1 croque en (2;2)

J2 croque en (2;1)

Y

2 1

Y

2 1

Y

2 1

Y

2 1

Y

2 1

(10)

Cet article est rédigé par des élèves. Il peut comporter des oublis et imperfections, autant que possible signalés par nos relecteurs dans les notes d’édition.

J1 croque en (1;2)

J2 est obligé de manger le carreau empoisonné, J1 a gagné ! Démonstration

Soit une tablette de y = 2, cela fait 2x carreaux

1

er

coup, J1 doit manger le carreau en haut à droite ce qui donne : 2x-1 carreaux restants. J1C(x ;2)

2

ème

coup, il y a 2 cas de figures possibles : 1

er

cas : J2 mange sur y=2

J2C(x’

1

;2)

Il nous reste donc 2x-1 -(x-x’

1

) =x-1+x’

1

carreaux 3

ème

coup, J1C(x’

1

+1;1)

Y

2 1

Y

2 1

Y

2 1

(11)

Il nous reste donc x-1+x’

1

-(x-x’

1

)

= x-1+x’

1

-x+x’

1

= 2x’

1

-1 carreaux

2

ème

cas : J2 mange sur y=1 J2C(x’

1

;1)

Il nous reste donc 2x-1-(2(x-x’

1

)+1) 2x-1-2x+2x’

1

-1 2x’

1

-2 = 2(x’

1

-1) 3

ème

coup, J1C(x’

1

+1;1)

Il nous reste donc 2x’

1

-2-1

2x’

1

-3 = 2(x’

1

-1)-1

On se retrouve donc dans même configuration que le 1er coup avec un nombre impair de carreaux restants.

Vu que c’est au tour de J2, c’est lui qui va manger le carreau empoisonné qui reste à la fin.

Y

2 1

Y

2 1

Y

2 1

Y

2 1

(12)

Cet article est rédigé par des élèves. Il peut comporter des oublis et imperfections, autant que possible signalés par nos relecteurs dans les notes d’édition.

Jeu CHOCOLAT calculette sur TI-83 Premium CE en 5.2.1.0042. Fait par Guillaume GARROS

Lb l 0

DelVar ⌊C EffÉcran 0

Menu(" Jeu du chocolat ","J1 vs J2",J,"J1 vs IA Hardcore",I1,"J1 vs IA aléatoire",I2,"IA vs IA (aléa)",I3,"IA vs IA (hard)",I4,"Quitter",Q Lb l I4

Rep+1 Lb l I3 Rep+1 Lb l I2 Rep+1 Lb l I1 Rep+1 Lb l J Rep→I If I=4 Then EffÉcran

Output(2,3,"Le mode ne marche pas"

Goto Q End If I=1 Then

Input "Choisir x : ",Q 2→O

Goto R End

Output(10,1,"No mbres entiers (min 2) Input "Nombres de carreau x : ",Q Output(10,1,"No mbres entiers (min 2) Input "Par : ",O

If abs(Q)≠ent(Q) ou abs(O)≠ent(O) ou Q≤1 ou O≤1 Then

Disp "Respecte la consigne !!!"

Pause Goto 0 End

If Q>999 ou O>999 Then

Disp "No mbre trop grands"

Pause Goto 0 End If O>Q Then O→N Q→O N→Q End Lb l R

Label 0 Reset la liste C

Menu chocolat choix du jeu

Si 1 alors I=0 Si 2 alors I=1 Si 3 alors I=2

Si 4 alors I=3 Si 5 alors I=4 Si 6 alors fin Si I=4 alors afficher « non » et fin

Si I=1 alors entrer x dans Q et O=2

Sinon entrer x et y dans Q et O

Si O et Q ≠ ℕ alors aller à Lbl 0

Si O et Q > 999 alors aller à Lb l 0

Si O>Q alors inverser les variables

Lb l R(eco mencer) Duplication des variables Q=A=C

(13)

EffÉcran Q→A O→B A→C B→D EffDess

A→Xmax:0→Xmin:B→Ymax:0→Ymin FoncNAff

ArrPlanAff BLANC AxesNAff

Plein Écr CouleurBord 4 CouleurTexte(BLEU) A→dim(⌊C)

Remp lir(B,⌊C) For(N,0,B,1)

Horizontal N,MA RRON End

For(N,0,A,1)

Vertical N,MA RRON End

Cercle(.5,.5,.4,2,VERT 1→J

0→K 1→H

While K≠45 et ⌊C(1)≠0 Pt-Aff(C-.5,D-.5,2,BLEU 0→K

If (I≠0 et J=2) ou I≥3 Then

J-2→J 105→K

Pt-Aff(C-.5,D-.5,2,BLANC

If I=2 ou I=3 Then If som(⌊C)=1 Then 1→C 1→D Else

nbrAléatEnt(2,som(⌊C))→M 1→N

While M>⌊C(N) M-⌊C(N)→M N+1→N End

O=B=D

O,Q : taille de la tablette in itiale

A,B : taille de la tablette sur la caluclette C,D : curseur du joueur

Réglage de la fenêtre du graphique

Création de la liste C (voir schéma à la fin)

Afficher la tablette avec des lignes marron et un rond vert pour le carreau empoisonné

Set des variables

J=1 (pour savoir J1 et J2)

K=0 (pour la détection de touche) H=1 (pour le delta du curseur)

Tant que on appui pas sur annuler et que la tablette n’est pas mangée

afficher curseur en bleu en C-.5 et D-.5 K=0

Si (I≠0 et J=2) ou I≥3 alors J=J-2

K=105

effacer le curseur

Si I=2 ou I=3 (IA aléatoire) alors

Si il reste que le carreau empoisonné alors le manger C=D=1

Sinon nbrAléatoireEntier entre 2 et nomb re de carreau x restant et le stocker dans M Boucle qui gère à red istribuer en fonction du chiffre tiré pour C et D

(14)

Cet article est rédigé par des élèves. Il peut comporter des oublis et imperfections, autant que possible signalés par nos relecteurs dans les notes d’édition.

N→C M→D End End

If I=1 et B=2 Then

If som(min(⌊C,1))=som(⌊C-min(⌊C,1)) Then

som(⌊C-min(⌊C,1))→C 2→D

Else

If som(min(⌊C,1))-1=som(⌊C-min(⌊C,1)) Then

If som(⌊C)=1 Then 1→C 1→D Else

If som(⌊C)=3 Then

nbrAléatEnt(1,2)→D reste(D,2)+1→C Else

If D=2 Then

nbrAléatEnt(1,2)→D C-nbrAléatEnt(D-1,D)→C Else

nbrAléatEnt(1,2)→D C-nbrAléatEnt(D,D+1)→C End

End

End Else

If som(min(⌊C,1))>som(⌊C-min(⌊C,1)) Then

som(⌊C-min(⌊C,1))+2→C 1→D

Else If D=1 Then C-1→C D+1→D Else C+1→C D-1→D End

Si I=1 et le joueur 1 a mangé sur B=1 alors

Si la tablette est un rectangle alors

C= en haut a droite D=2

Sinon

Si position perdante alors

Si il reste que le carreau empoisonné alors le manger

C=D=1 Sinon

Si tablette a 3 carreau x alors

D= nbrA léatoireEntier entre 1 et 2 C=(reste D/2)+1

Sinon Si D=2 alors

D= nbrA léatoireEntier entre 1 et 2 C= C-nbrAléatoireEntier entre D et D-1 Sinon

D= nbrA léatoireEntier entre 1 et 2 C= C-nbrAléatoireEntier entre D et D+1 Fin

Fin

Fin Sinon

Si la ligne du haut est inférieur a la ligne du bas alors

apliquer stratégie gagnante et stoquer les nombre dans C et D

Sinon Si D=1 alors C=C-1 D=D+1 Sinon C=C+1 D=D-1 Fin Fin Fin Fin

(15)

End End End End

Pt-Aff(C-.5,D-.5,2,ROUGE End

While K=0 getKey→K End

If K=34 ou K=24 ou K=25 ou K=26 Then

Pt-Aff(C-.5,D-.5,2,BLANC If K=34 et D-H>0:D-H→D If K=24 et C-H>0:C-H→C If K=25 et D+H≤B:D+H→D If K=26 et C+H≤A :C+H→C End

If K=21 Then 5→H Else 1→H End

If K=95 Then

Menu("Voulez-vous zoomer l'écran","Oui",Z,"Non",N Lb l Z

EffDess

Σ(⌊C(N)>0,N,1,A)→A

⌊C(1)→B

A→Xmax:0→Xmin:B→Ymax:0→Ymin Ligne(0,0,0,B,MARRON

For(N,1,A,1)

Ligne(N,0,N,⌊C(N),MARRON End

Ligne(0,0,A,0,MARRON For(N,1,B,1)

Ligne(0,N,Σ(⌊C(M)>(N-1),M,1,A),N,MA RRON End

Cercle(.5,.5,.4,2,VERT A→C

B→D Lb l N End

If K=105 et D≤⌊C(C)

Fin

Afficher curseur rouge pour montrer ou l’IA mange

Fin

Récuperer la valleur de la touche et la mettre dans K

Si K=34 ou K=24 ou K=25 ou K=26 (déplacer le curseur)

effacer le curseur

Changer la valeur de C ou D en fonction de quelle direction et tant que ça ne dépasse pas la taille de la fenêtre

Fin

Si bouton 2nde alors

H=5 Sinon H=1 Fin

Si bouton + alors

Valider le zoo m

Effacer l’écran

A= longueur de la ligne du bas non nul B= longueur ligne du haut

Réglage de la fenêtre du graphique Afficher la tablette en fonction la liste C

Afficher le cercle vert

Afficher le cu rseur sur le carreau en haut à gauche (C=A et D=B

Fin

Si bouton entrer et carreau non mangé alors

(16)

Cet article est rédigé par des élèves. Il peut comporter des oublis et imperfections, autant que possible signalés par nos relecteurs dans les notes d’édition.

Then

Σ(⌊C(N)>0,N,1,A)→M

If D=1:Ligne(M,0,(C-1)+.006A,0,BLA NC For(N,D,⌊C(C),1)

Ligne(M,N,(C-1)+.008A,N,BLA NC End

If C=1:Ligne(0,⌊C(1),0,(D-1)+.006B,BLANC For(N,C,M,1)

Ligne(N,⌊C(N),N,(D-1)+.006B,BLANC End

For(N,C,A,1)

min(D-1,⌊C(N))→⌊C(N) End

CouleurTexte(BLEU) If J≥0:reste(J,2)+1→J

If I=0 ou J=1:Texte(0,244,"J:",J

If (J=2 et I≠0) ou J≤0:CouleurTexte(ROUGE) If J=2 et I≠0:Texte(0,244,"IA

If J≤0:Texte(0,240,"IA",reste(ent(abs(J-1)/2),2)+1 End

If ⌊C(1)=0 Then EffDess

CouleurTexte(ROUGE)

If I=0:Texte(72,85,"Joueur ",J," WIN"

If J=2 et I≠0:Texte(72,35,"Inteligence Artificielle WIN"

If J=1 et I≠0:Texte(72,100," You WIN"

If J≤0:Texte(72,35,"Inteligence ",reste(ent(abs(J-1)/2),2)+1,"

Artificielle WIN"

For(N,0,100,1)

Pt-Aff(NbrA léat*A,NbrAléat*B,3,nbrAléatEnt(10,19)) End

End End

Menu(" Jeu du chocolat ","Rejouer au jeu",0," Reco mmencer la partie",R,"Qu itter",Q

Lb l Q DelVar ⌊C EffDess

10→Xmax:10→Xmin :10→Ymax: 10→Ymin AxesAff

CouleurBord 1

"GG well p layed

Effacer les lignes de chocolat des carreaux mangés

Recréer la liste C en enlevant les carreau x mangés

Couleur du texte en b leu Si J≥0 alors J=1 + reste J/2

Si I=0 ou J=1 alo rs afficher le joueur Si IA alo rs Couleur du texte en rouge Si IA alo rs afficher IA

Si J≤0 alors afficher IA 1 ou IA 2 Fin de manger

Si Fin du jeu alors

Effacer écran

Couleur du texte en rouge Si I=0 alors afficher Joueur WIN Si J=2 et I≠0 afficher IA WIN Si J=1 et I≠0 afficher You Win

Si J≤0 afficher Intéligence 1ou2 artificielle Win

Afficher 100 conféties sur l’écran aléatoirement

Fin Fin Fin

Menu Rejouer au jeu:Aller à Lbl 0 Reco mencer la partie:Aller à Lb l R Quitter : A ller à Lb l Q

Lb l Q

Effacer la liste C Effacer l’écran

Reset les graphiques par défaux

Afficher GG well p layed

Soit une tablette :

4 4 3 3 3 2 1 1 0 0

La liste sera donc LC{4,4,3,3,3,2,1,1,0,0}

Références

Documents relatifs

Assaisonnez de poudre de Perlimpimpin + piquant LVC Si vous êtes bien courageux vous faites cuire vos fruits de mer les uns après les autres : vous ne les

Ces deux manifestations, la première &#34;Le mondial de la pis- cine&#34; qui a eu lieu à Lyon en novembre dernier était réservée aux professionnels, la seconde qui s'est

Après l'estimation des besoins d'eau chaude sanitaireétudiée dans un précédent article, il s'agit de déterminerle type de pro- duction le plus approprié aux besoins et

Variante 2 : découper des pommes dans les catalogues et pubs puis les coller sur

« Dans le tableau ci-dessous qui récapitule les séances, si une fiche est suivie d'un *, cela signifie qu'elle ne fait pas partie de mes fiches jointes.. 1 Découverte

Le lendemain, c’est de nouveau dimanche, la chenille croque dans une belle feuille verte.. Mais elle n’est plus une

CONSIGNE : Je découpe et je colle les personnages à côté de la bulle qui convient.. -

[r]