任务一:实现简单的屏幕的颜色之间的切换

import pygame
from pygame.locals import * pygame.init()
win = pygame.display.set_mode((800,600),DOUBLEBUF|HWSURFACE)
for i in range(10):
win.fill((0,255,0))
if i%2==0:
win.fill((255,0,0))
pygame.time.wait(500)
pygame.display.flip()

注意的点:

需要先导入Pygame.locals才能用后来的doublebuf 以及hwsurface

但是怎么样定义屏幕的颜色即  depth   的设置还不是很懂。

任务二:捕捉鼠标移动的事件,并在鼠标的位置画一个圆

import pygame
from pygame.locals import *
import sys pygame.init()
win = pygame.display.set_mode((800,600),DOUBLEBUF|HWSURFACE)
while True:
ev = pygame.event.get()
for i in ev:
if not i ==None:
print(i)
if i.type==QUIT:
pygame.quit()
elif i.type==MOUSEMOTION:
pygame.draw.circle(win,(255,0,0),i.pos,3, 3)
pygame.display.flip()

疑问:在pygame.draw.circle函数中不能加关键字如radius=,  或者width =,只能直接写值,不知道为什么。

还有在捕捉事件的过程中一定要加入死循环,不然事件会瞬间打印出来,再后来的事件发生之前,捕捉已经结束。

任务三:simon 效应的雏形,随机呈现小圆点

#random circle dot in the window
import pygame,sys,random
from pygame.locals import * pygame.init()
win = pygame.display.set_mode((800,600),DOUBLEBUF|HWSURFACE)
cor = ()
position = ()
for i in range(30): num = random.choice([0,1])
if num ==0:
cor = (255,0,0)
position = (200,300)
else:
cor=(0,255,0)
position =(600,300)
pygame.time.wait(500) pygame.draw.circle(win,cor,position,10)
## win.fill((0,0,0)) the display covers?when the code is here,the reason is that the background dont cansal the circle pygame.display.flip()
pygame.time.delay(1000)
win.fill((0,0,0))
pygame.display.flip()#no no no ,because i dont have the flip(), not the background cannt cover the circle
pygame.time.delay(800) pygame.quit()
sys.exit()

注意的点:

呈现圆点后的黑屏,要用filp()函数,而并不是背景色不能够覆盖圆点

任务四:如何添加声音

##add a sound to the window
import pygame
from pygame.locals import * pygame.init()
win = pygame.display.set_mode((800,600),DOUBLEBUF|HWSURFACE)
sound = pygame.mixer.Sound("C:/Users/mike1/Desktop/1111111.wav")
sound.play()

需要注意的点:

1、其实不需要win这个屏幕依然可以运行声音文件

2、声音文件必须是wav格式,试了一下mp3格式,但是并不支持,可以在线将mp3格式转换成wav格式。(https://cloudconvert.com/mp3-to-wav,这是在线转换的网址)

任务五:在windows上添加图片

#add a picture to the screen
import pygame
from pygame.locals import * pygame.init()
win = pygame.display.set_mode((800,600),DOUBLEBUF|HWSURFACE)
pict = pygame.image.load("C:/Users/mike1/Desktop/thJ0KCHYOU.jpg").convert() win.blit(pict,(0,0))
pygame.display.flip()

运行结果:

需要注意的点

1、好像没有什么可以注意的点,convert()函数可用可不用

任务6:在windows上添加文字

#show text message to the screen
#-*- coding: utf-8 -*- #thisline is nessisary import pygame,sys
from pygame.locals import * pygame.init()
win = pygame.display.set_mode((800,600),DOUBLEBUF|HWSURFACE)
print(1)
font_object = pygame.font.SysFont("华文宋体",15)
print(1)
font_imag = font_object.render(u"this is 我们message",True,(255,0,0)) win.blit(font_imag,(0,0))
pygame.display.flip()

结果:

需要注意的点:

1、在第一行必须加入# -*- coding: utf-8 -*- 这句话,因为python默认的是unicode 编码,而汉子是utf-8编码,第一行就指定了code的编码格式。

2、pygame.font.SysFont()函数中,必须指定汉字的格式,比如arial就不行,华文宋体就可以,至于有哪些字体的格式,可以通过pygame.font.get_fonts()函数来获得。

3、在render()函数中,字符串可以用u"   ",开头,也可以用"    ",开头,直接省略u.

4、print()函数只是为了检验出错点,因为出的错太多了。

心理学实验程序编程(python)的更多相关文章

  1. ROS Learning-011 beginner_Tutorials (编程) 编写 ROS 话题版的 Hello World 程序(Python版)

    ROS Indigo beginner_Tutorials-10 编写 ROS 话题版的 Hello World 程序(Python版) 我使用的虚拟机软件:VMware Workstation 11 ...

  2. ROS Learning-013 beginner_Tutorials (编程) 编写ROS服务版的Hello World程序(Python版)

    ROS Indigo beginner_Tutorials-12 编写ROS服务版的Hello World程序(Python版) 我使用的虚拟机软件:VMware Workstation 11 使用的 ...

  3. php安全编程&python测试实例编写

    前言 本文首发i春秋论坛. 本篇文章主要分享一个python暴破脚本,该脚本采用optparse模块,支持自定义字典位置:用了多线程(虽然我感觉和单线程速度差不多..是我的错觉还是线程写的不对..求表 ...

  4. 前端,Java,产品经理,微信小程序,Python等资源合集大放送

    为了感恩大家长久以来的关注和支持,小编准备了一些福利,整理了包含前端,Java,产品经理,微信小程序,Python,网站源码,Android应用视频教程,微信公众平台开发教程及材料等资源合集大放送. ...

  5. 教孩子学编程 Python

    教孩子学编程   Python 目录 第1 章 Python 基础:认识环境 111 认识Python 312 用Python 编写程序 513 运行Python 程序 514 本章小结 615 编程 ...

  6. Flask 教程 第二十三章:应用程序编程接口(API)

    本文翻译自The Flask Mega-Tutorial Part XXIII: Application Programming Interfaces (APIs) 我为此应用程序构建的所有功能都只适 ...

  7. 教孩子学编程 python语言版PDF高清完整版免费下载|百度云盘|Python入门

    百度云盘:教孩子学编程 python语言版PDF高清完整版免费下载 提取码:mnma 内容简介 本书属于no starch的经典系列之一,英文版在美国受到读者欢迎.本书全彩印刷,寓教于乐,易于学习:读 ...

  8. HUST-计算机网络实验-socket编程

    随笔---HUST计网实验:socket编程 博主大三在读,第一次写随笔,水平有限,就当记录一下学习的过程,顺便面试前复习项目的时候看看. 实验要求: 编写一个 Web 服务器软件,要求如下: 基本要 ...

  9. C#开发EyeLink眼动仪的实验程序

    [题外话] Eyelink眼动仪是SR Research推出的一款眼动仪,很多高校都在使用其做实验.其官方提供了COM的接口,所以支持COM接口的开发平台都可以开发使用.官方甚至提供了一个C#的样例供 ...

随机推荐

  1. c语言小游戏-三子棋的完成

    三子棋的实现 一.实现思路 1.初始化数组 三子棋是九宫格的格式,所以用二维数组接收数据.用‘O’代表电脑下的子,‘X’代表玩家下的子.未下子的时候初始化 ’ ‘(space).则二维数组为“char ...

  2. 突破CRUD | 万能树工具类封装

    0.学完本文你或许可以收获 感受一个树工具从初始逐步优化完善的过程 树工具封装的设计思考与实现思路 最后收获一款拿来即用的树工具源代码 对于前端树组件有一定了解和使用过的同学可直接跳跃到第3章节开始. ...

  3. 关于ELF文件和BIN文件

    ELF文件执行过程 ELF文件有操作系统的加载器loader执行,比如linux,windows,对于3803处理器是grmon的load命令. 加载器会读取ELF文件program header,比 ...

  4. ELF和BIN的区别,资料整理

    https://www.cnblogs.com/fah936861121/articles/8143556.html 1.Bin Bin文件是最纯粹的二进制机器代码, 或者说是"顺序格式&q ...

  5. k8s系列---service

    来源 : http://blog.itpub.net/28916011/viewspace-2214745/ service是要通过coreDNS来管理pod的. kube-proxy始终监视着api ...

  6. Hello Rust!

    准备工作 Rust是系统编程语言,会经过传统的编译.链接.生成可执行文件等过程.它依赖c/cpp的编译环境,需要提前安装c/cpp开发环境,比如安装gcc及其依赖等. 安装(macOS / Linux ...

  7. Mac解决:xcode-select: error: command line tools are already installed, use "Software Update" to install updates

    1.因为node项目终端报错: No receipt for 'com.apple.pkg.CLTools_Executables' found at '/'. No receipt for 'com ...

  8. Objective-C编程 — 并行编程

    多线程 线程的基本概念 线程 (thread)是进程(process)A 内假想的持有 CPU 使用权的执行单位.一般情况下,一个进程 只有一个线程,但也可以创建多个线程并在进程中并行执行.应用在执行 ...

  9. 五分钟后,你将真正理解MySQL事务隔离级别!

    什么是事务? 事务是一组原子性的SQL操作,所有操作必须全部成功完成,如果其中有任何一个操作因为崩溃或其他原因无法执行,那么所有的操作都不会被执行.也就是说,事务内的操作,要么全部执行成功,要么全部执 ...

  10. 「Flink」使用Managed Keyed State实现计数窗口功能

    先上代码: public class WordCountKeyedState { public static void main(String[] args) throws Exception { S ...