Created
March 22, 2012 12:38
-
-
Save sanchitgangwar/2158089 to your computer and use it in GitHub Desktop.
Snakes Game using Python
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# SNAKES GAME | |
# Use ARROW KEYS to play, SPACE BAR for pausing/resuming and Esc Key for exiting | |
import curses | |
from curses import KEY_RIGHT, KEY_LEFT, KEY_UP, KEY_DOWN | |
from random import randint | |
curses.initscr() | |
win = curses.newwin(20, 60, 0, 0) | |
win.keypad(1) | |
curses.noecho() | |
curses.curs_set(0) | |
win.border(0) | |
win.nodelay(1) | |
key = KEY_RIGHT # Initializing values | |
score = 0 | |
snake = [[4,10], [4,9], [4,8]] # Initial snake co-ordinates | |
food = [10,20] # First food co-ordinates | |
win.addch(food[0], food[1], '*') # Prints the food | |
while key != 27: # While Esc key is not pressed | |
win.border(0) | |
win.addstr(0, 2, 'Score : ' + str(score) + ' ') # Printing 'Score' and | |
win.addstr(0, 27, ' SNAKE ') # 'SNAKE' strings | |
win.timeout(150 - (len(snake)/5 + len(snake)/10)%120) # Increases the speed of Snake as its length increases | |
prevKey = key # Previous key pressed | |
event = win.getch() | |
key = key if event == -1 else event | |
if key == ord(' '): # If SPACE BAR is pressed, wait for another | |
key = -1 # one (Pause/Resume) | |
while key != ord(' '): | |
key = win.getch() | |
key = prevKey | |
continue | |
if key not in [KEY_LEFT, KEY_RIGHT, KEY_UP, KEY_DOWN, 27]: # If an invalid key is pressed | |
key = prevKey | |
# Calculates the new coordinates of the head of the snake. NOTE: len(snake) increases. | |
# This is taken care of later at [1]. | |
snake.insert(0, [snake[0][0] + (key == KEY_DOWN and 1) + (key == KEY_UP and -1), snake[0][1] + (key == KEY_LEFT and -1) + (key == KEY_RIGHT and 1)]) | |
# If snake crosses the boundaries, make it enter from the other side | |
if snake[0][0] == 0: snake[0][0] = 18 | |
if snake[0][1] == 0: snake[0][1] = 58 | |
if snake[0][0] == 19: snake[0][0] = 1 | |
if snake[0][1] == 59: snake[0][1] = 1 | |
# Exit if snake crosses the boundaries (Uncomment to enable) | |
#if snake[0][0] == 0 or snake[0][0] == 19 or snake[0][1] == 0 or snake[0][1] == 59: break | |
# If snake runs over itself | |
if snake[0] in snake[1:]: break | |
if snake[0] == food: # When snake eats the food | |
food = [] | |
score += 1 | |
while food == []: | |
food = [randint(1, 18), randint(1, 58)] # Calculating next food's coordinates | |
if food in snake: food = [] | |
win.addch(food[0], food[1], '*') | |
else: | |
last = snake.pop() # [1] If it does not eat the food, length decreases | |
win.addch(last[0], last[1], ' ') | |
win.addch(snake[0][0], snake[0][1], '#') | |
curses.endwin() | |
print("\nScore - " + str(score)) | |
print("http://bitemelater.in\n") |
ruprechtgaming
commented
May 10, 2022
via email
i dont do gist hub anymore, so fuck off bitch
…________________________________
From: MikeRbl ***@***.***>
Sent: Friday, 6 May 2022 2:19 AM
To: sanchitgangwar ***@***.***>
Cc: Ryan Case ***@***.***>; Comment ***@***.***>
Subject: Re: sanchitgangwar/snake.py
@MikeRbl commented on this gist.
________________________________
Hi I have this issue it was working, and next time I runned it breaks
PS C:\Users\roble> python -u "c:\Users\roble\Documents\Code\Projects\Python\Python-Projects\Snake\Snake-Culebrita.py"
Traceback (most recent call last):
File "c:\Users\roble\Documents\Code\Projects\Python\Python-Projects\Snake\Snake-Culebrita.py", line 18, in
win = curses.newwin( WINDOW_LARGO, WINDOW_ALTO, 0, 0) # y,x
_curses.error: curses function returned NULL
PS C:\Users\roble>
—
Reply to this email directly, view it on GitHub<https://gist.github.com/2158089#gistcomment-4156431>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AQYZW4VPZTALXJHI63F7FK3VIPYHZANCNFSM4HIO7INQ>.
You are receiving this because you commented.Message ID: ***@***.***>
?
…
Am 10.05.2020 um 12:26 schrieb vanhung3007 @.***>: @vanhung3007 commented on this gist. ========================= Traceback (most recent call last): File "C:\Python36\x.py", line 4, in import curses File "C:\Python36\lib\curses__init__.py", line 13, in from _curses import * ModuleNotFoundError: No module named '_curses' me too u can help me? — You are receiving this because you commented. Reply to this email directly, view it on GitHub https://gist.github.com/2158089#gistcomment-3298187, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOG2M4VCNM7NAVSEVMD5PNDRQZ6ODANCNFSM4HIO7INQ.
pip install curses
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment