document.write('
Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. #python 3.3
  2. from tkinter import *
  3. from random import*
  4.  
  5. class game:
  6.     def __init__(self):
  7.         self.root=Tk()
  8.         self.RUN=False
  9.  
  10.         self.frame=Frame(bg="black")
  11.         self.frame.pack();
  12.  
  13.         self.canvas=Canvas(self.frame, bg="black",width=300,height=300)
  14.         self.canvas.pack()
  15.  
  16.         self.clock=Label(self.frame, bg="black", fg="white")
  17.         self.clock.pack()
  18.  
  19.         self.points=Label(self.frame, bg="black", fg="white")
  20.         self.points.pack()
  21.  
  22.         self.button=Button(self.frame, bg="black", fg="white", text="Click to start" ,command=self.start)
  23.         self.button.pack()
  24.         self.root.mainloop()
  25.  
  26.     def start(self):
  27.         self.time=0
  28.         self.RUN=True
  29.  
  30.         self.foodX=[]
  31.         self.foodY=[]
  32.  
  33.         self.trapX=[]
  34.         self.trapY=[]
  35.  
  36.         self.TEXT=""
  37.         self.point=0
  38.  
  39.         self.x=100
  40.         self.y=100
  41.         self.tempx=100
  42.         self.tempy=100
  43.         self.UP=False
  44.         self.DOWN=False
  45.         self.LEFT=False
  46.         self.RIGHT=False
  47.  
  48.         self.size=3
  49.         self.canvas.bind("<ButtonPress-1>", self.onMClick)
  50.         self.run()
  51.  
  52.     def run(self):
  53.         if self.RUN is True:
  54.             self.time+=1
  55.             self.clock[\'text\']="TIME:" + str(self.time//100)
  56.             self.points[\'text\']="Points gathered: " + str(self.point)
  57.             self.move(10*self.size,2)
  58.             self.paint()
  59.             self.root.after(10, self.run)
  60.  
  61.     def end(self):
  62.         self.RUN=False
  63.         self.canvas.unbind("<ButtonPress-1>")
  64.  
  65.     def create_food(self,ball):
  66.         if len(self.foodX) <self.time//1500 +1:
  67.             self.foodX.append(randint(50,250))
  68.         if len(self.foodY) <self.time//1500 +1:
  69.             self.foodY.append(randint(50,250))
  70.         for i in range(0,len(self.foodX)):
  71.             self.canvas.create_rectangle(self.foodX[i], self.foodY[i], self.foodX[i]+10, self.foodY[i]+10, fill="blue")
  72.         for i in range(0,len(self.foodX)):
  73.             if len(self.canvas.find_overlapping(self.foodX[i], self.foodY[i], self.foodX[i]+10, self.foodY[i]+10)) is not 1:
  74.                 if ball in self.canvas.find_overlapping(self.foodX[i], self.foodY[i], self.foodX[i]+10, self.foodY[i]+10):
  75.                     self.point+=100
  76.                     self.size+=0.5
  77.                     self.foodX.pop(i)
  78.                     self.foodY.pop(i)
  79.                     self.create_food(ball)
  80.  
  81.     def create_trap(self,ball):
  82.         if len(self.trapX) <self.time//1500 +1:
  83.             self.trapX.append(randint(50,250))
  84.         if len(self.trapY) <self.time//1500 +1:
  85.             self.trapY.append(randint(50,250))
  86.         for i in range(0,len(self.trapX)):
  87.             self.canvas.create_rectangle(self.trapX[i], self.trapY[i], self.trapX[i]+10, self.trapY[i]+10, fill="red")
  88.         for i in range(0,len(self.trapX)):
  89.             if len(self.canvas.find_overlapping(self.trapX[i], self.trapY[i], self.trapX[i]+10, self.trapY[i]+10)) is not 1:
  90.                 if ball in self.canvas.find_overlapping(self.trapX[i], self.trapY[i], self.trapX[i]+10, self.trapY[i]+10):
  91.                     self.point-=50
  92.                     self.size-=1
  93.                     self.trapX.pop(i)
  94.                     self.trapY.pop(i)
  95.                     self.create_trap(ball)
  96.  
  97.  
  98.     def paint(self):
  99.         self.canvas.delete(ALL)
  100.         self.canvas.create_text(100,100, text=self.TEXT, fill="green")
  101.  
  102.         if self.time//100<=60:
  103.             if 10*self.size >0:
  104.                 ball=self.canvas.create_rectangle(self.x-10*self.size,self.y-10*self.size,self.x+10*self.size,self.y+10*self.size, fill="white")
  105.                 self.create_food(ball)
  106.             elif 10*self.size>150:
  107.                 self.clock[\'text\']="You lost"
  108.                 self.end()
  109.             else:
  110.                 self.clock[\'text\']="You lost"
  111.                 self.end()
  112.  
  113.     def move(self, b,speed):
  114.         if self.UP==True and self.y-b>0:
  115.             self.y-=speed
  116.         elif self.UP==True and self.y-b<=0:
  117.             self.UP=False
  118.             self.DOWN=True
  119.         if self.DOWN==True and self.y+b<300:
  120.             self.y+=speed
  121.         elif self.DOWN==True and self.y+b>=300:
  122.             self.DOWN=False
  123.             self.UP=True
  124.         if self.LEFT==True and self.x-b>0:
  125.             self.x-=speed
  126.         elif self.LEFT==True and self.x-b<=0:
  127.             self.LEFT=False
  128.             self.RIGHT=True
  129.         if self.RIGHT==True and self.x+b<300:
  130.             self.x+=speed
  131.         elif self.RIGHT==True and self.x+b>=300:
  132.             self.RIGHT=False
  133.             self.LEFT=True
  134.  
  135.     def left_click():
  136.         frame.bind(\'<Left>\', leftkey)
  137.     def right_click():
  138.         frame.bind(\'<Right>\', rightkey)
  139.  
  140.     def onMClick(self,event):  #ball moves where you click
  141.         self.tempx=event.x
  142.         self.tempy=event.y
  143.         if event.x> self.x and self.x is not self.tempx :
  144.             self.RIGHT=True
  145.             self.LEFT=False
  146.         elif event.x< self.x and self.x is not self.tempx :
  147.             self.LEFT=True
  148.             self.RIGHT=False
  149.         else:
  150.             self.x=self.tempx
  151.             self.RIGHT=False
  152.             self.LEFT=False
  153.         if event.y> self.y and self.y is not self.tempy :
  154.             self.DOWN=True
  155.             self.UP=False
  156.         elif event.y< self.y and self.y is not self.tempy :
  157.             self.UP=True
  158.             self.DOWN=False
  159.         else:
  160.             self.y=self.tempy
  161.             self.DOWN=False
  162.             self.UP=False
  163.  
  164. app=game()
');