import pygame import time import random pygame.init() white = (255,255,255) #makes the color said in variable red = (255,0,0) #makes the color said in variable black = (0,0,0) #makes the color said in variable green = (0, 155, 0)#makes the color said in variable display_width = 800 #sets display width display_hight=600 # sets display hight FPS = 30 #sets the frames per second block_size = 10 #pixle size Font = pygame.font.SysFont(None, 25)# sets the font def snake(block_size, snakelist): for XnY in snakelist : pygame.draw.rect(gameDisplay,green, [XnY[0], XnY[1],block_size , block_size]) #makes the snake def message_to_screen(msg,color): screen_text = font.render(msg,true,color) gameDisplay.blit(screen_text, [display_width/2, display_hight/2] ) GameDisplay = pygame.display.set_mode((display_width,display_hight)) # sets screen pygame.display.set_caption("snake") clock = pygame.time.Clock() def gameLoop(): gameExit = False gameOver = False lead_x = display_width/2 lead_y = display_hight/2 lead_x_change = 0 lead_y_change=0 snakelist = [] snakehead = [] snakehead.append(lead_x) snakehead.append(lead_y) snakelist.append(snakehead) snake(block_size, snakelist) randAppleX = round (random.randrange(0, display_width- block_size)/10.0)*10.0 randAppleY = round (random.randrange(0, display_hight- block_size)/10.0)*10.0 while not gameExit: while gameOver == True: gameDisplay.fill(white) message_to_screen("game over, press C to continue or Q to Quit", red) pygame.display.update() for event in pygame.event.get(): if event.type == pygame.KEYDOWN: if event.key == pygame.k_q: gameExit == true gameOver = False if event.key == pygame.k_c: gameLoop() for event in pygame.event.get(): if event.type == pygame.QUIT: gameExit = True #quits game if event.type ==pygame.KEYDOWN: if event.key == pygame.K_LEFT: lead_x_change = -block_size lead_y_change = 0 if event.key == pygame.k_RIGHT: lead_x_change = block_size lead_y_change = 0 if event.key == pygame.K_DOWN: lead_y_change =-block_size lead_x_change = 0 if event.key == pygame.k_UP: lead_y_change = block_size lead_x_change = 0 if lead_x >= display_width or lead_x <= 0 or lead_y >=display_hight or lead_y <= 0 : gameOver = True lead_x += lead_x_change lead_y += lead_y_change gameDisplay.fill(white) pygame.draw.rect(gameDisplay,red,[randAppleX,randAppleY]) snake(block_size,snakelist ) pygame.display.update() if lead_x == randAppleX and lead_y == randAppleY: randAppleX = round (random.randrange(0, display_width- block_size)/10.0)*10.0 randAppleY = round (random.randrange(0, display_hight- block_size)/10.0)*10.0 clock.tick(FPS) pygame.quit()#stops init quit()#stops code gameLoop()
Run
Reset
Share
Import
Link
Embed
Language▼
English
中文
Python Fiddle
Python Cloud IDE
Follow @python_fiddle
Browser Version Not Supported
Due to Python Fiddle's reliance on advanced JavaScript techniques, older browsers might have problems running it correctly. Please download the latest version of your favourite browser.
Chrome 10+
Firefox 4+
Safari 5+
IE 10+
Let me try anyway!
url:
Go
Python Snippet
Stackoverflow Question