這題原本想的比較複雜,因為每次召喚隨從或隨從死亡時都要對右邊的隨從編號進行變動,然後構建了鍊錶的資料結構,但是越寫越複雜,所以馬上放棄這個思路。
其實只要構建乙個結構體,結構體儲存隨從的health和attack,以及乙個flag表示隨從是否死亡。構建兩個size為8的陣列,用以儲存隨從即可。
#include #include #include using namespace std;
struct monster
;void summon(monster *player, int pos, int attack, int health);
void attack(monster *attack, monster *defend, int attacker, int defender);
void move_right(monster *player, int pos);
void move_left(monster *player, int pos);
void display(monster *player);
void test(monster *player);
int main()
int num;
string command;
int arg1;
int arg2;
int arg3;
cin >> num;
while (num--)
else
}else if (command == "attack")
else
if (offen[0].health <= 0)
else if (defen[0].health <= 0)
}else
}//display
cout << winner << endl;
cout << offen[0].health << endl;
display(offen);
cout << defen[0].health << endl;
display(defen);
return 0;
}void summon(monster *player, int pos, int attack, int health)
} }else
}player[pos].health = health;
player[pos].attack = attack;
player[pos].is_alive = true; }}
void attack(monster *attack, monster *defend, int attacker, int defender)
else
}} if (attack[attacker].health <= 0)
}} }
}void move_right(monster *player, int pos)
else }
void move_left(monster *player, int pos)
else }
void display(monster *player)
} cout << count << " ";
for (int i = 0; i < temp.size(); i++)
cout << endl;
}
CCF爐石傳說
參考了 問題描述 爐石傳說 魔獸英雄傳 hearthstone heroes of warcraft,簡稱爐石傳說 是暴雪娛樂開發的一款集換式卡牌遊戲 如下圖所示 遊戲在乙個戰鬥棋盤上進行,由兩名玩家輪流進行操作,本題所使用的爐石傳說遊戲的簡化規則如下 玩家會控制一些角色,每個角色有自己的生命值和攻...
CCF 爐石傳說
該程式設計題主要考察的是資料結構的使用,乙個好的資料結構處理問題來得心應手 我是通過利用c 中原有的list資料結構 大體上相當於乙個雙向鍊錶 解決該問題的,其中list的每個元素需儲存角色和隨從的position attack health。include include include usin...
ccf 爐石傳說
201609 3 試題名稱 爐石傳說 時間限制 1.0s 記憶體限制 256.0mb 問題描述 問題描述 爐石傳說 魔獸英雄傳 hearthstone heroes of warcraft,簡稱爐石傳說 是暴雪娛樂開發的一款集換式卡牌遊戲 如下圖所示 遊戲在乙個戰鬥棋盤上進行,由兩名玩家輪流進行操作...