• 「网易官方」极客战记(codecombat)攻略-游戏开发2-硬币游戏第 2 步:得分-game-of-coins-step-2-score


                                                                              (点击图片进入关卡)

    让我们为我们的游戏添加一些挑战。

    简介

    在 Pac-Man 风格的街机游戏系列的第二层,我们将为游戏增添一些挑战。

    首先,我们需要添加一个评分系统。 目标是尽可能快地收集所有硬币。

    因此,我们可以将初始分数设置为某个值,并在每秒减少。 然后,添加收集硬币和蘑菇的分数。

    此外,得分不能小于 0。

    使用 ` collect' 事件和 游戏循环 来实现这个得分机制!

    使用键盘或鼠标进行播放器控制:

    1. W -> 向上
    2. S -> 向下
    3. A -> 左边
    4. D -> 右边
    5. 鼠标点击 -> 移动到该点

    默认代码

    敬请期待

    概览

    向游戏添加可玩性的最简单方法之一是添加某种类型的分数系统 所以玩家可以一次又一次地玩你的游戏,试图提高他们的高分。

    你可以打败的敌人,收集物品,移动到检查站等玩家的行为得到积分。

    对于玩家应该快速完成某些目标的游戏,您可以根据游戏时间来定义分数。

    您可以每秒减少分数或根据最后时间计算分数(有多种方法可供选择)。 此外,您可以降低 "incorrect" 操作的分数,例如收集受限项目,不可触摸字符,进入禁区等。

    在你的游戏中实现一个评分系统有更多的方法 - 你应该富有创造性,并考虑如何在最终项目中实现评分。

    游戏设计的一部分是关于想出新的东西!

    硬币游戏第 2 步:得分 解法

    # 第2部分创建一个Pac-Man风格的街机游戏。
    # 游戏布局和项目。 向下滚动。
    game.spawnXY("forest", 16, 16)
    game.spawnXY("forest", 32, 16)
    game.spawnXY("forest", 48, 16)
    game.spawnXY("forest", 64, 16)
    game.spawnXY("forest", 16, 32)
    game.spawnXY("forest", 32, 32)
    game.spawnXY("forest", 48, 32)
    game.spawnXY("forest", 64, 32)
    game.spawnXY("forest", 16, 48)
    game.spawnXY("forest", 32, 48)
    game.spawnXY("forest", 48, 48)
    game.spawnXY("forest", 64, 48)
    game.spawnXY("bronze-coin", 16, 8)
    game.spawnXY("bronze-coin", 24, 8)
    game.spawnXY("bronze-coin", 32, 8)
    game.spawnXY("bronze-coin", 48, 8)
    game.spawnXY("bronze-coin", 56, 8)
    game.spawnXY("bronze-coin", 64, 8)
    game.spawnXY("bronze-coin", 72, 8)
    game.spawnXY("bronze-coin", 8, 16)
    game.spawnXY("bronze-coin", 24, 16)
    game.spawnXY("bronze-coin", 40, 16)
    game.spawnXY("bronze-coin", 56, 16)
    game.spawnXY("bronze-coin", 72, 16)
    game.spawnXY("bronze-coin", 8, 24)
    game.spawnXY("bronze-coin", 16, 24)
    game.spawnXY("bronze-coin", 24, 24)
    game.spawnXY("bronze-coin", 32, 24)
    game.spawnXY("bronze-coin", 40, 24)
    game.spawnXY("bronze-coin", 48, 24)
    game.spawnXY("bronze-coin", 56, 24)
    game.spawnXY("bronze-coin", 64, 24)
    game.spawnXY("bronze-coin", 72, 24)
    game.spawnXY("bronze-coin", 24, 32)
    game.spawnXY("bronze-coin", 56, 32)
    game.spawnXY("bronze-coin", 8, 40)
    game.spawnXY("bronze-coin", 16, 40)
    game.spawnXY("bronze-coin", 24, 40)
    game.spawnXY("bronze-coin", 32, 40)
    game.spawnXY("bronze-coin", 40, 40)
    game.spawnXY("bronze-coin", 48, 40)
    game.spawnXY("bronze-coin", 56, 40)
    game.spawnXY("bronze-coin", 64, 40)
    game.spawnXY("bronze-coin", 72, 40)
    game.spawnXY("bronze-coin", 8, 48)
    game.spawnXY("bronze-coin", 24, 48)
    game.spawnXY("bronze-coin", 40, 48)
    game.spawnXY("bronze-coin", 56, 48)
    game.spawnXY("bronze-coin", 72, 48)
    game.spawnXY("bronze-coin", 8, 56)
    game.spawnXY("bronze-coin", 16, 56)
    game.spawnXY("bronze-coin", 24, 56)
    game.spawnXY("bronze-coin", 32, 56)
    game.spawnXY("bronze-coin", 48, 56)
    game.spawnXY("bronze-coin", 56, 56)
    game.spawnXY("bronze-coin", 64, 56)
    game.spawnXY("bronze-coin", 72, 56)
    game.spawnXY("mushroom", 40, 8)
    game.spawnXY("mushroom", 8, 32)
    game.spawnXY("mushroom", 72, 32)
    game.spawnXY("mushroom", 40, 56)
    # 游戏得分。
    game.score = 1000
    game.addCollectGoal()

     

    ui.track(game, "time")
    ui.track(game, "score")
    player = game.spawnPlayerXY("knight", 8, 8)
    # 现在加快游戏速度,以简化您的关卡测试。
    player.maxSpeed = 30
    def onCollect(event):
        player = event.target
        item = event.other
        # 如果商品的类型是"bronze-coin":
        if item.type == "bronze-coin":
            # 将游戏分数提高1。
            game.score += 1
        # 如果类型是"mushroom",则将分数提高5。
        if item.type == "mushroom":
            game.score += 5
    # 在玩家的“收集”事件中分配事件处理程序。
    player.on("collect", onCollect)
    # 此功能会随着时间的推移而降低分数
    def checkTimeScore():
        # 在每个时间框架我们减少游戏得分:
        game.score -= 0.5
        # 如果比赛分数小于0:
        if game.score < 0:
            # 将游戏分数设置为0:
            game.score = 0
    # 主要游戏循环。
    while True:
        checkTimeScore()
    # 赢得游戏胜利。
     

    本攻略发于极客战记官方教学栏目,原文地址为:

    https://codecombat.163.com/news/jikezhanji-yingbiyouxidefen

    极客战记——学编程,用玩的!

  • 相关阅读:
    将元素平分成差值最小的两个集合(DP)
    新年趣事之打牌(01背包+唯一路径)
    offer(背包问题、DP)
    整数划分(完全背包)
    饭卡(DP)
    等和的分隔子集(dp)
    LaunchPad(思维)
    The flower(寻找出现m次以上,长度为k的子串)
    Morse code(多模式串匹配)
    平分娃娃(多重背包+二进制枚举)
  • 原文地址:https://www.cnblogs.com/codecombat/p/12840950.html
Copyright © 2020-2023  润新知