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("U:/image elon musk.jpg") 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()
Programme du prof qui permet de créer un jeu d’échec. Il faut déplacer le cavalier dans toutes les cases pour gagner.
ci dessous un lien google colab qui permet de copier les programmes du chapitre : cavalier d’Euler.
https://colab.research.google.com/drive/1wi6L-qIOti3aSSjFhC7Uup3OynzUE-1Q#scrollTo=_SOdGwzdP01C
on essaye de coder le game over: on utilise la def « possible » deja crée, si on ne peux plus bouger, on affiche game over.
Dans le chapitre suivant nous allons créer un nouveau programme. (
Aucune réponse