Example #1
0
 def __init__(self, parent, diff=0, speed=5):
     self.parent = parent
     self.diff = diff
     self.gameover = 0
     self.count = 0
     self.speed_o = []
     self.part_lst = []
     self.plcontrol = []
     self.collrect_lst = []
     self.grow_i = []
     for i in range(1, 2):
         self.grow_i.append(
             pygame.image.load(path.join(gfx, "food" + str(i) + ".png")))
     self.speed_i = []
     for i in range(1, 10):
         self.speed_i.append(
             pygame.image.load(path.join(gfx, "etab" + str(i) + ".png")))
     self.part_i = pygame.image.load(path.join(gfx, "snake_part1.png"))
     self.head_i = pygame.image.load(path.join(gfx, "snake_head.png"))
     self.score_i = pygame.image.load(path.join(gfx, "score.png"))
     self.head_o = display.object(self.head_i,
                                  300,
                                  100,
                                  speed,
                                  layer=2,
                                  angle=0)
     self.plcontrol.append(self.head_o)
     self.grow_place()
     self.speed_place()
     self.empty = self.parent.font.render("Score: ", 0, [200, 50, 50])
     self.score_o = display.object(self.empty, 0, 30, layer=3)
Example #2
0
 def menu(self):
     self.purge()
     self.img.append(display.object(self.menu_back))
     self.option.append(display.font_wid(['pySnake'],'self.pysnake()',['center'],off=(-200,0)))
     self.option.append(display.font_wid(['pySnake Retro'],'self.game_classic()',['center'],off=(-200,0)))
     self.option.append(display.font_wid(['Options'],'self.settings()',['center'],off=(-200,0)))
     self.option.append(display.font_wid(['Highscores'],'self.show_high()',['center'],off=(-200,0)))
     self.option.append(display.font_wid(['Exit'],'sys.exit()',['center'],off=(-200,0)))        
Example #3
0
 def grow_place(self):
     try:
         self.grow_o.remove()
     except:
         pass
     x,y=(random.randint(10,self.parent.size[0]-40),random.randint(10,self.parent.size[1]-40))            
     i=random.randint(0,0)
     self.grow_o=display.object(self.grow_i[i],x,y,0,layer=1)        
Example #4
0
 def grow_place(self):
     try:
         self.grow_o.remove()
     except:
         pass
     x,y=(random.randint(10,self.parent.size[0]-40),random.randint(10,self.parent.size[1]-40))            
     i=random.randint(0,0)
     self.grow_o=display.object(self.grow_i[i],x,y,0,layer=1)        
Example #5
0
 def menu(self):
     self.purge()
     self.img.append(display.object(self.menu_back))
     self.option.append(display.font_wid(['pySnake'],'self.pysnake()',['center'],off=(-200,0)))
     self.option.append(display.font_wid(['pySnake Retro'],'self.game_classic()',['center'],off=(-200,0)))
     self.option.append(display.font_wid(['Options'],'self.settings()',['center'],off=(-200,0)))
     self.option.append(display.font_wid(['Highscores'],'self.show_high()',['center'],off=(-200,0)))
     self.option.append(display.font_wid(['Exit'],'sys.exit()',['center'],off=(-200,0)))        
Example #6
0
 def add(self):
     self.over = 0
     self.part_lst.append(display.object(self.part_i, layer=2))
     if self.count == 0:
         self.parent.trace.add_trace(self.head_o, 25, self.part_lst[0])
     else:
         self.parent.trace.add_trace(self.part_lst[self.count - 1], 25,
                                     self.part_lst[self.count])
     self.count += 1
Example #7
0
 def speed_place(self):
     for o in self.speed_o:
         o.remove()
     self.speed_o=[]
     for i in range(0,self.diff):
         random.seed()
         x,y=(random.randint(10,self.parent.size[0]-40),random.randint(10,self.parent.size[1]-40))
         i=random.randint(0,8)
         self.speed_o.append(display.object(self.speed_i[i],x,y,0,layer=1))
Example #8
0
 def speed_place(self):
     for o in self.speed_o:
         o.remove()
     self.speed_o=[]
     for i in range(0,self.diff):
         random.seed()
         x,y=(random.randint(10,self.parent.size[0]-40),random.randint(10,self.parent.size[1]-40))
         i=random.randint(0,8)
         self.speed_o.append(display.object(self.speed_i[i],x,y,0,layer=1))
Example #9
0
 def settings(self):
     self.purge()
     self.img.append(display.object(self.menu_back))
     self.option.append(display.font_wid(['Absolute Movement','Relative Movement'],'self.relcontrol=not self.relcontrol;self.option[self.sel].index=self.relcontrol',['center'],off=(-50,0)))
     if self.relcontrol==True:self.option[len(self.option)-1].cycle()
     self.text.append(display.font_wid(['Speed'],do=['center'],off=(-100,0)))
     self.text.append(display.font_wid(['Difficulty'],do=['center'],off=(-100,0)))
     self.text.append(display.font_wid(['FPS-Limit'],do=['center'],off=(-100,0)))        
     self.option.append(display.font_wid(['Back'],'self.menu()',['center'],off=(-50,0)))
     self.option.insert(1,display.font_wid([str(self.fpslimit)],'self.fpslimit=self.setvar(3,self.fpslimit)',['alignv','centerh'],targetv=3,off=(0,0)))        
     self.option.insert(1,display.font_wid([str(self.diff)],'self.diff=self.setvar(2,self.diff)',['alignv','centerh'],targetv=5,off=(0,0),stackv=True))
     self.option.insert(1,display.font_wid([str(self.speed)],'self.speed=self.setvar(1,self.speed)',['alignv','centerh'],targetv=7,off=(0,0)))
Example #10
0
 def settings(self):
     self.purge()
     self.img.append(display.object(self.menu_back))
     self.option.append(display.font_wid(['Absolute Movement','Relative Movement'],'self.relcontrol=not self.relcontrol;self.option[self.sel].index=self.relcontrol',['center'],off=(-50,0)))
     if self.relcontrol==True:self.option[len(self.option)-1].cycle()
     self.text.append(display.font_wid(['Speed'],do=['center'],off=(-100,0)))
     self.text.append(display.font_wid(['Difficulty'],do=['center'],off=(-100,0)))
     self.text.append(display.font_wid(['FPS-Limit'],do=['center'],off=(-100,0)))        
     self.option.append(display.font_wid(['Back'],'self.menu()',['center'],off=(-50,0)))
     self.option.insert(1,display.font_wid([str(self.fpslimit)],'self.fpslimit=self.setvar(3,self.fpslimit)',['alignv','centerh'],targetv=3,off=(0,0)))        
     self.option.insert(1,display.font_wid([str(self.diff)],'self.diff=self.setvar(2,self.diff)',['alignv','centerh'],targetv=5,off=(0,0),stackv=True))
     self.option.insert(1,display.font_wid([str(self.speed)],'self.speed=self.setvar(1,self.speed)',['alignv','centerh'],targetv=7,off=(0,0)))
Example #11
0
 def __init__(self,parent,diff=0,speed=5):
     self.parent=parent
     self.diff=diff
     self.gameover=0
     self.count=0
     self.speed_o=[]
     self.part_lst=[]
     self.plcontrol=[]
     self.collrect_lst=[]
     self.grow_i=[]
     for i in range(1,2):
         self.grow_i.append(pygame.image.load(path.join(gfx,"food"+str(i)+".png")))
     self.speed_i=[]
     for i in range(1,10):
         self.speed_i.append(pygame.image.load(path.join(gfx,"etab"+str(i)+".png")))
     self.part_i = pygame.image.load(path.join(gfx,"snake_part1.png"))
     self.head_i = pygame.image.load(path.join(gfx,"snake_head.png"))
     self.score_i=pygame.image.load(path.join(gfx,"score.png"))
     self.head_o = display.object(self.head_i,300,100,speed,layer=2,angle=0)
     self.plcontrol.append(self.head_o)
     self.grow_place()
     self.speed_place()
     self.empty=self.parent.font.render("Score: ",0,[200,50,50])
     self.score_o = display.object(self.empty,0,30,layer=3)
Example #12
0
 def show_high(self):
     self.purge()
     self.img.append(display.object(self.menu_back))
     self.option.append(display.font_wid(['Back'],'self.menu()',['center'],off=(0,300)))
     conn=sqlite3.connect('highdat')
     try:
         c=conn.cursor();c.execute('select * from stocks order by score DESC')
         for high in enumerate(c):
             text=str(high[0]+1)+'.'+str(high[1][0])+'        '+str(high[1][1])
             self.text.append(display.font_wid([text],do=['center'],off=(-50,0)))
             if high[0]>=15:break
     except:
         pass # no highdat file present...
     c.close()
     self.loop()
Example #13
0
 def show_high(self):
     self.purge()
     self.img.append(display.object(self.menu_back))
     self.option.append(display.font_wid(['Back'],'self.menu()',['center'],off=(0,300)))
     conn=sqlite3.connect('highdat')
     try:
         c=conn.cursor();c.execute('select * from stocks order by score DESC')
         for high in enumerate(c):
             text=str(high[0]+1)+'.'+str(high[1][0])+'        '+str(high[1][1])
             self.text.append(display.font_wid([text],do=['center'],off=(-50,0)))
             if high[0]>=15:break
     except:
         pass # no highdat file present...
     c.close()
     self.loop()
Example #14
0
 def pysnake(self):
     self.purge()
     display.fps_init(self.fpslimit)
     self.snake = snake_new(self, self.diff, self.speed)
     black = 0, 0, 0
     self.back = display.object(self.gameback, layer=0)
     self.snake.add()
     while 1:
         for event in pygame.event.get():
             if event.type == pygame.QUIT:
                 pygame.display.quit()
                 sys.exit()
             if event.type == pygame.KEYDOWN:
                 if event.key == pygame.K_ESCAPE: self.snake.gameover = 1
                 elif event.key == pygame.K_SPACE:
                     self.relcontrol = not self.relcontrol
                 if self.relcontrol == False:
                     for c in self.snake.plcontrol:
                         if event.key == pygame.K_UP:
                             c.speed_rot(setangle=270)
                         elif event.key == pygame.K_DOWN:
                             c.speed_rot(setangle=90)
                         elif event.key == pygame.K_LEFT:
                             c.speed_rot(setangle=180)
                         elif event.key == pygame.K_RIGHT:
                             c.speed_rot(setangle=0)
         kp = pygame.key.get_pressed()
         if pygame.time.get_ticks(
         ) - self.ptim > self.sensible and self.relcontrol == True:
             self.ptim = pygame.time.get_ticks()
             for c in self.snake.plcontrol:
                 if kp[275] > 0: c.speed_rot(self.control_angle * 1)
                 elif kp[276] > 0: c.speed_rot(self.control_angle * -1)
         if self.snake.gameover == 1:
             self.trace.reset()
             self.get_high()
             self.purge()
             self.menu()
             self.loop()
         else:
             self.snake.grow()
             self.snake.speed()
             self.snake.score()
             self.snake.collcheck()
             self.trace.update_track()
             self.trace.update_trace()
             display.tick(self.fpslimit, 1)
             display.show()
Example #15
0
 def pysnake(self):
     self.purge()
     display.fps_init(self.fpslimit)
     self.snake=snake_new(self,self.diff,self.speed)
     black =  0, 0, 0
     self.back = display.object(self.gameback,layer=0)
     self.snake.add()
     while 1:
         for event in pygame.event.get():
             if event.type==pygame.QUIT:
                 pygame.display.quit()
                 sys.exit()
             if event.type==pygame.KEYDOWN: 
                 if event.key==pygame.K_ESCAPE:self.snake.gameover=1
                 elif event.key==pygame.K_SPACE:self.relcontrol=not self.relcontrol
                 if self.relcontrol==False:
                     for c in self.snake.plcontrol:
                         if event.key==pygame.K_UP:c.speed_rot(setangle=270)
                         elif event.key==pygame.K_DOWN:c.speed_rot(setangle=90)
                         elif event.key==pygame.K_LEFT:c.speed_rot(setangle=180)
                         elif event.key==pygame.K_RIGHT:c.speed_rot(setangle=0)            
         kp=pygame.key.get_pressed()
         if pygame.time.get_ticks()-self.ptim> self.sensible and self.relcontrol==True:
             self.ptim=pygame.time.get_ticks()
             for c in self.snake.plcontrol:
                 if kp[275]>0:c.speed_rot(self.control_angle*1)
                 elif kp[276]>0:c.speed_rot(self.control_angle*-1)
         if self.snake.gameover==1:
             self.trace.reset()
             self.get_high()
             self.purge()
             self.menu()
             self.loop()
         else:
             self.snake.grow()
             self.snake.speed()
             self.snake.score()
             self.snake.collcheck()
             self.trace.update_track()
             self.trace.update_trace()
             display.tick(self.fpslimit,1)
             display.show()
Example #16
0
 def add(self):
     self.over=0
     self.part_lst.append(display.object(self.part_i,layer=2))
     if self.count==0:self.parent.trace.add_trace(self.head_o,25,self.part_lst[0])
     else:self.parent.trace.add_trace(self.part_lst[self.count-1],25,self.part_lst[self.count])
     self.count+=1