Archives
Trending
Support
Login
clear text
XML
Django
JavaScript
MATLAB
C
C++
C#
Python
SQL
Shell
Bash
Markdown
YAML
JSON
HTML
CSS
PHP
Java
Ruby
Go
Rust
Swift
Kotlin
Arduino
TypeScript
Perl
Autohotkey
Lua
SQF
R
Scala
Haskell
Groovy
Dart
Clojure
VB.NET
Objective-C
PowerShell
Bash
CoffeeScript
Verilog
import pygame, sys import random pygame.init() x = 200 y = 200 fx = 0 fy = 0 followers = 0 screen = pygame.display.set_mode((500, 500)) pygame.display.set_caption('Snake but from memory') player = pygame.draw.rect(screen,(255,255,255),(1000,1000,50,50)) body = [] fruit = pygame.draw.rect(screen,(255,0,0),(1000,1000,25,25)) lastkey = [(50,0)] pastkeys = [] def reset(): global x global y global followers global lastkey global pastkeys x = 200 y = 200 followers = 0 lastkey = [(50,0)] pastkeys = [] body = [] def generate_fruit(): global fx global fy fx = random.randint(0,9) * 50 #+ 13 fy = random.randint(0,9) * 50 #+ 13 if fx == x and fy == y: print('Cant spawn there, snake head is occupying the space!') generate_fruit() else: for rect in body: if rect.x == fx and rect.y == fy: print('Cant spawn there, snake body is occupying the space!') generate_fruit() break fx = fx + 2 fy = fy + 2 #print(fx, ' ', fy) reset() generate_fruit() while True: for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() if event.type==pygame.KEYDOWN: if event.key==pygame.K_RIGHT: lastkey.append((50,0)) elif event.key==pygame.K_LEFT: lastkey.append((-50,0)) elif event.key==pygame.K_UP: lastkey.append((0,-50)) elif event.key==pygame.K_DOWN: lastkey.append((0,50)) elif event.key==pygame.K_r: generate_fruit() #print(lastkey) x = x + lastkey[0][0] y = y + lastkey[0][1] #print(pastkeys) if len(lastkey) > 1: lastkey.remove(lastkey[0]) if x >= 500: x = 0 elif x < 0: x = 450 if y >= 500: y = 0 elif y < 0: y = 450 pastkeys.insert(0,(x, y)) #if len(pastkeys) >= 101: #pastkeys.remove(pastkeys[100]) fruit = pygame.draw.rect(screen,(255,0,0),(fx,fy,25,25)) player = pygame.draw.rect(screen,(100,255,100),(x,y,30,30)) for _ in range(followers): #print(_) if _ == 0: continue body.append(pygame.draw.rect(screen,(150,255,150),(pastkeys[_][0],pastkeys[_][1],30,30))) while len(body) > followers - 1: body.remove(body[0]) #print(body) if pygame.Rect.colliderect(player,fruit): generate_fruit() if followers == 0: followers = followers + 2 else: followers = followers + 1 if pygame.Rect.collidelist(player,body) > -1: pygame.time.wait(4000) reset() pygame.display.update() #print(x, ' ', y) screen.fill((0,0,0)) pygame.time.delay(250)
Mark as private (unlisted)
for 30 minutes
for 6 hours
for 1 day
for 1 week
for 1 month
for 1 year
everlasting (like CCCP)