今天是2020年2月6日,时间过得好快,以至于我在写到时间会下意识写成2019年……

  看来全国肺炎情况进一步升温了,以至于我家所在的小区进行了命令封锁通知,所以出行不再像以前那么自由了,不管怎样,给战斗在一线的抗肺炎医生们以及相关工作人员加油打气。

  言归正传,今天完成了有关python学习过程中的一个小挑战,总体而言没有遇到什么特别苦难的问题,属于过程化编程,练练手。

代码如下:

  1. #题目:回执矩形事例是唯一一个绕着屏幕移动形状的事例。修改该程序,以便任何时候,当矩形碰到屏幕边界时,矩形都将会改变颜色。
  2.  
  3. import pygame,sys,math,time
  4. from pygame.locals import *
  5.  
  6. #pygame初始化
  7. pygame.init()
  8.  
  9. #设置标题
  10. pygame.display.set_caption("Game_One")
  11.  
  12. #设置窗口大小
  13. screen=pygame.display.set_mode((600,400))
  14.  
  15. #定义变量
  16. color=0 #颜色变量
  17. sign=0 #移动标志
  18. p_x=0
  19. p_y=0
  20. x=0
  21. y=0
  22.  
  23. #游戏循环
  24. while True :
  25. color=255,255,255
  26. sign=1
  27. for event in pygame.event.get() :
  28. if event.type==QUIT :
  29. pygame.quit()
  30. sys.exit()
  31.  
  32. if p_x==550 :
  33. sign=2
  34. color=0,255,255
  35. if p_y==350 :
  36. sign=3
  37. color=0,0,255
  38. if p_x==0 :
  39. sign=4
  40. color=255,0,255
  41. if p_x==0 and p_y==0 :
  42. sign=1
  43. color=255,255,255
  44.  
  45. if sign==1 :
  46. print("1...") #为了测试用的,可删除。
  47. p_x+=1
  48. p_y=0
  49. elif sign==2 :
  50. print("2...")
  51. p_x=550
  52. p_y+=1
  53. elif sign==3 :
  54. print("3...")
  55. p_x-=1
  56. p_y=350
  57. elif sign==4 :
  58. print("4...")
  59. p_x=0
  60. p_y-=1
  61.  
  62. screen.fill((0,0,0))
  63. pygame.draw.rect(screen,color,(p_x,p_y,50,50),0)
  64. time.sleep(0.005)
  65. pygame.display.update()

效果展示:

【Game学习随笔01】挑战任务01的更多相关文章

  1. linux 学习随笔-系统日常管理常用命令

    1:W 查看系统整体负载,无法查看具体负载,比如内存,磁盘  23:25:20 up 13 min,  2 users,  load average: 0.00, 0.01, 0.01 USER   ...

  2. Java 获取各时区时间,获取当前时间到格林威治时间1970年01月01日00时00分00秒的秒数

    格林威治时间即UTC/GMT时间,1970年01月01日00时00分00秒(即UTC+8的北京时间1970年01月01日08时00分00秒)计算代码如下: /** * 获取指定时间到格林威治时间的秒数 ...

  3. (转) 基于Theano的深度学习(Deep Learning)框架Keras学习随笔-01-FAQ

    特别棒的一篇文章,仍不住转一下,留着以后需要时阅读 基于Theano的深度学习(Deep Learning)框架Keras学习随笔-01-FAQ

  4. C#程序集Assembly学习随笔(第一版)_AX

    ①什么是程序集?可以把程序集简单理解为你的.NET项目在编译后生成的*.exe或*.dll文件.嗯,这个确实简单了些,但我是这么理解的.详细:http://blog.csdn.net/sws8327/ ...

  5. Hive入门学习随笔(一)

    Hive入门学习随笔(一) ===什么是Hive? 它可以来保存我们的数据,Hive的数据仓库与传统意义上的数据仓库还有区别. Hive跟传统方式是不一样的,Hive是建立在Hadoop HDFS基础 ...

  6. JavaScript ES6 数组新方法 学习随笔

    JavaScript ES6 数组新方法 学习随笔 新建数组 var arr = [1, 2, 2, 3, 4] includes 方法 includes 查找数组有无该参数 有返回true var ...

  7. 64位BASM学习随笔(一)

     64位BASM学习随笔(一) Delphi的BASM一直是我最喜爱的内嵌汇编语言,同C/C++的内联汇编相比,它更方便,更具灵活性,由于C/C++的内联汇编仅仅能是或插入式的汇编代码,函数花括号 ...

  8. Leetcode 542:01 矩阵 01

    Leetcode 542:01 矩阵 01 Matrix### 题目: 给定一个由 0 和 1 组成的矩阵,找出每个元素到最近的 0 的距离. 两个相邻元素间的距离为 1 . Given a matr ...

  9. typeScript学习随笔(一)

    TypeScript学习随笔(一) 这么久了还不没好好学习哈这么火的ts,边学边练边记吧! 啥子是TypeScript  TypeScript 是 JavaScript 的一个超集,支持 es6 标准 ...

  10. jquery学习随笔

    转)jquery学习随笔(jquery选择器)   jQuery的选择器是CSS 1-3,XPath的结合物.jQuery提取这二种查询语言最好的部分,融合后创造出了最终的jQuery表达式查询语言. ...

随机推荐

  1. The Preliminary Contest for ICPC Asia Nanjing 2019 - D Robots(概率dp+拓扑排序)

    这题概率dp + 拓扑排序可以写 改天补解释 #include <bits/stdc++.h> using namespace std; const int maxn=1e5+10; ve ...

  2. 【代码学习】PHP面向对象之封装与继承

    一.封装(访问控制) 就是将属性私有,并提供公有的setter放置与getter取值方法注:封装是进行访问控制,不是拒绝访问             public(公有)    protected(受 ...

  3. MySQL数据库备份还原

    本文以CentOS 7 yum安装的MariaDB-server5.5为例,说明MySQL的几种 备份还原方式 将服务器A(192.168.1.100)上的数据库备份,还原到B(192.168.1.2 ...

  4. MySQL中case when的基本用法总结

    MySQL中case when的基本用法总结原创Backcanhave7 最后发布于2018-12-06 15:14:15 阅读数 439 收藏展开MySQL中的case when有用两种用法,官方文 ...

  5. python字典操作方法详解

    前言 字典是一种通过名字或者关键字引用的得数据结构,key 类型需要时被哈希,其键可以是数字.字符串.元组,这种结构类型也称之为映射.字典类型是Python中唯一內建的映射类型. 注意,浮点数比较很不 ...

  6. SpringBoot实现restuful风格的CRUD

    restuful风格: 百度百科: RESTFUL是一种网络应用程序的设计风格和开发方式,基于HTTP,可以使用XML格式定义或JSON格式定义.RESTFUL适用于移动互联网厂商作为业务使能接口的场 ...

  7. KEAZ128 时钟配置

    本文介绍如何用KEAZ128评估版(FRDM-KEAZ128Q80)配置为40MHz core freqency/20MHz bus frequency. 1.了解器件时钟特性 参见NXP KEA12 ...

  8. python中:from * import 与 import 详解

    在python 中导入模块是我们最常用的功能,基本每个.py 文件中都会有 import 或者是 from * import 语句,可是,这两种方法有什么不同,有该怎么用?今天就好好分析一下. 先上定 ...

  9. 四阶幻方-蓝桥杯-DFS

    答案:416 用next_permutation()全部排列的话会超时 所以用dfs搜索,只搜索前三行就好,前三行确定之后,第四行也就确定 #include<iostream> #incl ...

  10. Windows驱动开发-IRP超时处理

    IRP被送到底层驱动程序以后,由于硬件设备的问题,IRP不能得到及时处理,甚至有可能永远不会被处理,这时候需要对IRP超时情况进行处理,一旦在规定时间内,IRP没有被处理,操作系统就会进入到IRP的处 ...