練習 - 完成使用 do 和 while 反覆運算陳述式的挑戰活動

已完成

程式碼挑戰將強化您所學到的內容,並協助您在繼續進行前先獲得一些信心。

角色扮演遊戲的戰鬥挑戰

在某些角色扮演遊戲中,玩家的角色會和非玩家角色戰鬥,後者通常是怪物或「壞人」。 有時,戰鬥包含每個角色使用骰子來產生隨機值,並從對手的體力分數中減去該值。 一旦角色的體力到達零,他們便會輸掉這場遊戲。

在此挑戰中,我們會將該互動簡化至其精髓。 英雄和怪物會從相同的體力分數開始。 在英雄的回合中,他們會產生隨機值,並從怪物的體力中減去該值。 若怪物的體力大於零,其便會進行他們的回合並攻擊英雄。 只要英雄和怪物的體力都大於零,戰鬥便會繼續。

程式碼挑戰 - 撰寫程式碼以實作遊戲規則

以下是您在程式碼專案中實作的對戰遊戲規則:

  • 您必須使用 do-while 陳述式或 while 陳述式作為外部遊戲迴圈。
  • 英雄和怪物會從 10 個體力點開始。
  • 所有攻擊都會是介於 1 和 10 之間的值。
  • 英雄會先進行攻擊。
  • 顯示怪物喪失的體力數,以及他們剩餘的體力。
  • 若怪物的體力大於 0,它便可以攻擊英雄。
  • 顯示英雄喪失的體力數,以及他們剩餘的體力。
  • 繼續這一系列的攻擊,直到怪物或英雄的體力為零或低於零。
  • 顯示獲勝者。
  1. 請確定您已在 Visual Studio Code 中開啟空的 Program.cs 檔案。

    如有必要,請開啟 Visual Studio Code,然後完成下列步驟,以在編輯器中備妥 Program.cs 檔案:

    1. 在 [檔案] 功能表上,選取 [開啟資料夾]

    2. 使用 [開啟資料夾] 對話方塊瀏覽至 CsharpProjects 資料夾,然後加以開啟。

    3. 在 Visual Studio Code 的 [總管] 窗格中,選取 [Program.cs]。

    4. 在 Visual Studio Code [選取項目] 功能表上,選取 [全部選取],然後按 [刪除] 鍵。

  2. 撰寫要實作每個規則的遊戲程式碼。

  3. 執行您的應用程式,並確認您的輸出符合需求。

    無論您的做法為何,您的程式碼應產生相似輸出:

    Monster was damaged and lost 1 health and now has 9 health.
    Hero was damaged and lost 1 health and now has 9 health.
    Monster was damaged and lost 7 health and now has 2 health.
    Hero was damaged and lost 6 health and now has 3 health.
    Monster was damaged and lost 9 health and now has -7 health.
    Hero wins!
    

    很明顯地,因為程式碼的隨機本質,每一次的結果都會不同,因此您的結果絕對會和以上所顯示輸出不同。 但是,您可以使用此作為您程式碼應產生輸出的範例。

無論是遇到困難需要查看解決方案,還是已成功完成,都請繼續檢視此挑戰的解決方案。