IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> python贪吃蛇 -> 正文阅读

[游戏开发]python贪吃蛇

import pygame, sys, random, time
from pygame.locals import *
black_colour = pygame.Color(28, 56, 20)
white_colour = pygame.Color(255, 144, 20)
red_colour = pygame.Color(255,34 , 20)
grey_colour = pygame.Color(150, 150, 150)

def GameOver(gamesurface):
? ??
? ? GameOver_font = pygame.font.SysFont("MicrosoftYaHei", 16)
? ??
? ? GameOver_colour = GameOver_font.render('GameOver', True, grey_colour)#只能英文
? ??
? ? GameOver_location = GameOver_colour.get_rect()
? ? GameOver_location.midtop = (310, 200)
? ??
? ? gamesurface.blit(GameOver_colour, GameOver_location)
? ??
? ? pygame.display.flip()
? ??
? ? time.sleep(5)
? ??
? ? pygame.quit()
? ??
? ? sys.exit()

def main():
? ??
? ? pygame.init()
? ? pygame.time.Clock()
? ? ftpsClock = pygame.time.Clock()
? ??
? ? gamesurface = pygame.display.set_mode((640, 480))
? ??
? ? pygame.display.set_caption('tanchishe snake')
? ??
? ? snakeposition = [100, 100]
? ??
? ? snakelength = [[100, 100], [80, 100], [60, 100]]
? ??
? ? square_purpose = [300, 300]
? ??
? ? square_position = 1
? ??
? ? derection = "right"
? ? change_derection = derection
? ??
? ? while True:
? ? ? ??
? ? ? ? for event in pygame.event.get():
? ? ? ? ? ? if event.type == QUIT:
? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? pygame.quit()
? ? ? ? ? ? ? ? sys.exit()
? ? ? ? ? ? elif event.type == KEYDOWN:
? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? if event.key == K_RIGHT or event.key == ord('d'):
? ? ? ? ? ? ? ? ? ? change_derection = "right"
? ? ? ? ? ? ? ? if event.key == K_LEFT or event.key == ord('a'):
? ? ? ? ? ? ? ? ? ? change_derection = "left"
? ? ? ? ? ? ? ? if event.key == K_UP or event.key == ord('w'):
? ? ? ? ? ? ? ? ? ? change_derection = "up"
? ? ? ? ? ? ? ? if event.key == K_DOWN or event.key == ord('s'):
? ? ? ? ? ? ? ? ? ? change_derection = "down"
? ? ? ? ? ? ? ? if event.key == K_ESCAPE:
? ? ? ? ? ? ? ? ? ? pygame.event.post(pygame.event.Event(QUIT))
? ? ? ??
? ? ? ? if change_derection == 'left' and not derection == 'right':
? ? ? ? ? ? derection = change_derection
? ? ? ? if change_derection == 'right' and not derection == 'left':
? ? ? ? ? ? derection = change_derection
? ? ? ? if change_derection == 'up' and not derection == 'down':
? ? ? ? ? ? derection = change_derection
? ? ? ? if change_derection == 'down' and not derection == 'up':
? ? ? ? ? ? derection = change_derection
? ? ? ?
? ? ? ? if derection == 'left':
? ? ? ? ? ? snakeposition[0] -= 20
? ? ? ? if derection == 'right':
? ? ? ? ? ? snakeposition[0] += 20
? ? ? ? if derection == 'up':
? ? ? ? ? ? snakeposition[1] -= 20
? ? ? ? if derection == 'down':
? ? ? ? ? ? snakeposition[1] += 20
? ? ? ??
? ? ? ? snakelength.insert(0, list(snakeposition))
? ? ? ??
? ? ? ? if snakeposition[0] == square_purpose[0] and snakeposition[1] == square_purpose[1]:
? ? ? ? ? ? square_position = 0
? ? ? ? else:
? ? ? ? ? ? snakelength.pop()
? ? ? ??
? ? ? ? if square_position == 0:
? ? ? ? ? ??
? ? ? ? ? ? x = random.randrange(1, 32)
? ? ? ? ? ? y = random.randrange(1, 24)
? ? ? ? ? ? square_purpose = [int(x * 20), int(y * 20)]
? ? ? ? ? ? square_position = 1
? ? ? ??
? ? ? ? gamesurface.fill(black_colour)
? ? ? ? for position in snakelength:
? ? ? ? ? ? pygame.draw.rect(gamesurface, white_colour, Rect(position[0], position[1], 20, 20))
? ? ? ? ? ? pygame.draw.rect(gamesurface, red_colour, Rect(square_purpose[0], square_purpose[1], 20, 20))
? ? ? ??
? ? ? ? pygame.display.flip()
? ? ? ??
? ? ? ? if snakeposition[0] < 0 or snakeposition[0] > 620:
? ? ? ? ? ? GameOver(gamesurface)
? ? ? ? if snakeposition[1] < 0 or snakeposition[1] > 460:
? ? ? ? ? ? GameOver(gamesurface)
? ? ? ? for snakebody in snakelength[1:]:
? ? ? ? ? ? if snakeposition[0] == snakebody[0] and snakeposition[1] == snakebody[1]:
? ? ? ? ? ? ? ? GameOver(gamesurface)
? ? ? ??
? ? ? ? ftpsClock.tick(8)
if __name__ == "__main__":
? ? main()
?

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2021-10-12 23:48:06  更:2021-10-12 23:48:55 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/28 2:40:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码