import pygame
import random
n,p=8,8
coup=0
blanc=(255,255,255)
noir=(0,0,0)
cases=80
echiquier=[[0]*n for i in range(p)]
X1=random.randint(0,n-1)
Y1=random.randint(0,p-1)
echiquier[X1][Y1]=1
coup=coup+1
pos = [[2,1],[1,2],[-1,2],[-2,1],[-2,-1],[-1,-2],[1,-2],[2,-1]]
def damier():
i=0
j=0
for i in range (8):
for j in range(8):
labelx=int(cases*(i+0.5))
labely=int(cases*(j+0.5))
if (i+j)%2==1:
pygame.draw.rect(ecran,blanc, (cases*i,cases*j,cases,cases))
else:
pygame.draw.rect(ecran,noir, (cases*i,cases*j,cases,cases))
def possible(X,Y) :
j=0
if ((X>=0) and (X<8) and (Y>=0) and (Y<8) and (echiquier[X][Y]==0)) :
for k in range(8):
if (X ==X1 + pos[k][0] and Y==Y1 + pos[k][1]):
j=j+1
if j!=0:
return True
else:
return False
pygame.init()
pygame.font.init()
font = pygame.font.Font(None, 48)
ecran = pygame.display.set_mode((640, 640))
image = pygame.image.load("caval.gif")
image1=pygame.transform.scale(image,(cases,cases))
damier()
ecran.blit(image1, (cases*X1, cases*Y1))
continuer = True
pos_mouse=[]
while continuer:
for event in pygame.event.get():
if event.type == pygame.MOUSEBUTTONDOWN:
pos_mouse = event.pos
X=pos_mouse[0]//80
Y=pos_mouse[1]//80
if possible(X,Y)==True:
coup=coup+1
X1=X
Y1=Y
echiquier[X][Y]=coup
ecran.blit(image1, (cases*X1, cases*Y1))
pygame.display.flip()
if event.type == pygame.KEYDOWN:
continuer = False
pygame.display.flip()
pygame.quit()
Prototypez les fonctions du jeu.On pourra s’aider du lien ci-dessous
http://mathartung.xyz/nsi/cours_def_2_assert.html
Ajouter une fonction prototypée qui annonce la fin du jeu(blocage ou réussite)
Pour les plus courageux : exploitez l’heuristique de Warnsdorff pour faire jouer l’ordinateur à votre place