Browse Source

score for tetris

point_system
Gabriel Derome 7 months ago
parent
commit
8aa0621395
  1. 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…
Cancel
Save