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