贪吃蛇程序代码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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • quartz调度问题 没报错也没停止运行 Scheduler class: ‘org.quartz.core.QuartzScheduler‘ – running locally

    quartz调度问题 没报错也没停止运行 Scheduler class: ‘org.quartz.core.QuartzScheduler‘ – running locallySchedulerclass:‘org.quartz.core.QuartzScheduler’-runninglocally.NOTSTARTED.Currentlyinstandbymode.Numberofjobsexecuted:0Usingthreadpool‘org.quartz.simpl.SimpleThreadPool’-with20…

    2022年7月27日
    6
  • mysql 字符转数字进行比较大小_mysql将字符串字段转为数字排序或比大小

    mysql 字符转数字进行比较大小_mysql将字符串字段转为数字排序或比大小mysql里面有个坑就是,有时按照某个字段的大小排序(或是比大小)发现排序有点错乱。后来才发现,是我们想当然地把对字符串字段当成数字并按照其大小排序(或是比大小),结果肯定不会是你想要的结果。这时候需要把字符串转成数字再排序。最简单的办法就是在字段后面加上+0如把’123’转成数字123(以下例子全为亲测):排序:例:方法一:ORDERBY’123’+0;(首推)方法二:ORDERBYCA…

    2022年5月29日
    52
  • Nmap 命令[通俗易懂]

    Nmap 命令[通俗易懂]Nmap命令探测主机信息一、扫描指定IP所开放的端口输入命令:nmap-sS-p-1-65535-v192.168.1.106表示用半开扫描,扫描指定端口为1到65535,并且显示扫描过程Nmap常用扫描参数及说明参数 说明-sT TCPconnect()扫描,这种方式会在目标主机的日志中记录大批连接请求和错误信息-sS 半开扫描,很少有系统能够把它记入系统日志。不过,需要root权限-sF-sN 秘密FIN数据包扫描,XmasTree、Null扫描模式-sP pin

    2022年5月28日
    48
  • shadowrock端口被占用_打开端口失败怎么处理

    shadowrock端口被占用_打开端口失败怎么处理右键选择选项设置

    2025年8月29日
    8
  • Eclipse背景颜色修改

    Eclipse背景颜色修改Eclipse背景颜色修改: 操作界面默认颜色为白色。对于我们长期使用电脑编程的人来说,白色很刺激我们的眼睛,所以我经常会改变workspace的背景色,使眼睛舒服一些。设置方法如下: 1、打开window->Preference,弹出Preference面板 2、展开General标签,选中Editors选项,展开。 3、选中TestEditors,右边出现Test

    2022年6月20日
    27
  • 合成控制法 (Synthetic Control Method) 及 Stata实现[通俗易懂]

    合成控制法 (Synthetic Control Method) 及 Stata实现[通俗易懂]作者:何庆红(北京大学中国卫生经济研究中心)连享会:(知乎|简书|码云|CSDN) 2019暑期“实证研究方法与经典论文”专题班-连玉君-江艇主讲 本推文介绍合成控制方法及其Stata的实现命令。合成控制方法(SyntheticControlMethod)由AbadieandGardeazabal(2003)提出。目前,该方法已被广泛使用。1.背景介绍…

    2022年4月27日
    54

发表回复

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

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