Discuss Scratch

zelda_64
Scratcher
1000+ posts

Puissance 4 [Résolu]

Hey !

J'essaie depuis plusieurs jours de créer un Puissance 4 (tout le monde connait ? ) et j'ai presque tout programmé. Presque, car il me manque le script le plus important : détecter lorsqu'un joueur a gagné . Comme solution, j'ai trouvé le moyen de créer un tableau comportant toutes les combinaisons sous forme d'une liste de chiffres (telle que 15253545) et j'ai demandé à l'ordinateur de détecter lorsque l'une de ces listes est trouvée dans la grille, en séparant les chiffres par deux. Enfin bref, c'est trèèès long et je ne sais pas si j'ai trouvé toutes les combinaisons, ce qui est probablement impossible.
Existe-t-il un script permettant de détecter cela ? (enfin, oui, justement, je reformule ma question : QUEL EST CE SCRIPT ???)

Merciii !

Je ne vais pas partager ce projet, c'est juste pour l'utiliser chez moi sans connexion ;) .

Last edited by zelda_64 (Dec. 30, 2016 14:44:27)

el15617
Scratcher
1000+ posts

Puissance 4 [Résolu]

j'aimerai bien t'aider car j'ai une petite idée mais c'est un peu chiant a faire aves les block du forum …. tu voudrais pas partager ton projet temporairement ?
Florian_KJH
Scratcher
1000+ posts

Puissance 4 [Résolu]

el15617 wrote:

j'aimerai bien t'aider car j'ai une petite idée mais c'est un peu chiant a faire aves les block du forum …. tu voudrais pas partager ton projet temporairement ?
(hum, ton voca, la censure de scratch et encore plus exigante qu'avant ! fait gaffe ! On ne peut même plus postez de lien drive dans les commentaires…)
Deuzz
Scratcher
500+ posts

Puissance 4 [Résolu]

bonsoir

personnellement je trouve que tu t'es bien compliqué la tâche. J'aurais fait ça avec une liste par colonne (col1 à col7). à chaque fois qu'un joueur joue tu rajoutes un 1 ou un 2 dans la liste correspondante.

pour vérifier si quelqu'un à gagné il y a trois cas à vérifier :

alignement vertical :
on vérifie si les 4 derniers éléments de la liste sont les mêmes

alignement horizontal :
on vérifie si une suite de 4 chiffres identiques est présente dans chacune des listes à l'indice joué.

alignement diagonal :
on vérifie si une suite de 4 chiffres identiques est présente dans chacune des deux diagonales.
spirou201
Scratcher
500+ posts

Puissance 4 [Résolu]

Il y a une méthode pour vérifier si l'un des joueurs a gagné. Tu passe une case après l'autres, et lorsque tu es sur une case avec un jeton rouge par exemple, tu vérifie si il forme une ligne de 4, il y a seulement 4 différents cas a essayés. Si le jeton detecté est la piece en haut à droite, il y a les 3 cas suivants:

XXXX
OOOO
OOOO
OOOO

OOOX
OOXO
OXOO
XOOO

OOOX
OOOX
OOOX
OOOX

Et un autre cas ou le jeton est en haut a gauche:

XOOO
OXOO
OOXO
OOOX

Pas besoin d'essayé d'autres cas, cas ces 4 là feront deja le travail (crois moi ^^)

Spirou

Last edited by spirou201 (Dec. 29, 2016 19:18:19)

Deuzz
Scratcher
500+ posts

Puissance 4 [Résolu]

spirou201 wrote:

Il y a une méthode pour vérifier si l'un des joueurs a gagné. Tu passe une case après l'autres, et lorsque tu es sur une case avec un jeton rouge par exemple, tu vérifie si il forme une ligne de 4, il y a seulement 4 différents cas a essayés.

Je ne pense pas qu'il soit judicieux de scanner tout le tableau après chaque coup…. il faut juste tester les cas qui contiennent la dernière case jouée.
spirou201
Scratcher
500+ posts

Puissance 4 [Résolu]

Je ne pense pas qu'il soit judicieux de scanner tout le tableau après chaque coup…. il faut juste tester les cas qui contiennent la dernière case jouée.

Oui tout à fait! C'est effectivement beaucoup plus simple

Bienvenue à toi sur Scratch d'ailleurs!

Spirou

Last edited by spirou201 (Dec. 29, 2016 19:30:24)

el15617
Scratcher
1000+ posts

Puissance 4 [Résolu]

spirou201 wrote:

Il y a une méthode pour vérifier si l'un des joueurs a gagné. Tu passe une case après l'autres, et lorsque tu es sur une case avec un jeton rouge par exemple, tu vérifie si il forme une ligne de 4, il y a seulement 4 différents cas a essayés. Si le jeton detecté est la piece en haut à droite, il y a les 3 cas suivants:

XXXX
OOOO
OOOO
OOOO

OOOX
OOXO
OXOO
XOOO

OOOX
OOOX
OOOX
OOOX

Et un autre cas ou le jeton est en haut a gauche:

XOOO
OXOO
OOXO
OOOX

Pas besoin d'essayé d'autres cas, cas ces 4 là feront deja le travail (crois moi ^^)

Spirou
bon tu as parfaitement résumé ce que je voulais faire bravo ^^
zelda_64
Scratcher
1000+ posts

Puissance 4 [Résolu]

Merci Je pense que je vais essayer ta solution @spirou201 (chez moi car je n'ai pas mon projet sur cet ordi-là).

Bon, je renomme le topic du coup (je le garde ouvert au cas où j'aurais besoin d'aide à nouveau)

Last edited by zelda_64 (Dec. 30, 2016 14:43:59)

spirou201
Scratcher
500+ posts

Puissance 4 [Résolu]

Non la solution de Deuzz est beaucoup plus efficace, je te la conseille plutot que la mienne ^^

Spirou
zelda_64
Scratcher
1000+ posts

Puissance 4 [Résolu]

spirou201 wrote:

Non la solution de Deuzz est beaucoup plus efficace, je te la conseille plutot que la mienne ^^

Spirou

Ok, je vais plutôt la prendre alors :')
Rija_Allboot
Scratcher
3 posts

Puissance 4 [Résolu]



Salut, j'essaie aussi de faire un puissance 4 mais je suis encore un débutant et je comprends casi rien à vos trucs…il y aurait pas plus simple ?

Last edited by Rija_Allboot (May 5, 2022 08:46:10)

Rija_Allboot
Scratcher
3 posts

Puissance 4 [Résolu]

Rija_Allboot wrote:



Salut, j'essaie aussi de faire un puissance 4 mais je suis encore un débutant et je comprends casi rien à vos trucs…il y aurait pas plus simple ?

?
MiniRAPHOU
Scratcher
50 posts

Puissance 4 [Résolu]

Rija_Allboot wrote:



Salut, j'essaie aussi de faire un puissance 4 mais je suis encore un débutant et je comprends casi rien à vos trucs…il y aurait pas plus simple ?
Salut, évite de relancer un topic de 2016. Crée un nouveau topic stp.

Powered by DjangoBB