趣学python3(26)-pygame-蛇身运动
import sys, pygame
import random
from collections import deque
pygame.init()
#code:刘兴
size = width, height = 320, 240
black = 0, 0, 0
snakeNodeSize=(24,24)screen = pygame.display.set_mode(size)snakeNodeImage = pygame.image.load("snake1.png")
snakeNode = pygame.transform.scale(snakeNodeImage,snakeNodeSize)
snakeNodeRect = snakeNode.get_rect()
print(snakeNode.get_size())
print(snakeNodeRect.width,snakeNodeRect.height)
snakeNodeDeque=deque([])#蛇节点队列
fpsClock = pygame.time.Clock()
while True:for event in pygame.event.get():if event.type == pygame.QUIT:pygame.quit()sys.exit()runSpeed = [24, 24]runDirection=random.randint(1,4)#left,right,up,downif runDirection==1:runSpeed[1]=0 runSpeed[0]=-runSpeed[0]elif runDirection==2:runSpeed[1]=0 elif runDirection==3:runSpeed[0]=0runSpeed[1]=-runSpeed[1]elif runDirection==4:runSpeed[0]=0 snakeNodeRect= snakeNodeRect.move(runSpeed)if snakeNodeRect.left < 0 :snakeNodeRect.x=width-snakeNodeRect.widthif snakeNodeRect.right > width:snakeNodeRect.x=0 if snakeNodeRect.top < 0:snakeNodeRect.y=height-snakeNodeRect.heightif snakeNodeRect.bottom > height:snakeNodeRect.y=0snakeNodeHeadNew = snakeNodesnakeNodeHeadNewRect= snakeNodeRectsnakeNodeDeque.append((snakeNodeHeadNew,snakeNodeHeadNewRect))if len(snakeNodeDeque)>10:snakeNodeAbandon=snakeNodeDeque.popleft()del snakeNodeAbandonscreen.fill(black) for snakeNodeData in snakeNodeDeque:screen.blit(snakeNodeData[0],snakeNodeData[1])pygame.display.update()fpsClock.tick(5)
趣学python3(26)-pygame-蛇身运动相关推荐
- 趣学python3(28)-pygame-蛇身随机运动(可gameover )
import sys, pygame import random from collections import deque import numpy as np import copydef get ...
- 趣学python3(21)-pygame-surface位置及角色移动
import sys, pygameimport random#code:刘兴pygame.init()size = width, height = 320, 240black = 0, 0, 0sn ...
- 趣学python3(10)-函数注释方法
函数注释方法(Python3.5中引入). def add(x1:str,x2:str)->str:return x1 + x2 print(add(15,32)) print(add('abc ...
- 趣学python3(45)--调用C库-加解密
cryptography库既包括高级规则,也包括普通密码算法(如对称密码.消息摘要和关键派生函数)的低级接口. $ pip install cryptography 例如,用密码学的高层对称加密方式加 ...
- 趣学python3(40)--TCP服务器和客户端(socketserver类)
#!/usr/bin/env python3import socket import sysHOST="localhost" PORT=21200 ADDR=(HOST,PORT) ...
- 趣学python3(35)-Newton迭代法解一元方程
牛顿迭代法(Newton's method)又称为牛顿-拉夫逊(拉弗森)方法(Newton-Raphson method),它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法. 正割法避 ...
- 趣学python3(32)-enumerate,zip
返回枚举对象.iterable必须是序列.迭代器或其他支持迭代的对象.enumerate()返回的迭代器的 next() 方法返回一个元组,该元组包含一个计数(从开始时默认为0)和在iterable上 ...
- 趣学python3(30)-字典
s1={"名字":"张三","年龄":"25","特长":["绘画"," ...
- 趣学python3(29)-集合set
mysets=set([]) mynums=[11,12,13,11,12,13] y=set([11,13,18]) for num in mynums:mysets.add(num) print( ...
最新文章
- Apple的LZF算法解析
- pandas中的括号索引
- java web 邮箱激活 与 忘记密码(重置密码)
- epic转移游戏_Epic游戏商城更改退款政策 和steam一模一样
- 前端学习(360):svn操作前期连接工作
- 美国一鹦鹉趁主人不在家上网购物:买的都是水果蔬菜
- php上传图片大小判断,jQuery实现判断上传图片类型和大小的方法示例
- 中if判断中文_Excel中的逻辑函数的使用技巧 IF函数中的多条件判断
- 在 ArcView 3.3 中裁剪 DEM 数据
- php滚动播报,卫星云图滚动播放(实时更新)
- java合成tif图片_C# 将图片合成tif文件
- Linux系统磁盘的挂入和装载
- 【昭阳】开源第1弹 mybatis-genl
- JDK的下载安装以及配置
- vs2015 + BabeLua + Cocos2d-x 3.10配置
- 双眼可以测距和建立立体环境,双摄像头可以吗?
- [译]C++17,标准库有哪些新变化?
- PVST的简单应用及其配置
- siris 显著性排序网络代码解读(training过程)Inferring Attention Shift Ranks of Objects for Image Saliency
- KILE5生成bin文件