Differences
This shows you the differences between the selected revisions of the page.
2025-05-29 | 2025-06-09 | ||
Restored revision 1707995892. Undoing revision 1748453398. (martin) (hidden) | no summary (94.203.124.235) (hidden) (untrusted) | ||
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. | ||
- | ===== Syntax ===== | + | import pygame |
+ | import time | ||
+ | import random | ||
- | ··put <file> [ [ <file2> ... ] <directory>/[ <newname> ] ] | + | # Initialize pygame |
+ | 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 ===== |