score for tetris
This commit is contained in:
parent
eb617e6d59
commit
8aa0621395
12
main.py
12
main.py
@ -38,6 +38,8 @@ def clear_rows(board):
|
|||||||
board = np.delete(board, clear_indices, axis=0)
|
board = np.delete(board, clear_indices, axis=0)
|
||||||
new_rows = np.zeros((len(clear_indices), board.shape[1]))
|
new_rows = np.zeros((len(clear_indices), board.shape[1]))
|
||||||
board = np.vstack([new_rows, board])
|
board = np.vstack([new_rows, board])
|
||||||
|
global score
|
||||||
|
score = update_score(score, len(clear_indices))
|
||||||
return board
|
return board
|
||||||
|
|
||||||
|
|
||||||
@ -48,7 +50,7 @@ def calculate_shadow(piece, board, i, j):
|
|||||||
return i
|
return i
|
||||||
|
|
||||||
|
|
||||||
def display_board(board, piece, i, j):
|
def display_board(board, piece, i, j, score):
|
||||||
display = board.copy()
|
display = board.copy()
|
||||||
shadow_i = calculate_shadow(piece, board, i, j)
|
shadow_i = calculate_shadow(piece, board, i, j)
|
||||||
n, m = piece.shape
|
n, m = piece.shape
|
||||||
@ -69,7 +71,7 @@ def display_board(board, piece, i, j):
|
|||||||
for row in display
|
for row in display
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
print()
|
print(f"Score: {score}\n")
|
||||||
|
|
||||||
|
|
||||||
def game_over(board):
|
def game_over(board):
|
||||||
@ -78,9 +80,13 @@ def game_over(board):
|
|||||||
return np.zeros_like(
|
return np.zeros_like(
|
||||||
board
|
board
|
||||||
) # Clear the board and continue or call sys.exit() to end
|
) # Clear the board and continue or call sys.exit() to end
|
||||||
|
|
||||||
|
def update_score(score, cleared_rows):
|
||||||
|
return score + cleared_rows
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
score = 0
|
||||||
board = np.zeros((20, 10), dtype=int)
|
board = np.zeros((20, 10), dtype=int)
|
||||||
piece_types = list(PIECES.keys())
|
piece_types = list(PIECES.keys())
|
||||||
current_piece = PIECES[np.random.choice(piece_types)]
|
current_piece = PIECES[np.random.choice(piece_types)]
|
||||||
@ -89,7 +95,7 @@ def main():
|
|||||||
auto_gravity = True # Auto-gravity enabled by default
|
auto_gravity = True # Auto-gravity enabled by default
|
||||||
|
|
||||||
while True:
|
while True:
|
||||||
display_board(board, current_piece, i, j)
|
display_board(board, current_piece, i, j, score)
|
||||||
if not check_placement(current_piece, board, *START_POS):
|
if not check_placement(current_piece, board, *START_POS):
|
||||||
board = game_over(board)
|
board = game_over(board)
|
||||||
continue
|
continue
|
||||||
|
Loading…
Reference in New Issue
Block a user