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):
|
if np.array_equal(stone, BLOCK_FULL):
|
||||||
# block
|
# block
|
||||||
for e in range(19, 17, - 1):
|
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 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:
|
if e == 19:
|
||||||
return i - BLOCK_COL
|
return i - BLOCK_COL
|
||||||
@@ -217,27 +217,27 @@ class Litris(GameBase):
|
|||||||
if np.array_equal(stone, BL3_FULL):
|
if np.array_equal(stone, BL3_FULL):
|
||||||
# block
|
# block
|
||||||
for e in range(19, 17, - 1):
|
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:
|
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
|
return i - Bl3_COL
|
||||||
elif np.array_equal(stone, L1_FULL):
|
elif np.array_equal(stone, L1_FULL):
|
||||||
# L1
|
# L1
|
||||||
for e in range(19, 17, - 1):
|
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 \
|
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:
|
current_board[e - 1][i + 2] == 0:
|
||||||
return i - L1_COL
|
return i - L1_COL
|
||||||
elif np.array_equal(stone, L2_FULL):
|
elif np.array_equal(stone, L2_FULL):
|
||||||
# L1
|
# L1
|
||||||
for e in range(19, 17, - 1):
|
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 \
|
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:
|
current_board[e][i + 2] == 0 and current_board[e][i] == 1 and current_board[e][i + 1] == 1:
|
||||||
return i - L2_COL
|
return i - L2_COL
|
||||||
elif np.array_equal(stone, LINE_FULL):
|
elif np.array_equal(stone, LINE_FULL):
|
||||||
# Line
|
# Line
|
||||||
for e in range(19, 18, - 1):
|
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 \
|
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:
|
current_board[e][i + 3] == 0:
|
||||||
if e == 19:
|
if e == 19:
|
||||||
@@ -247,7 +247,7 @@ class Litris(GameBase):
|
|||||||
elif np.array_equal(stone, DOT_FULL):
|
elif np.array_equal(stone, DOT_FULL):
|
||||||
# Dot
|
# Dot
|
||||||
for e in range(19, 18, - 1):
|
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 current_board[e][i] == 0:
|
||||||
if e == 19:
|
if e == 19:
|
||||||
return i - DOT_COL
|
return i - DOT_COL
|
||||||
@@ -257,7 +257,7 @@ class Litris(GameBase):
|
|||||||
elif np.array_equal(stone, DDOT_FULL) :
|
elif np.array_equal(stone, DDOT_FULL) :
|
||||||
# DDot
|
# DDot
|
||||||
for e in range(19, 18, - 1):
|
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 current_board[e][i] == 0 and current_board[e][i + 1] == 0:
|
||||||
if e == 19:
|
if e == 19:
|
||||||
return i - DDOT_COL
|
return i - DDOT_COL
|
||||||
@@ -266,7 +266,7 @@ class Litris(GameBase):
|
|||||||
elif np.array_equal(stone, DDDOT_FULL) :
|
elif np.array_equal(stone, DDDOT_FULL) :
|
||||||
# DDDot
|
# DDDot
|
||||||
for e in range(19, 18, - 1):
|
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 current_board[e][i] == 0 and current_board[e][i + 1] == 0 and current_board[e][i + 2] == 0:
|
||||||
if e == 19:
|
if e == 19:
|
||||||
return i - DDDOT_COL
|
return i - DDDOT_COL
|
||||||
@@ -276,21 +276,21 @@ class Litris(GameBase):
|
|||||||
elif np.array_equal(stone, Z1_FULL):
|
elif np.array_equal(stone, Z1_FULL):
|
||||||
# Z1
|
# Z1
|
||||||
for e in range(19, 17, - 1):
|
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:
|
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
|
return i - Z1_COL
|
||||||
elif np.array_equal(stone, Z2_FULL):
|
elif np.array_equal(stone, Z2_FULL):
|
||||||
# Z2
|
# Z2
|
||||||
for e in range(19, 17, - 1):
|
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:
|
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
|
return i - Z2_COL
|
||||||
elif np.array_equal(stone, T1_FULL):
|
elif np.array_equal(stone, T1_FULL):
|
||||||
# L1
|
# L1
|
||||||
for e in range(19, 17, - 1):
|
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:
|
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):
|
def move_stone(self, col_movement):
|
||||||
if col_movement is None:
|
if col_movement is None:
|
||||||
return
|
return
|
||||||
|
|||||||
Reference in New Issue
Block a user