Kode Python Membuat Petak Catur_Nine 9x9
KODE PYTHON MEMBUAT PETAK CATUR_NINE 9x9
import pygame
import sys
import time
# Inisialisasi pygame
pygame.init()
# Ukuran layar dan papan catur
WIDTH, HEIGHT = 720, 720
TILE_SIZE = WIDTH // 9
SIDE_PANEL_WIDTH = 200 # Area untuk timer
SCREEN = pygame.display.set_mode((WIDTH + SIDE_PANEL_WIDTH, HEIGHT)) # Tambahkan ruang untuk timer
pygame.display.set_caption("Chess Nine Game")
# Warna
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
LIGHT_BROWN = (240, 217, 181)
DARK_BROWN = (181, 136, 99)
HIGHLIGHT_COLOR = (255, 0, 0)
TEXT_COLOR = (0, 0, 0)
# Timer (5 menit per pemain)
START_TIME = 300
timers = {"white": START_TIME, "black": START_TIME}
# Font untuk timer
font = pygame.font.Font(None, 40)
# Fungsi menggambar papan catur
def draw_board():
for y in range(9):
for x in range(9):
color = DARK_BROWN if (x + y) % 2 == 0 else LIGHT_BROWN
pygame.draw.rect(SCREEN, color, (x * TILE_SIZE, y * TILE_SIZE, TILE_SIZE, TILE_SIZE))
# Fungsi menggambar timer dengan area latar belakang jelas
def draw_timer():
pygame.draw.rect(SCREEN, WHITE, (WIDTH, 0, SIDE_PANEL_WIDTH, HEIGHT)) # Panel samping untuk timer
white_time = font.render(f"White: {timers['white']}s", True, TEXT_COLOR)
black_time = font.render(f"Black: {timers['black']}s", True, TEXT_COLOR)
SCREEN.blit(white_time, (WIDTH + 20, HEIGHT // 3))
SCREEN.blit(black_time, (WIDTH + 20, 2 * HEIGHT // 3))
# Fungsi utama permainan
def main():
clock = pygame.time.Clock()
turn = "white"
last_update = time.time()
running = True
while running:
SCREEN.fill(WHITE)
draw_board()
draw_timer() # Pastikan timer digambar
# Update timer setiap detik
current_time = time.time()
if current_time - last_update >= 1:
timers[turn] -= 1
last_update = current_time
if timers[turn] <= 0:
print(f"{turn.capitalize()} kehabisan waktu! Permainan selesai.")
running = False
# Event handler
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
pygame.display.flip()
clock.tick(60)
# Jalankan permainan
if __name__ == "__main__":
main()
Comments
Post a Comment