Browse Source

fix score oopsi

point_system
Gabriel Derome 7 months ago
parent
commit
f77dda2946
  1. 17
      main.py

17
main.py

@ -32,15 +32,14 @@ def attempt_rotate(piece, board, i, j):
return piece return piece
def clear_rows(board): def clear_rows(board, score):
clear_indices = np.where(np.all(board == 1, axis=1))[0] clear_indices = np.where(np.all(board == 1, axis=1))[0]
if clear_indices.size > 0: if clear_indices.size > 0:
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)
score = update_score(score, len(clear_indices)) return board, score
return board
def calculate_shadow(piece, board, i, j): def calculate_shadow(piece, board, i, j):
@ -81,8 +80,8 @@ def game_over(board):
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): def update_score(score):
return score + cleared_rows return score + 1
def main(): def main():
@ -123,13 +122,13 @@ def main():
i += 1 i += 1
else: else:
board = place_piece(current_piece, board, i, j) board = place_piece(current_piece, board, i, j)
board = clear_rows(board) board, score = clear_rows(board, score)
current_piece = PIECES[np.random.choice(piece_types)] current_piece = PIECES[np.random.choice(piece_types)]
i, j = 0, 4 i, j = 0, 4
elif command == "S": elif command == "S":
i = calculate_shadow(current_piece, board, i, j) i = calculate_shadow(current_piece, board, i, j)
board = place_piece(current_piece, board, i, j) board = place_piece(current_piece, board, i, j)
board = clear_rows(board) board, score = clear_rows(board, score)
current_piece = PIECES[np.random.choice(piece_types)] current_piece = PIECES[np.random.choice(piece_types)]
i, j = START_POS i, j = START_POS
elif command == "G": elif command == "G":
@ -140,7 +139,7 @@ def main():
i += 1 i += 1
else: else:
board = place_piece(current_piece, board, i, j) board = place_piece(current_piece, board, i, j)
board = clear_rows(board) board, score = clear_rows(board, score)
current_piece = PIECES[np.random.choice(piece_types)] current_piece = PIECES[np.random.choice(piece_types)]
i, j = START_POS i, j = START_POS

Loading…
Cancel
Save