贪吃蛇程序代码python_Python贪吃蛇代码

贪吃蛇程序代码python_Python贪吃蛇代码importsys,pygamefrompygame.localsimport*fromrandomimportrandrangeup=lambdax:(x[0]-1,x[1])down=lambdax:(x[0]+1,x[1])left=lambdax:(x[0],x[1]-1)right=lambdax:(x[0],x[1]+1)tl=lam…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

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)

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

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()

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/169555.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 三阶魔方第七步公式_四阶魔方公式图解七步

    三阶魔方第七步公式_四阶魔方公式图解七步关于魔方,你需要知道:无论怎么转,每一个面的最中间的块[图:1-面中心块]是固定不动的。所以每一面的中心块颜色决定了该面的颜色。无论怎么转,位于顶角的有三种颜色的块[图:2-顶角块]永远会在某一个顶角;位于棱中间的有两种颜色的块[图:2-棱中间块]永远会在某一个棱的中间。所谓的公式,就是用一定的套路告诉你每个面该怎么转。所用到的字母UDLRFB分别代表魔方的上下左右前后…

    2025年6月8日
    2
  • Python数据类型有几种「建议收藏」

    Python数据类型有几种「建议收藏」数据类型是每种编程语言必备属性,只有给数据赋予明确的数据类型,计算机才能对数据进行处理运算,因此,正确使用数据类型是十分必要的,不同的语言,数据类型类似,但具体表示方法有所不同,以下是Python编程常用的数据类型:1.数字类型Python数字类型主要包括int(整型)、long(长整型)和float(浮点型),但是在Python3中就不再有long类型了。int(整型)在…

    2022年6月6日
    27
  • cnpm 安装yarn[通俗易懂]

    cnpm 安装yarn[通俗易懂]cnpm安装yarn一句命令搞定cnpminstall-gyarn–registry=https://registry.npm.taobao.org再配置下源yarnconfigsetregistryhttps://registry.npm.taobao.org-gyarnconfigsetsass_binary_si…

    2022年5月9日
    66
  • 【Unity3D】自学之路2.0

    【Unity3D】自学之路2.0一、前言原文主要讲的是如何从零基础入门,然后一步一步进阶的文章,包括很多学习资料,学习的网址,研究方向等,内容还是比较全面的。大家多多支持一些克森大神,关注一下他的公众号。这篇文章就将原文的内容进行总结合并,然后转载过来跟大家一起学习。二、原文原文地址:https://mp.weixin.qq.com/s/nAaGAzT7NIPH4v6YOzBCRg原文作者:克森原文出处:微…

    2022年6月1日
    32
  • 【学习笔记】CSS深入理解之absolute「建议收藏」

    【学习笔记】CSS深入理解之absolute「建议收藏」【学习笔记】CSS深入理解之absolute

    2022年4月21日
    41
  • 大数据开发和java开发有什么不同?

    大数据开发和java开发有什么不同?最近发现有些同学并不太了解大数据开发工程师这个职位,所以想简单介绍一下什么是大数据开发工程师,当前互联网公司的数据开发到底是什么样子的?和一般的Java或者PHP工程师在工作上有什么区别?什么不是大数据开发?仅使用数据库(关系型mysql,sqlserver,oracle等非关系型mongoredis等),尽管数据量达到千万级别,亿级别不是大数据开发。从业务系统的数据库中查询数据…

    2022年5月27日
    41

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号