为培育提拔孩子专注力!我花了一晚上的时间做了一款走迷宫游戏!
导语
走迷宫,是一项充满伶俐的挑战~
挑战迷宫,也是家长培育提拔孩子专注力的好游戏。
那里有几组挑战走迷宫的小心爱。
先来看看吧!
(1)毛茸茸的小仓鼠,各人还记得那视频嘛?过关斩将,走完了6层迷宫。
让小动物走迷宫,显然不是仓鼠党的专利。
仓鼠热门事务之后更多的小动物大军参与了进来:萌宠猫咪。
展开全文
没有脚的金鱼,也能够“走”迷宫。
……省略号……
人类对“迷宫”的热爱,是有很长的汗青的,奇门遁甲八卦里面也经常有迷宫的效果。
今天小编的话就带着大伙儿一路造造一款走迷宫小游戏,那仍是起源于今天刷到的一个小视频!
把很热门的动漫造造了一个剧情迷宫游戏挽救小舞!
那配角是谁我就不消多说了,你们都猜到了!
注释
起首定义一个能够挪动的素材:那里我抉择的是只抱着小鱼干儿的小猫咪。
小猫咪能够上下摆布挪动:
classHero(pygame.sprite.Sprite):def__init__(self,imagepath,coordinate,block_size,border_size,**kwargs):pygame.sprite.Sprite.__init__(self)self.image=pygame.image.load(imagepath)self.image=pygame.transform.scale(self.image,(block_size,block_size))self.rect=self.image.get_rect()self.rect.left,self.rect.top=coordinate[0]*block_size+border_size[0],coordinate[1]*block_size+border_size[1]self.coordinate=coordinateself.block_size=block_sizeself.border_size=border_size'''挪动'''defmove(self,direction,maze):blocks_list=maze.blocks_listifdirection=='up':ifblocks_list[self.coordinate[1]][self.coordinate[0]].has_walls[0]:returnFalseelse:self.coordinate[1]=self.coordinate[1]-1returnTrueelifdirection=='down':ifblocks_list[self.coordinate[1]][self.coordinate[0]].has_walls[1]:returnFalseelse:self.coordinate[1]=self.coordinate[1]+1returnTrueelifdirection=='left':ifblocks_list[self.coordinate[1]][self.coordinate[0]].has_walls[2]:returnFalseelse:self.coordinate[0]=self.coordinate[0]-1returnTrueelifdirection=='right':ifblocks_list[self.coordinate[1]][self.coordinate[0]].has_walls[3]:returnFalseelse:self.coordinate[0]=self.coordinate[0]+1returnTrueelse:raiseValueError('Unsupportdirection%sinHero.move……'%direction)'''绑定到屏幕'''defdraw(self,screen):self.rect.left,self.rect.top=self.coordinate[0]*self.block_size+self.border_size[0],self.coordinate[1]*self.block_size+self.border_size[1]screen.blit(self.image,self.rect)
主函数代码实现:
'''主函数'''defmain(cfg):#初始化pygame.init()pygame.mixer.init()pygame.font.init()pygame.mixer.music.load(cfg.BGMPATH)pygame.mixer.music.play(-1,0.0)screen=pygame.display.set_mode(cfg.SCREENSIZE)pygame.display.set_caption('Walkamaze——源码基地:959755565')font=pygame.font.SysFont('Consolas',15)#起头界面Interface(screen,cfg,'game_start')#笔录关卡数num_levels=0#笔录起码用了几步通关best_scores='None'#关卡轮回切换whileTrue:num_levels+=1clock=pygame.time.Clock()screen=pygame.display.set_mode(cfg.SCREENSIZE)#--随机生成关卡地图maze_now=RandomMaze(cfg.MAZESIZE,cfg.BLOCKSIZE,cfg.BORDERSIZE)#--生成herohero_now=Hero(cfg.HEROPICPATH,[0,0],cfg.BLOCKSIZE,cfg.BORDERSIZE)#--统计步数num_steps=0#--关卡内主轮回whileTrue:dt=clock.tick(cfg.FPS)screen.fill((255,255,255))is_move=False#
↑↓←→掌握heroforeventinpygame.event.get():ifevent.type==pygame.QUIT:pygame.quit()sys.exit(-1)elifevent.type==pygame.KEYDOWN:ifevent.key==pygame.K_UP:is_move=hero_now.move('up',maze_now)elifevent.key==pygame.K_DOWN:is_move=hero_now.move('down',maze_now)elifevent.key==pygame.K_LEFT:is_move=hero_now.move('left',maze_now)elifevent.key==pygame.K_RIGHT:is_move=hero_now.move('right',maze_now)num_steps+=int(is_move)hero_now.draw(screen)maze_now.draw(screen)#
展现一些信息showText(screen,font,'LEVELDONE:%d'%num_levels,(255,0,0),(10,10))showText(screen,font,'BESTSCORE:%s'%best_scores,(255,0,0),(210,10))showText(screen,font,'USEDSTEPS:%s'%num_steps,(255,0,0),(410,10))showText(screen,font,'start:Wheretostartend:Wheretoend',(255,0,0),(10,600))#
揣度游戏能否成功if(hero_now.coordinate[0]==cfg.MAZESIZE[1]-1)and(hero_now.coordinate[1]==cfg.MAZESIZE[0]-1):breakpygame.display.update()#--更新更优功效ifbest_scores=='None':best_scores=num_stepselse:ifbest_scoresnum_steps:best_scores=num_steps#--关卡切换Interface(screen,cfg,mode='game_switch')'''run'''if__name__=='__main__':main(cfg)
游戏效果:
总结
好啦!那迷宫有点儿浩荡哈,走不走的出来就看你本身了!
人生一场也好像走迷宫,靠勤奋,也靠命运。勤奋多一点,胜利近一点儿!
完全的免费源码基地:#私信小编即可#记得点点存眷哦!