X



くだすれPython(超初心者用) その36

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
2018/01/01(月) 20:18:42.82ID:iOcRvNll
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで

前スレ
くだすれPython(超初心者用) その35
http://mevius.5ch.net/test/read.cgi/tech/1496411341/
VIPQ2_EXTDAT: checked:default:1000:512:----: EXT was configured
0877デフォルトの名無しさん
垢版 |
2018/03/12(月) 22:13:29.39ID:KbeqxTAu
これ、五目並べの勝者判定プログラムなんだが
何やってるかさっぱりわからん
だれか解説してくれないか?

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
0878デフォルトの名無しさん
垢版 |
2018/03/12(月) 22:26:08.47ID:Pas1pqxu
>>877
五目並べの勝者判定プログラムという前提から論理的に推察するに
五目並んでいるか判定しているものと思われる可能性が低くはないという意見が多勢を占めるのでななかろうか
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況