import sys, pygameimport random#code:刘兴pygame.init()size = width, height = 320, 240black = 0, 0, 0snakeNodeSize=(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)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=0pygame.time.delay(500)screen.fill(black)screen.blit(snakeNode,snakeNodeRect)pygame.display.flip()

方块在自由移动,遇到壁会自动到另一边

趣学python3(21)-pygame-surface位置及角色移动相关推荐

  1. 趣学python3(35)-Newton迭代法解一元方程

    牛顿迭代法(Newton's method)又称为牛顿-拉夫逊(拉弗森)方法(Newton-Raphson method),它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法. 正割法避 ...

  2. 趣学python3(30)-字典

    s1={"名字":"张三","年龄":"25","特长":["绘画"," ...

  3. 趣学python3(28)-pygame-蛇身随机运动(可gameover )

    import sys, pygame import random from collections import deque import numpy as np import copydef get ...

  4. 趣学python3(26)-pygame-蛇身运动

    import sys, pygame import random from collections import deque pygame.init() #code:刘兴 size = width, ...

  5. 趣学python3(10)-函数注释方法

    函数注释方法(Python3.5中引入). def add(x1:str,x2:str)->str:return x1 + x2 print(add(15,32)) print(add('abc ...

  6. 趣学python3(4)-数字,字符串,列表(1)

    1.数字 普通除法 print(7/3) 2.3333333333333335 地板除 print(7//3) 2 取余 print(7%3) 1 乘法 print(7*3) 21 乘方 print( ...

  7. 趣学python3(45)--调用C库-加解密

    cryptography库既包括高级规则,也包括普通密码算法(如对称密码.消息摘要和关键派生函数)的低级接口. $ pip install cryptography 例如,用密码学的高层对称加密方式加 ...

  8. 趣学python3(40)--TCP服务器和客户端(socketserver类)

    #!/usr/bin/env python3import socket import sysHOST="localhost" PORT=21200 ADDR=(HOST,PORT) ...

  9. 趣学python3(32)-enumerate,zip

    返回枚举对象.iterable必须是序列.迭代器或其他支持迭代的对象.enumerate()返回的迭代器的 next() 方法返回一个元组,该元组包含一个计数(从开始时默认为0)和在iterable上 ...

最新文章

  1. 报错解决:RequestsDependencyWarning: urllib3 (1.24.3) or chardet (3.0.4) doesn't match a supported versio
  2. express运行原理
  3. Laravel 中查询 where 记录
  4. c++设计模式之简单工厂模式
  5. jq 控制td只显示一行_桥式八角翼闸DAIC-TD-YZ
  6. Spring 3.0 注解注入详解
  7. Django-发送注册、忘记密码邮件验证-send_mail
  8. python 去除读取txt输出时候的换行号
  9. Django安装(for Mac)
  10. Address already in use
  11. java 登陆系统设计_Java 程序设计——登录系统
  12. 1.《Spring学习笔记-MVC》系列文章,讲解返回json数据的文章共有3篇,分别为:...
  13. xbox 手柄按键测试软件,unity中链接Xbox手柄设置及按键检测
  14. Win10 Ctrl+Alt+方向键 屏幕显示翻转解决办法
  15. 面试官:为何Redis使用跳表而非红黑树实现SortedSet?
  16. 数据可视化图表插件_7个最佳数据可视化WordPress插件(图表和图表)
  17. 使用MIT JWI(Java WordNet Interface)查询WordNet反义词
  18. pythonopencv图像去噪滤波_opencv python 图像去噪
  19. Spring Boot进阶(17):如何在Swagger2中配置header请求头等参数?若不会,我便手把手教你 | 超级详细,建议收藏
  20. 阿里巴巴拟收购紫光股份~

热门文章

  1. [Design Pattern] 抽象工厂模式
  2. CXF 入门:创建一个基于SOAPHeader的安全验证(CXF拦截器使用)
  3. TortoiseGit- 创建本地新分支,提交推送到远程,本地新分支合并到工作分支,提交到远程工作分支等。...
  4. hdu2896 病毒侵袭 ac自动机
  5. 数据结构录 之 单调队列单调栈。
  6. General texture mapping resources
  7. schema get_ddl
  8. 使用yum更新时不升级Linux内核的方法
  9. 360急速浏览器JS的调试
  10. Unity之计时器功能(转)