CCF 爐石傳說

2021-07-25 00:26:21 字數 1689 閱讀 2854

這題原本想的比較複雜,因為每次召喚隨從或隨從死亡時都要對右邊的隨從編號進行變動,然後構建了鍊錶的資料結構,但是越寫越複雜,所以馬上放棄這個思路。

其實只要構建乙個結構體,結構體儲存隨從的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,簡稱爐石傳說 是暴雪娛樂開發的一款集換式卡牌遊戲 如下圖所示 遊戲在乙個戰鬥棋盤上進行,由兩名玩家輪流進行操作...