Differences
This shows you the differences between the selected revisions of the page.
2025-06-09 | 2025-06-09 (current) | ||
no summary (94.203.124.235) (hidden) (untrusted) | 6.3 stable released (martin) | ||
Line 2: | Line 2: | ||
[[task_upload|Uploads]] one or more files from local directory to remote directory. | [[task_upload|Uploads]] one or more files from local directory to remote directory. | ||
- | import pygame | + | ===== Syntax ===== |
- | import time | + | |
- | import random | + | |
- | # Initialize pygame | + | ··put <file> [ [ <file2> ... ] <directory>/[ <newname> ] ] |
- | pygame.init() | + | |
- | + | ||
- | # Colors | + | |
- | white = (255, 255, 255) | + | |
- | yellow = (255, 255, 102) | + | |
- | black = (0, 0, 0) | + | |
- | red = (213, 50, 80) | + | |
- | green = (0, 255, 0) | + | |
- | blue = (50, 153, 213) | + | |
- | + | ||
- | # Display dimensions | + | |
- | width = 600 | + | |
- | height = 400 | + | |
- | + | ||
- | # Create the display | + | |
- | win = pygame.display.set_mode((width, height)) | + | |
- | pygame.display.set_caption('Snake Game') | + | |
- | + | ||
- | # Clock and font | + | |
- | clock = pygame.time.Clock() | + | |
- | snake_block = 10 | + | |
- | snake_speed = 15 | + | |
- | + | ||
- | font_style = pygame.font.SysFont("bahnschrift", 25) | + | |
- | score_font = pygame.font.SysFont("comicsansms", 35) | + | |
- | + | ||
- | + | ||
- | def your_score(score): | + | |
- | value = score_font.render("Score: " + str(score), True, black) | + | |
- | win.blit(value, [0, 0]) | + | |
- | + | ||
- | + | ||
- | def draw_snake(snake_block, snake_list): | + | |
- | for x in snake_list: | + | |
- | pygame.draw.rect(win, green, [x[0], x[1], snake_block, snake_block]) | + | |
- | + | ||
- | + | ||
- | def message(msg, color): | + | |
- | mesg = font_style.render(msg, True, color) | + | |
- | win.blit(mesg, [width / 6, height / 3]) | + | |
- | + | ||
- | + | ||
- | def gameLoop(): | + | |
- | game_over = False | + | |
- | game_close = False | + | |
- | + | ||
- | # Snake starting position | + | |
- | x1 = width / 2 | + | |
- | y1 = height / 2 | + | |
- | + | ||
- | # Movement | + | |
- | x1_change = 0 | + | |
- | y1_change = 0 | + | |
- | + | ||
- | # Snake body list | + | |
- | snake_List = [] | + | |
- | Length_of_snake = 1 | + | |
- | + | ||
- | # Food | + | |
- | foodx = round(random.randrange(0, width - snake_block) / 10.0) * 10.0 | + | |
- | foody = round(random.randrange(0, height - snake_block) / 10.0) * 10.0 | + | |
- | + | ||
- | while not game_over: | + | |
- | + | ||
- | while game_close: | + | |
- | win.fill(blue) | + | |
- | message("You lost! Press Q-Quit or C-Play Again", red) | + | |
- | your_score(Length_of_snake - 1) | + | |
- | pygame.display.update() | + | |
- | + | ||
- | for event in pygame.event.get(): | + | |
- | if event.type == pygame.KEYDOWN: | + | |
- | if event.key == pygame.K_q: | + | |
- | game_over = True | + | |
- | game_close = False | + | |
- | if event.key == pygame.K_c: | + | |
- | gameLoop() | + | |
- | + | ||
- | for event in pygame.event.get(): | + | |
- | if event.type == pygame.QUIT: | + | |
- | game_over = True | + | |
- | if event.type == pygame.KEYDOWN: | + | |
- | if event.key == pygame.K_LEFT and x1_change == 0: | + | |
- | x1_change = -snake_block | + | |
- | y1_change = 0 | + | |
- | elif event.key == pygame.K_RIGHT and x1_change == 0: | + | |
- | x1_change = snake_block | + | |
- | y1_change = 0 | + | |
- | elif event.key == pygame.K_UP and y1_change == 0: | + | |
- | y1_change = -snake_block | + | |
- | x1_change = 0 | + | |
- | elif event.key == pygame.K_DOWN and y1_change == 0: | + | |
- | y1_change = snake_block | + | |
- | x1_change = 0 | + | |
- | + | ||
- | # Check boundaries | + | |
- | if x1 >= width or x1 < 0 or y1 >= height or y1 < 0: | + | |
- | game_close = True | + | |
- | + | ||
- | # Move snake | + | |
- | x1 += x1_change | + | |
- | y1 += y1_change | + | |
- | win.fill(blue) | + | |
- | pygame.draw.rect(win, yellow, [foodx, foody, snake_block, snake_block]) | + | |
- | + | ||
- | # Update snake list | + | |
- | snake_Head = [x1, y1] | + | |
- | snake_List.append(snake_Head) | + | |
- | if len(snake_List) > Length_of_snake: | + | |
- | del snake_List[0] | + | |
- | + | ||
- | # Check collision with self | + | |
- | for x in snake_List[:-1]: | + | |
- | if x == snake_Head: | + | |
- | game_close = True | + | |
- | + | ||
- | draw_snake(snake_block, snake_List) | + | |
- | your_score(Length_of_snake - 1) | + | |
- | + | ||
- | pygame.display.update() | + | |
- | + | ||
- | # Check if snake eats food | + | |
- | if x1 == foodx and y1 == foody: | + | |
- | foodx = round(random.randrange(0, width - snake_block) / 10.0) * 10.0 | + | |
- | foody = round(random.randrange(0, height - snake_block) / 10.0) * 10.0 | + | |
- | Length_of_snake += 1 | + | |
- | + | ||
- | clock.tick(snake_speed) | + | |
- | + | ||
- | pygame.quit() | + | |
- | quit() | + | |
- | + | ||
- | + | ||
- | # Run the game | + | |
- | gameLoop() | + | |
===== [[remarks]] Remarks ===== | ===== [[remarks]] Remarks ===== |