目录
2.Pygame,sys,math,time的导入及初始设置
饼块游戏的介绍
饼块游戏其实是一个我自创的一个小游戏,用户在程序运行后按下‘p’键即可开始游戏,游戏计时根据程序绘制出来的饼块数量的多少来决定。效果图如下:
此游戏将会用到四个不同的库——sys(提供与解释器交互的函数集合库)、math(许多关于数学的函数模块的集合库)、time(提供关于时间的测量的应用的函数集合库)与 pygame(用以写游戏的python模块集合库)
1.Pygame的下载(已下载可跳过)
Windows徽标键+R,会弹出一个运行框,输入‘cmd’,回车,输入‘pip install pygame’
如果要检查是否已经安装pygame,按下Windows徽标键+R,在运行框内输入‘cmd’,回车,输入‘python’,回车后再输入‘import pygame’,弹出版本号即已安装。
2.Pygame,sys,math,time的导入及初始设置
####查####
import pygame,sys,math,time
pygame.init()#初始化
sn = pygame.display.set_mode((600,500))#定义窗口大小
mt = pygame.font.Font(None,60)#(字体,大小)
pygame.display.set_caption('饼块游戏')
为了以防程序报错,我在导入时使用的是import(使用from···import···在后期循环内会报错,详见后文)。然后使用display.set_mode((,))去自定义窗口的大小,再用font.Font(,)去自定义字体与其大小,以便于后期直接调用这种自定义字体,最后还用到了display.set_caption('')来设置左上角标题。
3.while循环的设置
while 1:
for event in pygame.event.get():#重复遍历用户输入键的值
if event.type in (pygame.QUIT,pygame.KEYDOWN):#检测用户是否点击窗口右上角的关闭或者按下任何的键
sys.exit()#结束程序运行
pygame.display.update()#用来刷新屏幕进行显示
跟着if后面的这一串在后期需要改动(因为此游戏需要用到键盘)exit()是用来结束程序的一个函数,最后再添加上display.update()进行刷新显示,整个循环的进入,运作,退出的基本结构就出来了
ps:如果在导入时用from···import···报错结果如下:
我们能看到,程序可以进入循环阶段,但在运行时会报错(这时候就连偷懒都不容易了)。将程序改回:
我们可以看到程序正常运行了。(ps:亲身试错过)
4.绘制圆
pygame.draw.circle(sn,'black',(300,300),100,10)
这里分别设置了圆的颜色,位置(注:pygame的(0,0)在左上角),半径及其宽度,sn在这段程序外就设置了,这样是为了使其在打开的窗口内显示。
5.绘制线段
pygame.draw.line(sn,'black',(100,100),(400,450),8)
sn的作用跟圆的绘制时的作用一样,紧接着就是颜色,初始位置,结束位置,线条宽度。
好啦,我们知道了这些,接下来就是对键盘的一顿敲击了
6.合并
首先让用户选择难度
print('请选择困难程度')
print('a为困难,b为中等,c为简单(点击键盘对应键键即可)')
初始化定义
import pygame,sys,math,time
pygame.init()
sn = pygame.display.set_mode((600,500))
mf = pygame.font.Font(None,60)
pygame.display.set_caption('饼块游戏')
a = b = c = d = e = f = g = h = a1 = b1 = c1 = d1 = e1 = f1 = a2 = b2 = c2 = d2 = 0
z = 1
我们创建一个while和for循环及其退出语句(按下e键退出在后文)
print('请选择困难程度')
print('a为困难,b为中等,c为简单(单击键盘此键即可)')
while 1:
for event in pygame.event.get():#一定要加上此循环语句,否则下一句将会报错(先在for循环内调用)
if event.type == pygame.QUIT:
sys.exit()
接着便是判断用户选择的难度了,额外还要附加一个判断用户退出的一个判断
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_a:
#(语句执行详见下文)
elif event.key == pygame.K_b:
#(语句执行详见下文)
elif event.key == pygame.K_c:
#(语句执行详见下文)
elif