全是套路这才是贪吃蛇大作战最有趣的版本,你确定不看?

发布时间:2022-08-12 15:11:04 来源:中城游戏网 作者:小编新一

  导语

  

  “最有趣的版本”?O__O "…

  唤起了记忆,唤起了忧伤。

  还记得诺基亚称王的时代,拿着S40、S60系统的手机,在被窝里玩贪吃蛇的时光。当周围的人还在

  玩平面黑白地贪吃蛇小游戏的时候,诺基亚的贪吃蛇让我兴奋不已。

  人都是视觉动物,美的东西总会让人目不转睛。游戏更是如此,如果画面不喜欢,再好玩的玩法,

  再有意思的剧情,都索然无味。

  今天这就有意思多了,视觉效果特满满滴:那让我们开始探索叭

  正文

  一、《今日上线—最Skr变色贪吃蛇》

  最新的贪吃蛇最大的特点就是,这个蛇的颜色一直在变化。这是怎么做到的呢?那还是要从彩色图开始

  像是从像素点说起,计算机存储或者显示彩色图片时,实际上存储的是一个三维矩阵。每个像素点对

  应三个颜色通道。在我们定义的画图函数中。用random随机生成三个颜色通道,这样在每次画图的

  时候,颜色就是随机生成的,可以随时变化,这样就可以随时变化颜色。

  二、准备中

  1)运行环境

  本文用到的环境如下:Python3、Pycharm、Pygame、numpy以及部分自带的模块。

  模块安装:

  pip install +模块名 或者豆瓣镜像源 pip install -i https://pypi.douban.com/simple/ +模块名

  三、代码演示

  import pygameimport sysfrom pygame.locals import*import numpy as npfrom random import randintpygame.init()rect_width=20size=width,height=800,500COLOR=(100,30,39)#蛇的颜色x_rect=int(width/rect_width)y_rect=int(height/rect_width)#长宽格子有多个font1 = pygame.font.SysFont('宋体', 30, True)speed=[0,1]bg=(255,255,180)screen=pygame.display.set_mode(size)pygame.display.set_caption("今日上线—最Skr变色贪吃蛇")snake_new=[3,4]font=pygame.font.Font(None,20)food_live=1#食物的生命是否存在Food=[12,18]#食物所在的坐标ground=np.zeros([x_rect,y_rect])#整条蛇占据的矩阵,0是没有。score=0snake=[[5,5],[5,6],[5,7]]food0=1def get_color():    color1=(randint(0,255),randint(0,255),randint(0,255))    return color1def get_rect(row,column):#计算应该在哪里画方格,以右上角为点。    x1=rect_width*row    y1=rect_width*column    return (x1,y1,rect_width,rect_width)def move_snake(speed,food1):    global snake_new    k1=snake[0][0]+speed[0]    k2=snake[0][1]+speed[1]    snake_new=[k1,k2]    snake.insert(0,snake_new)    if food1==1:#如果吃到了食物就不用管了        pass    else:        del snake[-1]#没吃到食物就删除最后一项        def meet_food(snake_pos,food_pos):    global food0    global food_live    global score    if snake_pos[0]==food_pos:        food_live=0        food0=1        score=score+1           else:        food0=0     def draw_snake(snakebody):    for i in snakebody:        pygame.draw.rect(screen,get_color(),get_rect(i[0],i[1]),0)def draw_food(x,y):    pygame.draw.rect(screen,get_color(),get_rect(x,y),0)    while True:    for event in pygame.event.get():        if event.type==pygame.QUIT:            sys.exit()                if event.type==KEYDOWN:            if event.key==K_LEFT:                speed=[-1,0]            if event.key==K_RIGHT:                speed=[1,0]            if event.key==K_UP:                speed=[0,-1]            if event.key==K_DOWN:                speed=[0,1]    if food_live:        pass    else:        Food=[randint(0,x_rect-1),randint(0,y_rect-1)]#随机生成食物的位置。        food_live=1       meet_food(snake,Food)            move_snake(speed,food0)    #判断贪吃蛇是否死亡,如果死亡,就退出游戏    if snake[0][0]>x_rect or snake[0][0]<0 or snake[0][1]>y_rect or snake[0][1]<0:        pygame.quit()        sys.exit()    else:        pass    screen.fill(bg)    screen.blit(font1.render(u'score:%d  ' % score, True, [255, 0, 0]), [20, 20])    #pygame.draw.rect(screen,(23,56,78),get_rect(10,10),0)     draw_snake(snake)    draw_food(Food[0],Food[1])        pygame.display.flip()

  四、效果展示

  

  视频效果展示——

  总结

  合理游戏健康生活上课的时候别玩哦!

  

  哈哈哈!这款变色的彩版贪吃蛇已经上线啦~想玩儿的滴滴我哈!

相关资讯