python50行小游戏_50行python代码实现的贪吃蛇小游戏

 2023-09-10 阅读 32 评论 0

摘要:50行python代码实现的贪吃蛇小游戏发布于 2014-09-01 21:26:24 | 1337 次阅读 | 评论: 1 | 来源: 网友投递python100行代码。Python编程语言Python 是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。

50行python代码实现的贪吃蛇小游戏

发布于 2014-09-01 21:26:24 | 1337 次阅读 | 评论: 1 | 来源: 网友投递

python100行代码。Python编程语言Python 是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。Python语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。

本文是一个用50行python代码实现的贪吃蛇小游戏,感兴趣的同学参考学习下.

代码如下:

用python写贪吃蛇?import sys, pygame

from pygame.locals import *

from random import randrange

贪吃蛇游戏编程代码,up =lambda x:(x[0]-1,x[1])

down = lambda x :(x[0]+1,x[1])

left = lambda x : (x[0],x[1]-1)

python贪吃蛇源代码博客,right = lambda x : (x[0],x[1]+1)

tl = lambda x :x<3 and x+1 or 0

tr = lambda x :x==0 and 3 or x-1

python贪吃蛇游戏代码详解、dire = [up,left,down,right]

move = lambda x,y:[y(x[0])]+x[:-1]

grow = lambda x,y:[y(x[0])]+x

s = [(5,5),(5,6),(5,7)]

d = up

food = randrange(0,30),randrange(0,40)

FPSCLOCK=pygame.time.Clock()

pygame.init()

pygame.display.set_mode((800,600))

pygame.mouse.set_visible(0)

screen = pygame.display.get_surface()

screen.fill((0,0,0))

times=0.0

while True:

time_passed = FPSCLOCK.tick(30)

if times>=150:

times =0.0

s = move(s,d)

else:

times +=time_passed

for event in pygame.event.get():

if event.type == QUIT:

sys.exit()

if event.type == KEYDOWN and event.key == K_UP:

s = move(s,d)

if event.type == KEYDOWN and event.key == K_LEFT:

d=dire[tl(dire.index(d))]

if event.type == KEYDOWN and event.key == K_RIGHT:

d=dire[tr(dire.index(d))]

if s[0]==food:

s = grow(s,d)

food =randrange(0,30),randrange(0,40)

if s[0] in s[1:] or s[0][0]<0 or s[0][0] >= 30 or s[0][1]<0 or s[0][1]>=40:

break

screen.fill((0,0,0))

for r,c in s:

pygame.draw.rect(screen,(255,0,0),(c*20,r*20,20,20))

pygame.draw.rect(screen,(0,255,0),(food[1]*20,food[0]*20,20,20))

pygame.display.update()

游戏截图:

bce49da1440b384e25d2c2f3e4eb8564.png

说明:

1.其实不用pygame,在把一些条件判断改改,估计可以再短一半。。等以后自己python水平高了再回来试试。。

2.但是50行的贪吃蛇代码,还是有可读性的,写的太短就真没有了。。

3.关键是把旋转,移动,等等这些算法用lamda表达式实现,还有函数对象。。

4.哪位“行者”能写的更短,小弟愿意赐教....

相关阅读:

50行python代码实现的贪吃蛇小游戏

仅用50行Python代码实现一个简单的代理服务器

Python实现的贪吃蛇游戏

仅用500行Python代码实现一个英文解析器的教程

使用70行Python代码实现一个递归下降解析器的教程

如何使用 50 行 Python 代码制作一个计算器

21行Python代码实现拼写检查器

100行python代码实现跳一跳辅助程序

200 行python 代码实现 2048 游戏

Python实现的弹球小游戏示例

python实现的小球弹性碰撞游戏代码

Python中实现的RC4算法实例代码

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://808629.com/46290.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 86后生记录生活 Inc. 保留所有权利。

底部版权信息