心理学中python的应用_心理学实验程序编程(python)

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

importpygamefrom 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 的设置还不是很懂。

1736783-20190923002339281-1497779385.png

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

importpygamefrom pygame.locals import *

importsys

pygame.init()

win= pygame.display.set_mode((800,600),DOUBLEBUF|HWSURFACE)whileTrue:

ev=pygame.event.get()for i inev: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 =,只能直接写值,不知道为什么。

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

1736783-20190923002727844-115593931.png

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

#random circle dot in the window

importpygame,sys,randomfrom 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()函数,而并不是背景色不能够覆盖圆点

1736783-20190923081742938-350334706.png

任务四:如何添加声音

##add a sound to the window

importpygamefrom 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

importpygamefrom 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()

运行结果:

1736783-20190923181711911-1355975024.png

需要注意的点

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

任务6:在windows上添加文字

#show text message to the screen#-*- coding: utf-8 -*- #thisline is nessisary

importpygame,sysfrom 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()

结果:

1736783-20190923182048879-1102242890.png

需要注意的点:

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

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

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值