1. 程式人生 > >新人起步中(3/n)

新人起步中(3/n)

使用if,while,時間隨機完成題目:設定為2位玩家,每位玩家200點hp,每次攻擊時隨機造成7-17傷害,血量到0或以下為ko(個人想法)

個人最終版

#include <stdio.h>

#include <stdlib.h>
#include <time.h>
int main()
{
int cishu = 0;
int ashengyu = 200;
int shanghai;
int bshengyu = 200;
srand((unsigned) time(NULL));

while(bshengyu > 0 && ashengyu > 0){
if(cishu == 0)
{
shanghai = (rand() * 5) % 11 + 7;
bshengyu = bshengyu - shanghai;
printf("a玩家造成了%d的傷害,b剩下%d的血量\n",shanghai,bshengyu);
cishu++;
}
else
{
shanghai = (rand() * 5) % 11 + 7;
ashengyu = ashengyu - shanghai;
printf("b玩家造成了%d的傷害,a剩下%d的血量\n",shanghai,ashengyu);
cishu--;
}
}
if(ashengyu > 0)
{
printf("a玩家獲勝");
}
else
{
printf("b玩家獲勝");
}
return 0;
}

個人經歷:

設定變數a剩餘血量,b剩餘血量,次數,傷害

公式設定隨機傷害,由於直接shanghai = rand() % 11 + 7;為固定增長,所以改為shanghai = (rand() * 5) % 11 + 7;增加一定的不確定性

第一次想以複數if,內嵌while製作,中途中發現,複數if進入後,僅會重複while內容,無法重新重複if步驟後改為while內嵌複數if。

中途發現內嵌無需複數if,改為單次if,與迴圈外接if的想法為好。

錯誤次數:8次-10次

基礎錯誤6次左右()

大錯誤(無用功)2次