python游戏编程入门第一课

  首先确保你的电脑上已经安装了python3.x以上的python环境,并且安装有pycharm和pygame库(pygame直接windows键+r键,cmd,输入pip install pygame即可),如果这些都装完了,就开始。


# The Pie Game
# Python 3.2

import math #导入math包,用于弧度的计算
import sys #导入系统库,用于关闭游戏界面

import pygame #导入pygame游戏库
from pygame.locals import *  #导入一些python常用的参数,比如键盘对应的数字值等

pygame.init() #初始化一些参数
screen = pygame.display.set_mode((600, 500)) #设置界面的宽和高
pygame.display.set_caption("The Pie Game - Press 1,2,3,4") #设置游戏界面显示的文字
myfont = pygame.font.Font(None, 60) #设置字体大小与样式,这里样式采用默认

color = 200, 80, 60 #设置颜色
width = 4  #设置圆弧宽度
x = 300  #设置初始x坐标
y = 250 #设置初始y坐标
radius = 200
position = x - radius, y - radius, radius * 2, radius * 2

piece1 = False
piece2 = False
piece3 = False
piece4 = False

while True:
    for event in pygame.event.get():
        if event.type == QUIT:
            sys.exit()
        elif event.type == KEYUP:
            if event.key == pygame.K_ESCAPE:
                sys.exit()
            elif event.key == pygame.K_1:
                piece1 = True
            elif event.key == pygame.K_2:
                piece2 = True
            elif event.key == pygame.K_3:
                piece3 = True
            elif event.key == pygame.K_4:
                piece4 = True

    # clear the screen
    screen.fill((0, 0, 200)) #清屏

    # draw the four numbers
    textImg1 = myfont.render("1", True, color) #将文本提前渲染为图像
    screen.blit(textImg1, (x + radius / 2 - 20, y - radius / 2)) #绘制
    textImg2 = myfont.render("2", True, color)
    screen.blit(textImg2, (x - radius / 2, y - radius / 2))
    textImg3 = myfont.render("3", True, color)
    screen.blit(textImg3, (x - radius / 2, y + radius / 2 - 20))
    textImg4 = myfont.render("4", True, color)
    screen.blit(textImg4, (x + radius / 2 - 20, y + radius / 2 - 20))

    # should the pieces be drawn?
    if piece1:
        start_angle = math.radians(0) #其实角度
        end_angle = math.radians(90) #圆弧结束角度
        pygame.draw.arc(screen, color, position, start_angle, end_angle, width) #画圆弧
        pygame.draw.line(screen, color, (x, y), (x, y - radius), width)  #画圆弧的半径
        pygame.draw.line(screen, color, (x, y), (x + radius, y), width)
    if piece2:
        start_angle = math.radians(90)
        end_angle = math.radians(180)
        pygame.draw.arc(screen, color, position, start_angle, end_angle, width)
        pygame.draw.line(screen, color, (x, y), (x, y - radius), width)
        pygame.draw.line(screen, color, (x, y), (x - radius, y), width)
    if piece3:
        start_angle = math.radians(180)
        end_angle = math.radians(270)
        pygame.draw.arc(screen, color, position, start_angle, end_angle, width)
        pygame.draw.line(screen, color, (x, y), (x - radius, y), width)
        pygame.draw.line(screen, color, (x, y), (x, y + radius), width)
    if piece4:
        start_angle = math.radians(270)
        end_angle = math.radians(360)
        pygame.draw.arc(screen, color, position, start_angle, end_angle, width)
        pygame.draw.line(screen, color, (x, y), (x, y + radius), width)
        pygame.draw.line(screen, color, (x, y), (x + radius, y), width)

    # is the pie finished?
    if piece1 and piece2 and piece3 and piece4:
        color = 0, 255, 0

    pygame.display.update()  #刷新

具体的原理在代码中都有注释。

运行结果:

(以下是我的公众号:知识技术与人生,需要请关注)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值