假设您正在构建一个在线应用程序,用户可以在该应用程序玩 Nim 游戏,这是一个回合制策略游戏。在 Nim 游戏中,共有三堆对象。两个玩家轮流从一堆中删除任意数量的对象。游戏的目标是迫使另一个玩家删除最后一个对象。

作为应用程序的一部分,您需要保存现有游戏的状态。您还需要在游戏的不同节点通知用户。可以在以下情况下通知用户:当一个用户邀请该用户玩新游戏时,当轮到用户开始玩的时候,以及当赢家已定的时候。

在本实验中,您将学习如何借助 Amazon DynamoDBAmazon SNS 来处理这些需求。Amazon DynamoDB 用于存储现有游戏的状态,以使其在回合之间保持不变。Amazon SNS 用于在游戏中的关键点通知玩家。

在模块 1 中,您将配置环境并下载在实验中使用的代码。

完成模块所需时间:20 分钟

 


  • 第 1 步:创建 AWS 账户

    使用个人 AWS 账户或为此实验创建一个新的 AWS 账户。不要为了获得对必要服务的完全访问权限而使用组织账户,也不要留下任何来自实验的资源。如果您在完成时未删除此实验使用的资源,则可能会产生 AWS 费用。

  • 步骤 2:设置 AWS Cloud9 IDE

    AWS Cloud9 是一种基于云的集成开发环境 (IDE),您只需要一个浏览器,即可编写、运行和调试代码。AWS Cloud9 包括代码编辑器、调试程序和终端。它还预封装了适用于多种流行编程语言的基本工具并预安装了 AWS 命令行界面 (CLI),因此您不必为此实验安装文件或配置笔记本电脑。AWS Cloud9 环境将能够访问与您登录到 AWS 管理控制台时使用的用户相同的 AWS 资源。

    要设置 AWS Cloud9 开发环境,请执行以下操作:

    1. 导航到 AWS 管理控制台,选择页面顶部的服务,然后选择开发人员工具下的 Cloud9
    2. 选择创建环境
    3. 名称框中键入回合制游戏。将描述框留空。
    4. 选择下一步
    5. 环境设置保留为其默认值,以创建新的 t2.micro EC2 实例,该实例将在不活动时间达到 30 分钟后休眠。
    6. 选择下一步
    7. 检查环境名称和设置,然后选择创建环境。您的环境将进行预置并在几分钟后准备就绪。
    8. 当环境准备就绪时,您的 IDE 应该会打开,并显示欢迎辞。

    此时,您应该会看到 AWS Cloud9 环境。您需要熟悉以下屏幕截图中显示的 AWS Cloud9 控制台的三个区域:

    • 文件资源管理器:在 IDE 的左侧,文件资源管理器显示目录中的文件列表。
    • 文件编辑器:在 IDE 的右上方区域,文件编辑器用于查看和编辑您在文件资源管理器中选择的文件。
    • 终端:在 IDE 的右下方区域,此区域用于运行命令以执行代码示例。

    (单击可放大)

  • 步骤 3:下载支持代码

    在本实验中,您使用 JavaScript 与您的 Amazon DynamoDB 数据库和 Amazon SNS 进行交互。在 AWS Cloud9 终端中运行以下命令,以下载并解压缩此模块代码。

    cd ~/environment
    curl -sL http://d118jxrmrxsq90.cloudfront.net/turn-based.tar | tar -xv
    

    要查看目录,请在 AWS Cloud9 终端中运行以下命令。

    ls

    您应该会在 AWS Cloud9 文件资源管理器中看到两个目录:

    • application:application 目录包含回合制游戏应用程序的示例代码。此代码类似于您将在实际回合制游戏应用程序后端中使用的代码。
    • scripts:scripts 目录包含管理员级脚本,例如用于创建 AWS 资源或将数据载入数据库的脚本。

    要为两个目录安装依赖项,请在 AWS Cloud9 终端中运行以下命令。

    npm install --prefix scripts/ && npm install --prefix application

    要在环境文件中设置 AWS 区域,请在 AWS Cloud9 终端中运行以下命令。本示例使用的是 us-east-1,但请输入您选择用于实验的 AWS 区域。

    echo "export AWS_REGION=us-east-1" >> env.sh && source env.sh

    您将使用 env.sh 文件存储本实验所需的资源环境变量和其他参数。如果您在本实验期间暂停,然后在 AWS Cloud9 环境中启动一个新会话,请务必在终端中执行以下命令,以重新加载环境变量:

    source env.sh

在此模块中,您了解了在此实验中构建的示例应用程序。还设置了 AWS 账户并配置了 AWS Cloud9 实例。

现在可以开始实验了。在下一个模块中,您将预置 Amazon DynamoDB 数据库。