Advertisement
philRG

fonction poids case Connect 4

Mar 2nd, 2022
747
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.17 KB | None | 0 0
  1. def poids_cases():
  2.     """Calcule le poids des cases en fonction de la dimension de la grille et du nombre de pions à aligner pour gagner"""
  3.     """[3,4,5,7,5,4,3,4,6,8,10,8,6,4,5,8,11,13,11,8,5,5,8,11,13,11,8,5,4,6,8,10,8,6,4,3,4,5,7,5,4,3] pour une grille 7x6 avec 4 pions à aligner"""
  4.     poids = [0] * WIDTH * HEIGHT
  5.     # Sur les horizontales
  6.     for j in range(HEIGHT):
  7.         for i in range(WIDTH - ALIGNEMENT + 1):
  8.             for k in range(ALIGNEMENT):
  9.                 poids[WIDTH * j + i + k] += 1
  10.     # Sur les verticales
  11.     for j in range(HEIGHT - ALIGNEMENT + 1):
  12.         for i in range(WIDTH):
  13.             for k in range(ALIGNEMENT):
  14.                 poids[WIDTH * j + i + k * WIDTH] += 1
  15.     # Sur les diagonales montantes
  16.     for j in range(HEIGHT - ALIGNEMENT + 1):
  17.         for i in range(WIDTH - ALIGNEMENT + 1):
  18.             for k in range(ALIGNEMENT):
  19.                 poids[WIDTH * j + i + k * WIDTH + k] += 1
  20.     # Sur les diagonales descendantes
  21.     for j in range(ALIGNEMENT - 1, HEIGHT):
  22.         for i in range(WIDTH - ALIGNEMENT + 1):
  23.             for k in range(ALIGNEMENT):
  24.                 poids[WIDTH * j + i - k * WIDTH + k] += 1
  25.     return poids
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement