python大作业有哪些题目,python大作业设计报告

大家好,小编为大家解答python大作业有哪些题目的问题。很多人还不知道python大作业设计报告,现在让我们一起来看看吧!

1.定义常量
class Constant:

    SCREEN_WIDTH = 400 # 页面宽度
    SCREEN_HEIGHT = 600 # 页面长度
    BLACK = (0, 0, 0) 
    RED = "#FF0000"  # 结束界面
    FPS = 60   # 帧率大小
    SCORE = 0  # 初始分数
    SPEED = 5  # 敌人的运动速度

首先定义一个类,这个类的作用是定义一些以后会用得到的常量,例如页面的长宽高,游戏帧率的大小,这里的帧率选择60帧(可以根据自身喜好调节)Deepl降重

2.设置敌人
class Enemy1(pygame.sprite.Sprite):

    def __init__(self):
        super(Enemy1,self).__init__()     # 调用父类的init方法初始化对象
        x,y = (random.randint(22,378),0)
        self.image = ("")
         = pygame.Surface((42, 70))
         = .get_rect(center=(x,y))  # 设置敌人的位置

    def move(self):
        global SCORE
        .move_ip(0,Constant.SPEED)
        if  > Constant.SCREEN_HEIGHT:  # 设置加分机制
            Constant.SCORE += 1
             = 0                       
             = random.randint(0,356)  # 随机出现

设置一个敌人命名为Enemy1,初始化Enemy1,设置基础的参数,例如敌人的位置,敌人的大小,敌人随机出现的位置。最后利用一个if语句来设置我们的加分机制使得游戏更具挑战性。在设置完成我们第一个敌人以后我们可以复制粘贴,再增加一个敌人,使得游戏具体可玩性。

3.设置玩家
class Player(pygame.sprite.Sprite):

    def __init__(self):
        super().__init__()     # 调用父类的init方法初始化对象
        x,y = (Constant.SCREEN_WIDTH/2,Constant.SCREEN_HEIGHT/2)
        self.image = ("")
         = pygame.Surface((40,75))
         = self.image.get_rect(left=170,bottom=Constant.SCREEN_HEIGHT -21)

    def move(self):

        press_keys = .get_pressed()

        if press_keys[K_DOWN] and .bottom <= Constant.SCREEN_HEIGHT -21:
            .move_ip(0, 5)
        if press_keys[K_UP] and  >= 0:
            .move_ip(0, -5)
        if press_keys[K_RIGHT] and .right <= Constant.SCREEN_WIDTH - 4:
            .move_ip(5, 0)
        if press_keys[K_LEFT] and  >= 0:
            .move_ip(-5, 0)

还是一样,我们首先初始化玩家的属性,将玩家的位置定义在居中靠下,设置玩家的大小。在初始化完成以后,我们利用pygame的功能,设置键盘让我们的赛车跑起来,并且要注意不要让玩家跑到我们的屏幕外面去了。

4.运行
class Game:

    def __init__(self):
        ()
        # 字体和文字
        self.font_big = .SysFont("Impact", 60)
        self.font_small = .SysFont("Verdana", 20)
        self.game_over = self.font_big.render("GAME OVER", True, Constant.BLACK)

        self.SPEED_UP = pygame.USEREVENT + 1
        .set_timer(self.SPEED_UP, 1000)  # 设置计时器
        
        #设置标题以及界面大小 
        pygame.display.set_caption("逆行飙车")
        size = width, height = (Constant.SCREEN_WIDTH,Constant.SCREEN_HEIGHT)
        self.screen = pygame.display.set_mode(size)
        self.clock = .Clock()

        self.background = ("")

    def run(self):
        player = Player()
        enemy1 = Enemy1()
        enemy2 = Enemy2()

        enemies = pygame.sprite.Group()
        (enemy1,enemy2)

        all_sprites = pygame.sprite.Group()
        (player)
        (enemy1,enemy2)

        pygame.mixer.Sound("").play(-1)
        OUT_OF_RANGE = pygame.USEREVENT + 1

        while True:
            (self.background, (0, 0))
            scores = self.font_small.render(str(Constant.SCORE), True, Constant.BLACK)
            (scores, (10, 10))

            for sprite in all_sprites:
                (sprite.image, )
                ()

            for event in ():

                if  == self.SPEED_UP:
                    Constant.SPEED += 1

                if  == :
                    ()
                    ()

            if pygame.sprite.spritecollide(player, enemies, True):  # True将敌人所在的组全部清除掉

                pygame.mixer.Sound("").play()
                time.sleep(1)
                ()
                (self.game_over, (80, 150))

                pygame.display.update()
                time.sleep(2)

                ()
                ()


            pygame.display.update()
            ()

在运行这个类里面,我们可以首先设置自己想要的字体,这里的字体我们可以自己在自己的电脑里找到电脑自带的字体。

 随后我们将我们的玩家和敌人都放入到调用的pygame精灵这个库里面,使得我们的游戏运行起来。利用while循环让我们的游戏启动起来。

5.启动

if __name__=='__main__':   # 使得游戏真正运行起来
    game = Game()
    ()

调用这段代码使得我们的游戏真正运行起来。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值