morpion_test.py

Created by corentin-katic84

Created on November 16, 2023

9.84 KB

morpion


from turtle import *
from ion import *
from kandinsky import *
from time import*

speed(100)

draw_string("Appuyez sur EXE pour continuer",20,40,(255,128,0))
draw_string("Règles du jeu : \n\n  ·Chaques joueurs possèdent un \n  symbole différent.\n  ·Le premier avec 3 symboles\n  sur une ligne gagne.",0,75,(0, 0,0)) 
while not (keydown(KEY_EXE)):
    True

fill_rect(0,25,350,190,'white')

draw_string("TOUCHES :",95,0,(255, 0, 0))
draw_string("-Chaques cases est numérotée de\n 1 à 9,la première est en bas\n à gauche, la 9 ème en haut \n à droite, appuyez sur ces\n chiffres pour poser\n votre symbole. \n-Le joueur1 commence la partie",0,20,(0,0,0))
draw_string("Appuyez sur OK pour commencer",15,200,(255,128,0))
while not (keydown(KEY_OK)):
    True

fill_rect(0,0,400,250,'white')



def cercle(): #dessin du cercle
    penup()
    forward(20)
    pendown()
    left(90)
    circle(20)
    setheading(0)
    penup()
    left(90)
    penup()
    backward(20)
    
def croix(): #dessin de la croix
    pensize(3)
    right(45)
    pendown()
    for i in range(4):
        right(90)
        forward(40)
        penup()
        backward(40)
        pendown()
    setheading(90)
    penup()
    
    
def victoire_cercle():  
    draw_string("Joueur2 a gagné la partie !",100,0,(255,0,0))
def victoire_croix():
    draw_string("Joueur1 a gagné la partie !",100,0,(255,0,0))
    
def verification_cercle():
            for i in range (3):
              if matrice[i][0] == matrice[i][1] == matrice[i][2] == 2:
                gagnant = 2
                victoire_cercle()
            for i in range(3):
              if matrice[0][i] == matrice[1][i] == matrice[2][i] == 2:
                gagnant = 2
                victoire_cercle()
            if matrice[0][0] == matrice[1][1] == matrice[2][2] == 2:
                gagnant = 2
                victoire_cercle()
            if matrice[0][2] == matrice[1][1] == matrice[2][0] == 2:
                gagnant = 2
                victoire_cercle()
            elif ' ' not in [case for ligne in matrice for case in ligne]:
                draw_string("Match nul !", 100, 0, (255, 0, 0))
                fin_partie = 1
            else:
                fin_partie = 0
                
                
def verification_croix():
            for i in range (3):
              if matrice[i][0] == matrice[i][1] == matrice[i][2] == 1:
                gagnant = 1
                victoire_croix()
            for i in range(3):
              if matrice[0][i] == matrice[1][i] == matrice[2][i] == 1:
                gagnant = 1
                victoire_croix()
            if matrice[0][0] == matrice[1][1] == matrice[2][2] == 1:
                gagnant = 1
                victoire_croix()
            if matrice[0][2] == matrice[1][1] == matrice[2][0] == 1:
                gagnant = 1
                victoire_croix()
            elif ' ' not in [case for ligne in matrice for case in ligne]:
                draw_string("Match nul !", 100, 0, (255, 0, 0))
                fin_partie = 1
            else:
                fin_partie = 0
                
                
fin_partie = 0
'''SUJET 1:
Exercice 1
Un >= 45 REPOSNE A

Exercice 2.1
U1 = 0.95 * U0 +200
U2 = 0.95 * U1 +200

Exercice 2.2

Initialisation :
Pour n = 1
Un+1 = 0.95Un + 200
U0 = 10000
U1 = 0.95 * 10000 + 200
= 9900

U1 > 4000

Hérédité :
  Supposons que Uk > 4000
  pour un certain entier
  non nul k >= 1 Cela
  signifie que Uk est
  au moins égal à 4000.
 
  Prouvons que cela implique
  Uk+1 > 4000 en utilisant la
  formule de récurrance
  Uk+1 = 0.95Uk + 200
  Uk+1 = 0.95 * Uk + 200
 
  Comme Uk > 4000, alors
  0.95 * Uk > 0.95 * 4000.
  Ajoutons 200 des 2 cotés
  de l'inégalité.
  0.95 + Uk +200 >
  0.95 * 4000 + 200
 
  Simplification Uk+1> 4000
 
  Conclusion:
    Nous avons initialisée
    et hérédité au rang 1
    A n e N Un > 4000.

Exercice 2b:
Selon le théoréme de
convergence monotone
une suite décroissante
et minoré et convergente.

La suite Un > 4000 Donc
la suite Un est minorée en
4000..
Ainsi la suite Un est
convergente.

Exercice 3a :
  V0 + U0 - 4000 =
  10000 - 4000 = 6000.
  Donc pour n = 0 la valeur de
  V0 est égale à 6000
Exercice 3b :
  Vn+1/Vn = Un+1-4000/Un-4000
  =0.95 donc Vn est une suite
  géométrique de raison 0.95
Exercice 3c :
  En utilisant Vn+1
  = 0.95 * Vn, on a
  Un+1 = 0.95 * Un + 200.
  Cela conduit à Un = 4000 + 6000 * 0.95
  pour tout entier naturel n.
 
Problème : REGARDER INSTA'''


while 1:
    # script pour la grille et def trait trouvé chez Schraf : Maths-info
    H, L =320 , 222
    def trait(x, y, a, d):
        penup()
        goto(x, y)
        pendown()
        setheading(a)
        forward(d)

    def grille(nb): # mise en forme de la grille de jeu
        case = min(H,L) // nb
        H_m, L_m = -nb * case / 2, -nb * case /2
        for i in range(1,nb):
            trait(L_m, H_m + case * i, 0, nb * case)
            trait(L_m + case * i, H_m, 90, nb * case)
        return case, H_m, L_m
    grille(3)
    penup()
    goto(0,0)
    penup()

    matrice = [[' ', ' ', ' '], [' ', ' ', ' '], [' ', ' ', ' ']]  #création de la matrice
    
    j = 1 # joueur numéro 1 commence à jouer 
    
    while fin_partie == 0: #partie
        indice = 9
        while indice == 9: #tour
            if j == 1:
                if keydown(KEY_ONE) and matrice[0][0] == " ":
                    indice = 0
                    goto(-75,-74)
                    croix()
                    matrice[0][0] = j
                    j = 2
                    verification_croix()
                if keydown(KEY_TWO) and matrice[0][1] == " ":
                    indice = 1
                    goto(0,-74)
                    croix()
                    matrice[0][1] = j
                    j = 2
                    verification_croix()
                if keydown(KEY_THREE) and matrice[0][2] == " ":
                    indice = 2
                    goto(75,-74)
                    croix()
                    matrice[0][2] = j
                    j = 2
                    verification_croix()
                if keydown(KEY_FOUR) and matrice[1][0] == " ":
                    indice = 3
                    goto(-75,0)
                    croix()
                    matrice[1][0] = j
                    j = 2
                    verification_croix()
                if keydown(KEY_FIVE) and matrice[1][1] == " ":
                    indice = 4
                    goto(0,0)
                    croix()
                    matrice[1][1] = j
                    j = 2
                    verification_croix()
                if keydown(KEY_SIX) and matrice[1][2] == " ":
                    indice = 5
                    goto(75,0)
                    croix()
                    matrice[1][2] = j
                    j = 2
                    verification_croix()
                if keydown(KEY_SEVEN) and matrice[2][0] == " ":
                    indice = 6
                    goto(-75,74)
                    croix()
                    matrice[2][0] = j
                    j = 2
                    verification_croix()
                if keydown(KEY_EIGHT) and matrice[2][1] == " ":
                    indice = 7
                    goto(0,74)
                    croix()
                    matrice[2][1] = j
                    j = 2
                    verification_croix()
                if keydown(KEY_NINE) and matrice[2][2] == " ":
                    indice = 8
                    goto(75,74)
                    croix()
                    matrice[2][2] = j
                    j = 2
                    verification_croix()

            if j == 2:
                if keydown(KEY_ONE) and matrice[0][0] == " ":
                    indice == 0
                    goto(-75,-74)
                    cercle()
                    matrice[0][0] = j
                    j = 1
                    verification_cercle()
                if keydown(KEY_TWO) and matrice[0][1] == " ":
                    indice == 1
                    goto(0,-74)
                    cercle()
                    matrice[0][1] = j
                    j = 1
                    verification_cercle()
                if keydown(KEY_THREE) and matrice[0][2] == " ":
                    indice == 2
                    goto(75,-74)
                    cercle()
                    matrice[0][2] = j
                    j = 1
                    verification_cercle()
                if keydown(KEY_FOUR) and matrice[1][0] == " ":
                    indice == 3
                    goto(-75,0)
                    cercle()
                    matrice[1][0] = j
                    j = 1
                    verification_cercle()
                if keydown(KEY_FIVE) and matrice[1][1] == " ":
                    indice == 4
                    goto(0,0)
                    cercle()
                    matrice[1][1] = j
                    j = 1
                    verification_cercle()
                if keydown(KEY_SIX) and matrice[1][2] == " ":
                    indice == 5
                    goto(75,0)
                    cercle()
                    matrice[1][2] = j
                    j = 1
                    verification_cercle()
                if keydown(KEY_SEVEN) and matrice[2][0] == " ":
                    indice == 6
                    goto(-75,74)
                    cercle()
                    matrice[2][0] = j
                    j = 1
                    verification_cercle()
                if keydown(KEY_EIGHT) and matrice[2][1] == " ":
                    indice == 7
                    goto(0,74)
                    cercle()
                    matrice[2][1] = j
                    j = 1
                    verification_cercle()
                if keydown(KEY_NINE) and matrice[2][2] == " ":
                    indice == 8
                    goto(75,74)
                    cercle()
                    matrice[2][2] = j
                    j = 1
                    verification_cercle()

During your visit to our site, NumWorks needs to install "cookies" or use other technologies to collect data about you in order to:

With the exception of Cookies essential to the operation of the site, NumWorks leaves you the choice: you can accept Cookies for audience measurement by clicking on the "Accept and continue" button, or refuse these Cookies by clicking on the "Continue without accepting" button or by continuing your browsing. You can update your choice at any time by clicking on the link "Manage my cookies" at the bottom of the page. For more information, please consult our cookies policy.