これ、五目並べの勝者判定プログラムなんだが
何やってるかさっぱりわからん
だれか解説してくれないか?
def has_a_winner(self):
width = self.width
height = self.height
states = self.states
n = self.n_in_row
moved = list(set(range(width * height)) - set(self.availables))
if(len(moved) < self.n_in_row + 2):
return False, -1
for m in moved:
h = m // width
w = m % width
player = states[m]
if (w in range(width - n + 1) and
len(set(states.get(i, -1) for i in range(m, m + n))) == 1):
return True, player
if (h in range(height - n + 1) and
len(set(states.get(i, -1) for i in range(m, m + n * width, width))) == 1):
return True, player
if (w in range(width - n + 1) and h in range(height - n + 1) and
len(set(states.get(i, -1) for i in range(m, m + n * (width + 1), width + 1))) == 1):
return True, player
if (w in range(n - 1, width) and h in range(height - n + 1) and
len(set(states.get(i, -1) for i in range(m, m + n * (width - 1), width - 1))) == 1):
return True, player
return False, -1
探検
くだすれPython(超初心者用) その36
■ このスレッドは過去ログ倉庫に格納されています
877デフォルトの名無しさん
2018/03/12(月) 22:13:29.39ID:KbeqxTAu■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 緊急地震速報 東北 北海道 [KingFisherは魚じゃないよ★]
- ■緊急地震速報 東北 北海道 最大震度6強 [人気者★]
- ■津波警報発令 3m 青森太平洋沿岸 岩手 北海道 す ぐ 逃 げ て [人気者★]
- 【地震速報】青森県で震度6強 沿岸部に津波警報 [ぐれ★]
- 津波警報発令! 青森太平洋沿岸 岩手 北海道太平洋沿岸中部 すぐ逃げて!!! [KingFisherは魚じゃないよ★]
- 【速報】高市総理が官邸入り [Hitzeschleier★]
- 地震
- 津波警報 3メートル 早く逃げろ!!!!!!!! [579392623]
- 地震 ★2
- 【速報】高市早苗、起床 [779938112]
- 【高市画像】3mの津波、結構やばい❗❗ [573041775]
- 大地震
