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


相关推荐

  • qmake:变量手册

    qmake:变量手册qmake的基本行为受定义每个项目构建过程的变量声明的影响。1、ANDROID_ABIS此变量仅适用于Android目标。指定Android目标ABI列表。有效值为:armeabi-v7a、arm64-v8a、x86、x86_64。如:qmakeANDROID_ABIS=”armeabi-v7aarm64-v8a”2、ANDROID_API_VERSION此变量仅适用于Android目标。指定AndroidAPI级别编号。3、ANDROID

    2022年5月19日
    39
  • android registerreceiver() 参数,android – 如何使用registerReceiver方法?

    android registerreceiver() 参数,android – 如何使用registerReceiver方法?我想使用动态注册的BroadcastReceiver有一个Activity的引用,所以它可以修改其UI。我使用Context.registerReceiver()方法,但接收器的onReceive()方法从未调用。这里是显示问题的示例代码:packagecom.example;importandroid.app.Activity;importandroid.app.IntentService…

    2025年10月31日
    2
  • setContentView剖析[通俗易懂]

    setContentView剖析[通俗易懂]1、setContentView的作用是将View加载到根view之上,这样当显示view时,先显示根view,然后在显示子view,以此类推,最终将所有view显示出来。2、setContentView必须要放在findviewbyid之前,因为view在加载之前是无法引用的。3、setContentView最本质的作用是为要显示的view分配内存。4、act

    2022年6月26日
    31
  • 灰色预测模型_用excel作灰色预测步骤

    灰色预测模型_用excel作灰色预测步骤灰色预测模型是通过少量的、不完全的信息,建立数学模型并作出预测的一种预测方法。灰色系统理论是研究解决灰色系统分析、建模、预测、决策和控制的理论。灰色预测是对灰色系统所做的预测。目前常用的一些预测方

    2022年8月6日
    6
  • Padstart_notation pad pro

    Padstart_notation pad pro//将一个ipv4地址转换为10进制数输出//eg:192.168.1.1functiontranslateIP2Dig(ipStr){letipArr=ipStr.split(‘.’)letresArr=[]ipArr.forEach(item=>{letstr=parseInt(item).toString(2)str=str.padStart(8,0)resArr.push(str)})retu

    2025年10月14日
    5
  • codeforces round #257 div2 C、D「建议收藏」

    codeforces round #257 div2 C、D

    2022年2月6日
    45

发表回复

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

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