-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathminpro.py
87 lines (80 loc) · 2.33 KB
/
minpro.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
from turtle import *
from random import randrange
from freegames import square,vector
from inst import *
from time import sleep
from fil import *
from __init__ import *
col,st,na,le,sp=instr()
if le==1:
le=150
elif le==2:
le=100
else:
le=50
apple=vector(0,0)
snake=[vector(0,0)]
loca=vector(0,-10)
if sp==2:
brick=[vector(10,10),vector(10,10)*5,vector(10,10)*10,vector(10,10)*15,vector(10,10)*20,vector(10,10)*25,
vector(-10,-10),vector(-10,-10)*5,vector(-10,-10)*10,vector(-10,-10)*15,vector(-10,-10)*20,vector(-10,-10)*25,
vector(10, -10), vector(10, -10)*5,vector(10, -10) * 10, vector(10, -10) * 15, vector(10, -10) * 20,vector(10, -10) * 25,
vector(-10, 10), vector(-10, 10)*5,vector(-10, 10) * 10, vector(-10, 10) * 15, vector(-10, 10) * 20,vector(-10, 10) * 25
]
else:
brick=[]
def re(x,y):
loca.x=x
loca.y=y
def ground(sn):
return -350<sn.x<325 and -283<sn.y<280
def snake_movement():
score=0
sn=snake[-1].copy()
sn.move(loca)
if not ground(sn) or (sn in snake) or (sn in brick):
score =(len(snake)-1)
print("name of player =",na,"\nscore=",score,"\ngameover")
dat(na,score)
exit(0)
snake.append(sn)
if sn==apple:
apple.x=randrange(-30,30)*10
apple.y=randrange(-20,20)*10
if not apple in brick:
apple.x = randrange(-30,30) * 10
apple.y = randrange(-20,20) * 10
lo1=randrange(-30,30)*10
lo2=randrange(-20,20)*10
brick.append(vector(lo1,lo2))
else:
snake.pop(0)
clear()
for a in snake:
square(a.x,a.y,10,col)
square(apple.x,apple.y,10,"red")
for b in brick:
square(b.x,b.y,10,"blue")
update()
ontimer(snake_movement,le)
def ex():
score = (len(snake) - 1)
print("score=", score, "\ngameover")
exit(0)
if st=="START" or st=="start":
sleep(3)
hideturtle()
bgcolor("black")
tracer(False)
listen()
onkey(lambda:re(10,0),"Right",)
onkey(lambda:re(-10,0),"Left")
onkey(lambda:re(0,10),"Up")
onkey(lambda:re(0,-10),"Down")
onkey(lambda:re(10,0),"d")
onkey(lambda:re(-10,0),"a")
onkey(lambda:re(0,10),"w")
onkey(lambda:re(0,-10),"s")
onkey(lambda:ex(),"q")
snake_movement()
done()