added first draft litris
This commit is contained in:
27
litris.py
27
litris.py
@@ -65,6 +65,12 @@ DDDOT_COL = 9
|
||||
Z1_FULL = [[0, 0, 0, 0], [0, 0, 1, 1], [0, 1, 1, 0], [0, 0, 0, 0]]
|
||||
Z1_COL = 9
|
||||
|
||||
Z2_FULL = [[0, 0, 0, 0], [0, 1, 1, 0], [0, 0, 1, 1], [0, 0, 0, 0]]
|
||||
Z2_COL = 9
|
||||
|
||||
T1_FULL = [[0, 0, 0, 0], [0, 1, 1, 1], [0, 0, 1, 0], [0, 0, 0, 0]]
|
||||
T1_COL = 9
|
||||
|
||||
class Litris(GameBase):
|
||||
|
||||
def __init__(self, overlay):
|
||||
@@ -258,7 +264,7 @@ class Litris(GameBase):
|
||||
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
|
||||
# DDDot
|
||||
for e in range(19, 18, - 1):
|
||||
for i in range(0, 17, 1):
|
||||
if current_board[e][i] == 0 and current_board[e][i + 1] == 0 and current_board[e][i + 2] == 0:
|
||||
@@ -267,7 +273,24 @@ class Litris(GameBase):
|
||||
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
|
||||
|
||||
elif np.array_equal(stone, Z1_FULL):
|
||||
# Z1
|
||||
for e in range(19, 17, - 1):
|
||||
for i in range(0, 17, 1):
|
||||
if current_board[e][i] == 1 and current_board[e][i + 1] == 0 and current_board[e][i + 2] == 0 and current_board[e - 1][i] == 0 and current_board[e - 1][i + 1] == 0:
|
||||
return i - Z1_COL
|
||||
elif np.array_equal(stone, Z2_FULL):
|
||||
# Z2
|
||||
for e in range(19, 17, - 1):
|
||||
for i in range(0, 17, 1):
|
||||
if current_board[e][i] == 0 and current_board[e][i + 1] == 0 and current_board[e][i + 2] == 1 and current_board[e - 1][i + 1] == 0 and current_board[e - 1][i + 2] == 0:
|
||||
return i - Z2_COL
|
||||
elif np.array_equal(stone, T1_FULL):
|
||||
# L1
|
||||
for e in range(19, 17, - 1):
|
||||
for i in range(0, 17, 1):
|
||||
if current_board[e][i] == 1 and current_board[e][i + 1] == 0 and current_board[e][i + 2] == 1 and current_board[e - 1][i] == 0 and current_board[e - 1][i + 1] == 0 and current_board[e - 1][i + 2] == 0:
|
||||
return i - L1_COL
|
||||
def move_stone(self, col_movement):
|
||||
if col_movement is None:
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user