Jeux échec
Fermé
robinmoon
-
5 mars 2021 à 14:17
Phil_1857 Messages postés 1872 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 - 8 mars 2021 à 08:47
Phil_1857 Messages postés 1872 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 - 8 mars 2021 à 08:47
A voir également:
- Code source jeu d'echec python
- Mode sans echec - Guide
- Code asci - Guide
- Code puk bloqué - Guide
- Ps4 mode sans echec - Guide
- Code telephone oublié - Guide
7 réponses
yg_be
Messages postés
23309
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
2 novembre 2024
Ambassadeur
1 551
5 mars 2021 à 14:35
5 mars 2021 à 14:35
bonjour,
"comment détecter les pièces": en examinant le contenu de Echiquier.
as-tu déjà fait des jeux plus simples?
"comment détecter les pièces": en examinant le contenu de Echiquier.
as-tu déjà fait des jeux plus simples?
base
nn pas encore mais j'apprends avec l'aide de qlq qui prends des cour de en première et ducoup je le fais en même temps et donc c'est le premier jeu que je fais
nn pas encore mais j'apprends avec l'aide de qlq qui prends des cour de en première et ducoup je le fais en même temps et donc c'est le premier jeu que je fais
Phil_1857
Messages postés
1872
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
28 février 2024
168
Modifié le 5 mars 2021 à 15:17
Modifié le 5 mars 2021 à 15:17
Bonjour,
L'indentation étant importante en Python, merci de copier/coller ici ton code complet avec les balises de code
mode d'emploi:
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Visuellement, ça doit ressembler à ceci (avec la coloration syntaxique) :
Ceci dit, moi j'initialiserai une variable tableau à 2 dimensions (lignes, colonnes) qui contiendrait les noms des pièces
Ensuite, on peut interroger une case donnée: Echiquier [ligne][colonne], ou bien parcourir le tableau avec deux boucles
imbriquées:
Ensuite, après un déplacement de pièces dans le tableau, on met à jour l'affichage graphique en fonction de celui-ci
L'indentation étant importante en Python, merci de copier/coller ici ton code complet avec les balises de code
mode d'emploi:
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Visuellement, ça doit ressembler à ceci (avec la coloration syntaxique) :
def test(): print('test') test()
Ceci dit, moi j'initialiserai une variable tableau à 2 dimensions (lignes, colonnes) qui contiendrait les noms des pièces
Ensuite, on peut interroger une case donnée: Echiquier [ligne][colonne], ou bien parcourir le tableau avec deux boucles
imbriquées:
for k in range(0,nb_lignes): for j in range(0,nb_colonnes):
Ensuite, après un déplacement de pièces dans le tableau, on met à jour l'affichage graphique en fonction de celui-ci
yg_be
Messages postés
23309
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
2 novembre 2024
1 551
>
robinmoon
7 mars 2021 à 17:20
7 mars 2021 à 17:20
tu as déjà le tableau dans ton code, ne le vois-tu pas?
robinmoon
>
yg_be
Messages postés
23309
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
2 novembre 2024
7 mars 2021 à 20:42
7 mars 2021 à 20:42
ouais ducoup j'ai ma liste avec le nom de mes pièces mais ducoup je n'ai qu'un seul élément a reprendre dans Echiquier ou comment je pourrais intégrer le deuxième ?
yg_be
Messages postés
23309
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
2 novembre 2024
1 551
>
robinmoon
7 mars 2021 à 20:44
7 mars 2021 à 20:44
quels sont ces deux éléments?
robinmoon
>
yg_be
Messages postés
23309
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
2 novembre 2024
7 mars 2021 à 21:10
7 mars 2021 à 21:10
[ligne] et [colonne], je pense avoir compris, mais donc ça correspond a l'emplacement dans ma liste, donc par exemple pour RB j'ai Echiquier[O] [O]ou bien Echiquier [0] [ 7], si j'ai bien compris ? et après comment je le détecte sur l'écran que tel case correspond a tel emplacement dans mon tableau ?
ok voila le code :
Merci d'avance si tu trouves un truc !
import pygame from pygame.locals import * import time coord=[ 'a8','b8','c8','d8','e8','f8','g8','h8', 'a7','b7','c7','d7','e7','f7','g7','h7', 'a6','b6','c6','d6','e6','f6','g6','h6', 'a5','b5','c5','d5','e5','f5','g5','h5', 'a4','b4','c4','d4','e4','f4','g4','h4', 'a3','b3','c3','d3','e3','f3','g3','h3', 'a2','b2','c2','d2','e2','f2','g2','h2', 'a1','b1','c1','d1','e1','f1','g1','h1' ] pygame.init() fenetre = pygame.display.set_mode((800,800)) echiquier = pygame.image.load("plateau.png").convert_alpha() fenetre.blit(echiquier,(0,0)) #Placement reines QeB= pygame.image.load("Reine_Blanc.png").convert_alpha() fenetre.blit(QeB,(D,Un)) pygame.display.flip() QeW= pygame.image.load("Reine_Noir.png").convert_alpha() fenetre.blit(QeW,(D,Huit)) pygame.display.flip() #Placement rois KiB= pygame.image.load("Roi_Noir.png").convert_alpha() fenetre.blit(KiB,(E,Huit)) pygame.display.flip() KiW= pygame.image.load("Roi_Blanc.png").convert_alpha() fenetre.blit(KiW,(E,Un)) pygame.display.flip() #Placement fous BB= pygame.image.load("Fou_Noir.png").convert_alpha() fenetre.blit(BB,(F,Huit)) pygame.display.flip() BW= pygame.image.load("Fou_Blanc.png").convert_alpha() fenetre.blit(BW,(F,Un)) pygame.display.flip() BB= pygame.image.load("Fou_Noir.png").convert_alpha() fenetre.blit(BB,(C,Huit)) pygame.display.flip() BW= pygame.image.load("Fou_Blanc.png").convert_alpha() fenetre.blit(BW,(C,Un)) pygame.display.flip() #Placement cavaliers KB= pygame.image.load("Cavalier_Noir.png").convert_alpha() fenetre.blit(KB,(B,Huit)) pygame.display.flip() KW= pygame.image.load("Cavalier_Blanc.png").convert_alpha() fenetre.blit(KW,(B,Un)) pygame.display.flip() KB= pygame.image.load("Cavalier_Noir.png").convert_alpha() fenetre.blit(KB,(G,Huit)) pygame.display.flip() KW= pygame.image.load("Cavalier_Blanc.png").convert_alpha() fenetre.blit(KW,(G,Un)) pygame.display.flip() #Placement tours RB= pygame.image.load("Tour_Noir.png").convert_alpha() fenetre.blit(RB,(A,Huit)) pygame.display.flip() RW= pygame.image.load("Tour_Blanc.png").convert_alpha() fenetre.blit(RW,(A,Un)) pygame.display.flip() RB= pygame.image.load("Tour_Noir.png").convert_alpha() fenetre.blit(RB,(H,Huit)) pygame.display.flip() RW= pygame.image.load("Tour_Blanc.png").convert_alpha() fenetre.blit(RW,(H,Un)) pygame.display.flip() #Placement pions noirs PB= pygame.image.load("Pion_Noir.png").convert_alpha() fenetre.blit(PB,(A,Sept)) pygame.display.flip() PB= pygame.image.load("Pion_Noir.png").convert_alpha() fenetre.blit(PB,(B,Sept)) pygame.display.flip() PB= pygame.image.load("Pion_Noir.png").convert_alpha() fenetre.blit(PB,(C,Sept)) pygame.display.flip() PB= pygame.image.load("Pion_Noir.png").convert_alpha() fenetre.blit(PB,(D,Sept)) pygame.display.flip() PB= pygame.image.load("Pion_Noir.png").convert_alpha() fenetre.blit(PB,(E,Sept)) pygame.display.flip() PB= pygame.image.load("Pion_Noir.png").convert_alpha() fenetre.blit(PB,(F,Sept)) pygame.display.flip() PB= pygame.image.load("Pion_Noir.png").convert_alpha() fenetre.blit(PB,(G,Sept)) pygame.display.flip() PB= pygame.image.load("Pion_Noir.png").convert_alpha() fenetre.blit(PB,(H,Sept)) pygame.display.flip() #Placement pions blancs PW= pygame.image.load("Pion_Blanc.png").convert_alpha() fenetre.blit(PW,(A,Deux)) pygame.display.flip() PW= pygame.image.load("Pion_Blanc.png").convert_alpha() fenetre.blit(PW,(B,Deux)) pygame.display.flip() PW= pygame.image.load("Pion_Blanc.png").convert_alpha() fenetre.blit(PW,(C,Deux)) pygame.display.flip() PW= pygame.image.load("Pion_Blanc.png").convert_alpha() fenetre.blit(PW,(D,Deux)) pygame.display.flip() PW= pygame.image.load("Pion_Blanc.png").convert_alpha() fenetre.blit(PW,(E,Deux)) pygame.display.flip() PW= pygame.image.load("Pion_Blanc.png").convert_alpha() fenetre.blit(PW,(F,Deux)) pygame.display.flip() PW= pygame.image.load("Pion_Blanc.png").convert_alpha() fenetre.blit(PW,(G,Deux)) pygame.display.flip() PW= pygame.image.load("Pion_Blanc.png").convert_alpha() fenetre.blit(PW,(H,Deux)) pygame.display.flip() pièces =[RB,KB,BB,QeB,KiB,PB,PW,RW,KW,BW,QeW,KiW] Echiquier = [ ['RB','KB','BB','QeB','KiB','BB','KB','RB'], ['PB','PB','PB','PB','PB','PB','PB','PB'], [' ',' ',' ',' ',' ',' ',' ',' '], [' ',' ',' ',' ',' ',' ',' ',' '], [' ',' ',' ',' ',' ',' ',' ',' '], [' ',' ',' ',' ',' ',' ',' ',' '], ['PW','Pw','PW','PW','PW','PW','PW','PW'], ['RW','KW','BW','QeW','KiW','BW','KW','RW'] ] while True: for event in pygame.event.get(): if event.type == MOUSEBUTTONDOWN : x_souris = event.pos[0] y_souris = event.pos[1] print(x_souris, y_souris) colonne = (y_souris-60) //case ligne = ( x_souris-60) //case print(ligne,colonne)
Merci d'avance si tu trouves un truc !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Phil_1857
Messages postés
1872
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
28 février 2024
168
7 mars 2021 à 16:14
7 mars 2021 à 16:14
Bonjour,
Un truc pour faire quoi ?
Un truc pour faire quoi ?
baa si t'as une solution pour que je puisse déplacer les pièces ou bien les séléctionnées quoi
yg_be
Messages postés
23309
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
2 novembre 2024
1 551
7 mars 2021 à 16:39
7 mars 2021 à 16:39
comment vas-tu progresser si nous faisons le travail à ta place?
robinmoon
>
yg_be
Messages postés
23309
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
2 novembre 2024
7 mars 2021 à 16:59
7 mars 2021 à 16:59
mec ça fais 2 semaines je suis dessus toute les nuits ! j'y arrive pas ou au moins si quelqu'un a une piste ?
yg_be
Messages postés
23309
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
2 novembre 2024
1 551
>
robinmoon
7 mars 2021 à 17:18
7 mars 2021 à 17:18
fais d'abord des exercices plus simples.
Phil_1857
Messages postés
1872
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
28 février 2024
168
Modifié le 7 mars 2021 à 17:59
Modifié le 7 mars 2021 à 17:59
Moi, je n'utilise pas Pygame, mais tkinter
J'ai déjà fait un jeu, non pas d'échecs, mais de dames
En gros, je déplace un pion noir comme ceci:
sachant que:
WHITE = 0
BLACK = 1
WHITE_K = 2
BLACK_K = 3
(ca permet de manipuler des noms au lieu de chiffres)
J'ai déjà fait un jeu, non pas d'échecs, mais de dames
En gros, je déplace un pion noir comme ceci:
cliquer pion sur damier -> fonction évènement clic gauche souris : on initialise une variable bouton_gauche à True déplacer le pion avec la souris bouton toujours appuyé -> fonction évènement mouvement souris : si bouton_gauche : récup' coordonnées x,y à l'instant t déplacer objet pion à x,y et ainsi de suite, tant qu'on déplace la souris relâcher bouton gauche souris -> fonction évènement relachement bouton souris : bouton_gauche = False appel fonction mise_a_jour_tableau fonction mise_a_jour_tableau: conversion x,y case de départ en ligne/colonne : l1,c1 idem case arrivée : l2,c2 damier[l1][c1] = '' damier[l2][c2] = BLACK test si on a survolé un pion à prendre, si oui: damier[ligne][colonne] = '' déplacement du pion pris sur le coté test si on est arrivé en bordure de damier : dame !, si oui: on efface un pion pris par l'adversaire et on le redessine sur la case d'arrivée (un peu décalé pour montrer les 2 pions) damier [l2][c2] = BLACK_K
sachant que:
WHITE = 0
BLACK = 1
WHITE_K = 2
BLACK_K = 3
(ca permet de manipuler des noms au lieu de chiffres)