【全是套路】这才是贪吃蛇大作战最有趣的版本,你确定不看?
  AGvOXTF2xgLB 2023年11月02日 93 0


导语


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

                                                          “最有趣版本”?O__O "…

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

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

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

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

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

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

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

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

正文

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

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

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

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

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

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

二、准备中

1)运行环境

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

模块安装:

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

三、代码演示

import pygame
import sys
from pygame.locals import*
import numpy as np
from random import randint
pygame.init()

rect_width=20
size=width,height=800,500
COLOR=(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=0
snake=[[5,5],[5,6],[5,7]]
food0=1
def get_color():
color1=(randint(0,255),randint(0,255),randint(0,255))
return color1
def 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()

四、效果展示

截图展示效果——

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

视频展示效果展示——

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

总结

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

【全是套路】这才是贪吃蛇大作战最有趣的版本,你确定不看?_源码合集_06

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

完整的免费源码领取处:找我吖!源码见文末哈自取~

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


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

AGvOXTF2xgLB