added first draft litris
This commit is contained in:
24
litris.py
24
litris.py
@@ -208,7 +208,7 @@ class Litris(GameBase):
|
||||
if np.array_equal(stone, BLOCK_FULL):
|
||||
# block
|
||||
for e in range(19, 17, - 1):
|
||||
for i in range(0, 18, 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:
|
||||
if e == 19:
|
||||
return i - BLOCK_COL
|
||||
@@ -217,27 +217,27 @@ class Litris(GameBase):
|
||||
if np.array_equal(stone, BL3_FULL):
|
||||
# block
|
||||
for e in range(19, 17, - 1):
|
||||
for i in range(0, 18, 1):
|
||||
for i in range(0, 19, 1):
|
||||
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
|
||||
for e in range(19, 17, - 1):
|
||||
for i in range(0, 17, 1):
|
||||
for i in range(0, 18, 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 - 1][i + 2] == 0:
|
||||
return i - L1_COL
|
||||
elif np.array_equal(stone, L2_FULL):
|
||||
# L1
|
||||
for e in range(19, 17, - 1):
|
||||
for i in range(0, 17, 1):
|
||||
for i in range(0, 18, 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 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
|
||||
for e in range(19, 18, - 1):
|
||||
for i in range(0, 16, 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 and \
|
||||
current_board[e][i + 3] == 0:
|
||||
if e == 19:
|
||||
@@ -247,7 +247,7 @@ class Litris(GameBase):
|
||||
elif np.array_equal(stone, DOT_FULL):
|
||||
# Dot
|
||||
for e in range(19, 18, - 1):
|
||||
for i in range(0, 19, 1):
|
||||
for i in range(0, 20, 1):
|
||||
if current_board[e][i] == 0:
|
||||
if e == 19:
|
||||
return i - DOT_COL
|
||||
@@ -257,7 +257,7 @@ class Litris(GameBase):
|
||||
elif np.array_equal(stone, DDOT_FULL) :
|
||||
# DDot
|
||||
for e in range(19, 18, - 1):
|
||||
for i in range(0, 18, 1):
|
||||
for i in range(0, 19, 1):
|
||||
if current_board[e][i] == 0 and current_board[e][i + 1] == 0:
|
||||
if e == 19:
|
||||
return i - DDOT_COL
|
||||
@@ -266,7 +266,7 @@ class Litris(GameBase):
|
||||
elif np.array_equal(stone, DDDOT_FULL) :
|
||||
# DDDot
|
||||
for e in range(19, 18, - 1):
|
||||
for i in range(0, 17, 1):
|
||||
for i in range(0, 18, 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
|
||||
@@ -276,21 +276,21 @@ class Litris(GameBase):
|
||||
elif np.array_equal(stone, Z1_FULL):
|
||||
# Z1
|
||||
for e in range(19, 17, - 1):
|
||||
for i in range(0, 17, 1):
|
||||
for i in range(0, 18, 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):
|
||||
for i in range(0, 18, 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):
|
||||
for i in range(0, 18, 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
|
||||
return i - T1_COL
|
||||
def move_stone(self, col_movement):
|
||||
if col_movement is None:
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user