<More Python Programming for the Absolute Beginner>一书中的第二章练习3(P33)

使用Python的Pygame库

import sys, pygame, random    #导入库文件
from pygame.locals import * pygame.init()  #初始化 white= 0, 0, 0  #定义颜色
pos_x= 300    #定义初始位置
pos_y= 250
vel_x= 0.2
vel_y= 0.1 screen= pygame.display.set_mode((600, 500))  #获取窗口对象
#myfont= pygame.font.Font(None, 60)
#textImage= myfont.render("Hello, Pygame!", True, white)
pygame.display.set_caption("Drawing Moving Rectangle")  #窗口名字 color_r= 255
color_g= 0
color_b= 0
color= color_r, color_g, color_b  #定义初始颜色 while True:
for event in pygame.event.get():
if event.type in (QUIT, KEYDOWN):
sys.exit()
screen.fill(white) pos_x+= vel_x
pos_y+= vel_y if pos_x> 500 or pos_x< 0:  #若x轴超出范围,则
  color_r= random.randint(0, 255)  
  color_g= random.randint(0, 255)
   color_b= random.randint(0, 255)
   color= color_r, color_g, color_b    #则矩形边的颜色随机改变
   vel_x= -vel_x  #速度方向相反 if pos_y> 400 or pos_y< 0:  #类似上面
  color_r= random.randint(0, 255)
  color_g= random.randint(0, 255)
  color_b= random.randint(0, 255)
  color= color_r, color_g, color_b
  vel_y= -vel_y position= pos_x, pos_y, 100, 100  
width= 1
pygame.draw.rect(screen, color, position, width)  #画矩形 # screen.blit(textImage, (100, 100))
pygame.display.update()  #更新

第一个Pygame程序,如有建议,敬请提出。

欢迎交流。

pygame初步(一)绘制一个运动的矩形的更多相关文章

  1. HTML5 在canvas绘制一个矩形

    笔者:本笃庆军 原文地址:http://blog.csdn.net/qingdujun/article/details/32930501 一.绘制矩形 canvas使用原点(0,0)在左上角的坐标系统 ...

  2. OpenGl 绘制一个立方体

    OpenGl 绘制一个立方体 为了绘制六个正方形,我们为每个正方形指定四个顶点,最终我们需要指定6*4=24个顶点.但是我们知道,一个立方体其实总共只有八个顶点,要指定24次,就意味着每个顶点其实重复 ...

  3. 如何使用CSS绘制一个响应式的矩形

    背景: 最近因为需要用到绘制类似九宫格的需求,所以研究了一下响应式矩形的实现方案. 有如下几种方案: 使用js来设置元素的高度 使用vw单位  div {width: 50vw; height: 50 ...

  4. 绘制一个绿色矩形平面((50, 50)->(350, 350))

    //VS2008+opencv2.4 //绘制一个绿色矩形平面 #include "stdafx.h" #include "highgui.h" #includ ...

  5. iOS----自定义UIView,绘制一个UIView

    绘制一个UIVIew最灵活的方式就是由它自己完成绘制.实际上你不是绘制一个UIView,你只是子类化了UIView并赋予子类绘制自己的能力.当一个UIVIew需要执行绘图操作的时,drawRect:方 ...

  6. Canvas绘制一个大鱼喂小鱼的游戏

    Canvas是HTML5中的一部分,强大的API足以让我们绘制我们任意想绘制的东西.利用Canvas的基础学习以及JavaScript面向对象的思想绘制一个小游戏,下面是源码地址https://git ...

  7. 转:iOS绘制一个UIView

    绘制一个UIView 绘制一个UIVIew最灵活的方式就是由它自己完成绘制.实际上你不是绘制一个UIView,你只是子类化了UIView并赋予子类绘制自己的能力.当一个UIVIew需要执行绘图操作的时 ...

  8. CAD指定区域绘制一个jpg文件

    主要用到函数说明: _DMxDrawX::DrawToJpg 把指定区域的内容绘制一个jpg文件中.详细说明如下: 参数 说明 BSTR sJpgFilePath Jpg文件名 DOUBLE dLbx ...

  9. WebGL简易教程(三):绘制一个三角形(缓冲区对象)

    目录 1. 概述 2. 示例:绘制三角形 1) HelloTriangle.html 2) HelloTriangle.js 3) 缓冲区对象 (1) 创建缓冲区对象(gl.createBuffer( ...

随机推荐

  1. 了解常见的浏览器内核 Trident,Geckos,Presto,Webkit

    了解常见的浏览器内核 Trident,Geckos,Presto,Webkit 内核只是一个通俗的说法,英文名称为"Layout engine",翻译过来就是"排版引擎& ...

  2. Netbeans搭建Android环境

    原文:Netbeans搭建Android环境 Netbeans环境的搭建主要依赖于NBAndroid插件,项目地址: http://www.nbandroid.org/p/installation.h ...

  3. finally块的问题(finally block does not complete normally) (转)

    当finall块中包含return语句时,Eclipse会给出警告“finally block does not complete normally”,原因分析如下: 1.不管try块.catch块中 ...

  4. 每天学点Linux:二

    关于输入输出和重定向: 默认情况下标准I/O的输入为键盘,输出为显示屏.输入和输出可以通过符号‘>’进行重定向. 例如可以通过命令:$>newfile 来创建一个新文件(如果newfile ...

  5. Leetcode OJ 刷题

    Valid Palindrome吐槽一下Leetcode上各种不定义标准的输入输出(只是面试时起码能够问一下输入输出格式...),此篇文章不是详细的题解,是自己刷LeetCode的一个笔记吧,尽管没有 ...

  6. c 统计字符串中字符出现的个数

    1.单纯用数组来解题 思路:从左往右循环,每次碰到一个字符就和左边的字符串比较,如果有相同的就右移,如果没有找到相同的就从这个位置向右统计个数并输出. #include<stdio.h> ...

  7. Node.js笔记3

    ###Node.js核心模块 1. 全局对象 Node.js中能够访问到的都是global的属性 **process它用于描述当前 Node.js 进程状态的对象,提供了一个与操作系统的简单接口.** ...

  8. error C2018: unknown character '0xa1'

    调试程序时出现 error C2018: unknown character '0xa1',代码行中加入的有编译器不能识别的字符,才发现由空格引起的,删除掉就ok了.

  9. C++时间获取

    http://net.pku.edu.cn/~yhf/linux_c/function/04.html   asctime(将时间和日期以字符串格式表示) 相关函数 time,ctime,gmtime ...

  10. 【转载】VC++中的图像类型转换--使用开源CxImage类库

    一.CxImage类库简介 这只是翻译了CxImage开源项目主页上的部分简介及简单使用. CxImage类库是一个优秀的图像操作类库.它可以快捷地存取.显示.转换各种图像.有的读者可能说,有那么多优 ...