added first draft litris
This commit is contained in:
29
litris.py
29
litris.py
@@ -204,12 +204,15 @@ class Litris(GameBase):
|
||||
for e in range(19, 17, - 1):
|
||||
for i in range(0, 19, 1):
|
||||
if current_board[e][i] == 0 and current_board[e - 1][i] == 0 and current_board[e][i + 1] == 0 and current_board[e - 1][i + 1] == 0:
|
||||
return i - BLOCK_COL
|
||||
if e == 19:
|
||||
return i - BLOCK_COL
|
||||
elif e < 19 and current_board[e + 1][i] == 1 and current_board[e + 1][i + 1] == 1:
|
||||
return i - BLOCK_COL
|
||||
if np.array_equal(stone, BL3_FULL):
|
||||
# block
|
||||
for e in range(19, 17, - 1):
|
||||
for i in range(0, 19, 1):
|
||||
if current_board[e - 1][i] == 0 and current_board[e][i + 1] == 0 and current_board[e - 1][i + 1] == 0:
|
||||
if current_board[e][i] == 1 and current_board[e - 1][i] == 0 and current_board[e][i + 1] == 0 and current_board[e - 1][i + 1] == 0:
|
||||
return i - Bl3_COL
|
||||
elif np.array_equal(stone, L1_FULL):
|
||||
# L1
|
||||
@@ -223,7 +226,7 @@ class Litris(GameBase):
|
||||
for e in range(19, 17, - 1):
|
||||
for i in range(0, 19, 1):
|
||||
if current_board[e - 1][i] == 0 and current_board[e - 1][i + 1] == 0 and current_board[e - 1][i + 2] == 0 and \
|
||||
current_board[e][i + 2] == 0:
|
||||
current_board[e][i + 2] == 0 and current_board[e][i] == 1 and current_board[e][i + 1] == 1:
|
||||
return i - L2_COL
|
||||
elif np.array_equal(stone, LINE_FULL):
|
||||
# Line
|
||||
@@ -231,24 +234,38 @@ class Litris(GameBase):
|
||||
for i in range(0, 19, 1):
|
||||
if current_board[e][i] == 0 and current_board[e][i + 1] == 0 and current_board[e][i + 2] == 0 and \
|
||||
current_board[e][i + 3] == 0:
|
||||
return i - LINE_COL
|
||||
if e == 19:
|
||||
return i - LINE_COL
|
||||
elif e < 19 and current_board[e + 1][i] == 1 and current_board[e + 1][i + 1] == 1 and current_board[e + 1][i + 2] and current_board[e + 1][i + 3]:
|
||||
return i - LINE_COL
|
||||
elif np.array_equal(stone, DOT_FULL):
|
||||
# Dot
|
||||
for e in range(19, 18, - 1):
|
||||
for i in range(0, 19, 1):
|
||||
if current_board[e][i] == 0:
|
||||
return i - DOT_COL
|
||||
if e == 19:
|
||||
return i - DOT_COL
|
||||
elif e < 19 and current_board[e + 1][i] == 1:
|
||||
return i - DOT_COL
|
||||
|
||||
elif np.array_equal(stone, DDOT_FULL) :
|
||||
# DDot
|
||||
for e in range(19, 18, - 1):
|
||||
for i in range(0, 19, 1):
|
||||
if current_board[e][i] == 0 and current_board[e][i + 1] == 0:
|
||||
return i - DDOT_COL
|
||||
if e == 19:
|
||||
return i - DDOT_COL
|
||||
elif e < 19 and current_board[e + 1][i] == 1 and current_board[e + 1][i + 1]:
|
||||
return i - DDOT_COL
|
||||
elif np.array_equal(stone, DDDOT_FULL) :
|
||||
# DDot
|
||||
for e in range(19, 18, - 1):
|
||||
for i in range(0, 19, 1):
|
||||
if current_board[e][i] == 0 and current_board[e][i + 1] == 0 and current_board[e][i + 2] == 0:
|
||||
if e == 19:
|
||||
return i - DDDOT_COL
|
||||
elif e < 19 and current_board[e + 1][i] == 1 and current_board[e + 1][i + 1] == 1 and current_board[e + 1][i + 2]:
|
||||
return i - DDDOT_COL
|
||||
return i - DDDOT_COL
|
||||
|
||||
def move_stone(self, col_movement):
|
||||
|
||||
Reference in New Issue
Block a user