python贪吃蛇代码_python 贪吃蛇

python贪吃蛇代码_python 贪吃蛇importpygamefrompygame.localsimport*fromsysimportexitfrompygame.colorimportTHECOLORSimportrandomcellsize=20width=640height=480cellw=int(width/cellsize)cellh=int(height/ce…

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

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

import pygame
from pygame.locals import *
from sys import exit
from pygame.color import THECOLORS
import random
import sys
cellsize = 20
width = 640
height = 480
cellw = int(width/cellsize)
cellh = int(height/cellsize)
speed = 15
right = 'right'
left = 'left'
up = 'up'
down = 'down'
rctwidth = 0
rctwidth2 = 1
color = 0,255,0
color3 = 0,250,0
direction = right
ap = { 'x': 0, 'y': 0}
color1 = 199, 21, 133
count = 3
def main():
global speed, speedCLOCK,ap,count, screen
pygame.init()
count = 3
speedCLOCK = pygame.time.Clock()
pygame.display.set_caption("Hello, World!")
screen = pygame.display.set_mode((width, height))
screen.fill((0, 0, 0))
pygame.display.flip()
while True:
for event in pygame.event.get():
keys = pygame.key.get_pressed()
if keys[K_BACKSPACE]:
pygame.quit()
sys.exit()
ap = randomplace()
snakeoriginalbody()
gameover()
print(randomplace())
return
def snakeoriginalbody():
k = 10
startx = random.randint( 5, cellw - 6)
starty = random.randint( 5, cellh - 6)
snake = [ { 'x': startx, 'y': starty},
{ 'x': startx - 1, 'y': starty },
{ 'x': startx - 2, 'y': starty }]
while True:
movdirection( snake)
drawsnake(snake)
pygame.display.update()
if snake[0]['x'] < 0 or snake[0]['x'] == cellw :
return
if snake[0]['y'] < 0 or snake[0]['y'] ==cellh :
return
k = count-1
while k >1 :
if snake[0]['x'] == snake[k]['x'] and snake[0]['y'] == snake[k]['y']:
return
k -= 1
def movdirection( snake):
global direction,ap,count
keys = pygame.key.get_pressed()
if keys[K_RIGHT]:
direction = right
if keys[K_LEFT]:
direction = left
if keys[K_UP]:
direction = up
if keys[K_DOWN]:
direction = down
if keys[K_BACKSPACE]:
pygame.quit()
sys.exit()
if direction == right :
newsnkehead = { 'x': snake[0]['x'] + 1, 'y': snake[0]['y']}
if direction == left :
newsnkehead = { 'x': snake[0]['x'] - 1, 'y': snake[0]['y']}
if direction == up :
newsnkehead = { 'x': snake[0]['x'], 'y': snake[0]['y'] - 1}
if direction == down :
newsnkehead = { 'x': snake[0]['x'], 'y': snake[0]['y'] + 1}
snake.insert(0, newsnkehead)
if snake[0]['x'] == ap['x'] and snake[0]['y'] == ap['y']:
ap = randomplace()
count +=1
return
else:
snake.pop(count)
def drawsnake(snake):
global screen
screen = pygame.display.set_mode((width, height))
for coord in snake:
pos = coord['x'] * cellsize, coord['y'] * cellsize, cellsize, cellsize
pygame.draw.rect(screen, color, pos, rctwidth)
pygame.draw.rect(screen, color3, pos, rctwidth2)
pos = ap['x'] * cellsize, ap['y'] * cellsize,cellsize,cellsize
pygame.draw.rect(screen, color1, pos, rctwidth)  
over = pygame.font.SysFont('arial', 60)
textImage = over.render("socre %.d" % (count - 3), True, color)
screen.blit(textImage, (450, 60))
over = pygame.font.SysFont('arial', 60)
textImage = over.render("socre %.d" % (count - 3), True, color)
screen.blit(textImage, (450, 60))
speedCLOCK.tick(speed)
pygame.display.flip()
def randomplace():
return{ 'x': random.randint( 0, cellw - 1), 'y': random.randint( 0, cellh - 1)}
def gameover():
screen = pygame.display.set_mode((width, height))
over = pygame.font.SysFont('arial', 60)
over2 = pygame.font.SysFont('arial',30)
textImage = over.render("game over", True, color)
screen.blit(textImage, (200, 200))
textImage2 = over2.render("press L-CTRL to restar", True, color)
screen.blit(textImage2, (200, 300))
pygame.display.update()
while True:
for event in pygame.event.get():
keys = pygame.key.get_pressed()
if  keys[K_BACKSPACE]:
pygame.quit()
sys.exit()
if  keys[K_LCTRL]:
main()
main()

自学python 第一次尝试编程贪吃蛇,尚有不足之处!还要继续学习!

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/169544.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • dota2连接服务器没有响应,win10系统dota2无法与任何服务器建立连接的解决方法

    dota2连接服务器没有响应,win10系统dota2无法与任何服务器建立连接的解决方法很多小伙伴都遇到过win10系统dota2无法与任何服务器建立连接的情况,想必大家都遇到过win10系统dota2无法与任何服务器建立连接的情况吧,那么应该怎么处理win10系统dota2无法与任何服务器建立连接呢?我们依照1、按下windows+Q组合键打开搜索框,在搜索框中搜索cmd,在搜索结果中我们可以看到命令提示符在命令提示符选项上单击右键,选择【以管理员身份运行】;2、在命令…

  • SpringBoot跨域的几种解决方案

    SpringBoot跨域的几种解决方案SpringBoot跨域请求处理方式方法一、SpringBoot的注解@CrossOrigin(也支持SpringMVC)简单粗暴的方式,Controller层在需要跨域的类或者方法上加上该注解即可@RestController@CrossOrigin@RequestMapping(“/situation”)publicclassSituationControllerextendsPublicUtilController{@AutowiredprivateSit

  • Mysql创建新用户方法

    1.CREATE USER语法:CREATE USER 'username'@'host' IDENTIFIED&#160

    2021年12月27日
  • leetcode 回溯算法_wps怎么在生成目录的页加括号

    leetcode 回溯算法_wps怎么在生成目录的页加括号原题链接数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。示例 1:输入:n = 3输出:[“((()))”,”(()())”,”(())()”,”()(())”,”()()()”]示例 2:输入:n = 1输出:[“()”] 提示:1 <= n <= 8题解回溯class Solution {public: vector<string>res; string t = “”; voi

  • 排名前三的python 开源 IDE

    Python无处不在,似乎它支持从主要网站到桌面实用程序到企业软件的所有功能。Python已经被用来编写流行的软件项目,如dnf/yum,OpenStack,OpenShot,Blender,Calibre,甚至是原始的BitTorrent客户端。它也恰好是我最喜欢的编程语言之一。就个人而言,Python多年来一直是我从大学课程到小脚本的一切课程,帮助我自动执行重复的任务。它是少数…

  • 深度图可视化

    深度图可视化之前一直以为深度图应该是黑灰色的,不清楚为什么还有彩色的深度图,直到今天才知道原来这是深度图可视化。专门写篇博客纪念一下!灰黑色的图片人眼很难识别出其中的物体,感知深度的变化。所以才需要可视化,下面是几种颜色空间:…

发表回复

您的电子邮箱地址不会被公开。

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