饼块游戏的制作

本文介绍了如何使用Pygame库制作一款自创的饼块游戏。游戏通过绘制圆和线段,根据用户输入的键来改变游戏状态。文章详细讲解了Pygame的下载、导入与初始化设置,以及游戏的主要实现步骤,包括while循环、绘制图形和键盘事件处理。
摘要由CSDN通过智能技术生成

目录

饼块游戏的介绍

1.Pygame的下载(已下载可跳过)

2.Pygame,sys,math,time的导入及初始设置

3.while循环的设置

4.绘制圆

5.绘制线段

6.合并

7.源代码


饼块游戏的介绍

饼块游戏其实是一个我自创的一个小游戏,用户在程序运行后按下‘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
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值