心理学实验程序编程(python)
任务一:实现简单的屏幕的颜色之间的切换
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)的更多相关文章
- ROS Learning-011 beginner_Tutorials (编程) 编写 ROS 话题版的 Hello World 程序(Python版)
ROS Indigo beginner_Tutorials-10 编写 ROS 话题版的 Hello World 程序(Python版) 我使用的虚拟机软件:VMware Workstation 11 ...
- ROS Learning-013 beginner_Tutorials (编程) 编写ROS服务版的Hello World程序(Python版)
ROS Indigo beginner_Tutorials-12 编写ROS服务版的Hello World程序(Python版) 我使用的虚拟机软件:VMware Workstation 11 使用的 ...
- php安全编程&python测试实例编写
前言 本文首发i春秋论坛. 本篇文章主要分享一个python暴破脚本,该脚本采用optparse模块,支持自定义字典位置:用了多线程(虽然我感觉和单线程速度差不多..是我的错觉还是线程写的不对..求表 ...
- 前端,Java,产品经理,微信小程序,Python等资源合集大放送
为了感恩大家长久以来的关注和支持,小编准备了一些福利,整理了包含前端,Java,产品经理,微信小程序,Python,网站源码,Android应用视频教程,微信公众平台开发教程及材料等资源合集大放送. ...
- 教孩子学编程 Python
教孩子学编程 Python 目录 第1 章 Python 基础:认识环境 111 认识Python 312 用Python 编写程序 513 运行Python 程序 514 本章小结 615 编程 ...
- Flask 教程 第二十三章:应用程序编程接口(API)
本文翻译自The Flask Mega-Tutorial Part XXIII: Application Programming Interfaces (APIs) 我为此应用程序构建的所有功能都只适 ...
- 教孩子学编程 python语言版PDF高清完整版免费下载|百度云盘|Python入门
百度云盘:教孩子学编程 python语言版PDF高清完整版免费下载 提取码:mnma 内容简介 本书属于no starch的经典系列之一,英文版在美国受到读者欢迎.本书全彩印刷,寓教于乐,易于学习:读 ...
- HUST-计算机网络实验-socket编程
随笔---HUST计网实验:socket编程 博主大三在读,第一次写随笔,水平有限,就当记录一下学习的过程,顺便面试前复习项目的时候看看. 实验要求: 编写一个 Web 服务器软件,要求如下: 基本要 ...
- C#开发EyeLink眼动仪的实验程序
[题外话] Eyelink眼动仪是SR Research推出的一款眼动仪,很多高校都在使用其做实验.其官方提供了COM的接口,所以支持COM接口的开发平台都可以开发使用.官方甚至提供了一个C#的样例供 ...
随机推荐
- thinkphp远程执行漏洞的本地复现
thinkphp远程执行漏洞的本地复现 0X00漏洞简介 由于ThinkPHP5 框架控制器名 没有进行足够的安全监测,导致在没有开启强制路由的情况下,可以伪装特定的请求可以直接Getshell(可以 ...
- 13-Servlet&Request
今日内容: 1. Servlet 2. Request Servlet 1. 概念 2. 步骤 3. 执行原理 4. 生命周期 5. Servlet3.0注解配置 6. Servlet的体系结构 se ...
- 开发时从宿主机连接容器中的MySQL
从宿主机连接Docker容器中的MySQL 刚接触Docker,电脑安装Docker后,使用docker命令pull了一个MySQL5.6的Docker镜像,之后docker run启动创建容器. 可 ...
- spark 性能优化 数据倾斜 故障排除
版本:V2.0 第一章 Spark 性能调优 1.1 常规性能调优 1.1.1 常规性能调优一:最优资源配置 Spark性能调优的第一步,就是为任务分配更多的资源,在一定范围 ...
- [ERROR]pyodbc.ProgrammingError: ('42000', '[42000] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]SQL Server 阻止了对组件“xp_cmdshell”的 过程“sys.xp_cmdshell”的访问
环境: Windows 2012 R2 SQL Server 2014 通过MSSQL查询数据库服务器时间,报错如下: pyodbc.ProgrammingError: (', '[42000] [M ...
- Android中实现一个简单的逐帧动画(附代码下载)
场景 Android中的逐帧动画,就是由连续的一张张照片组成的动画. 效果 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 ...
- Android中Chronometer计时器的简单使用
场景 实现效果如下 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 将布局改 ...
- 源码浅析:InnoDB聚集索引如何定位到数据的物理位置,并从磁盘读取
索引结构概述: MyISAM索引文件和数据文件是分离的,索引文件仅保存数据记录的地址.这与Oracle的索引结构相似,比较好理解.那么,常用的Innodb聚集索引结构是怎样的呢? InnoDB的数据文 ...
- windows7精简iso
网站地址: https://www.90pan.com/b1268487 迅雷链接: magnet:?xt=urn:btih:EE4B0FE780B6EC97D6FB9A9D22A8EE1627DA7 ...
- Html介绍,认识html文件基本结构
一个HTML文件的基本机构如下: <html><head>...</head><body>...</body></html>代码 ...