ccf試題 爐石傳說

2021-07-28 14:08:42 字數 1398 閱讀 4961

題目有點長,但是耐心看還是可以的。之前隨從陣列開小了,得了90,看來陣列大小很重要啊,以後要仔細一點了。(除錯畫的時間感覺有點長了,希望考試的時候盡快~)

#include 

#include

#include

using

namespace

std;

struct summon

summon[1005];//題目說最多1000個命令,所以最多召喚1000個隨從

int first[8];//儲存先行方隨從的序號,例如first[1] 代表的是先行方第乙個位置的隨從的陣列下標

int hero1=30;

int second[8];//儲存後行方隨從的序號

int hero2=30;

int main()

for(int j=mm; j>pos; j--)

first[pos]=id;//放入當前的隨從

}else

}else

for(int j=mm; j>pos; j--)

second[pos]=id;

}else

}summon[id].attack=attack;

summon[id].health=health;

id++;

}else

if(ss=="attack")

else

}else

else

//判斷是否要移動掉生命值小於0的隨從(這部分寫的有點複雜了,不想改了)

if(summon[first[attacker]].health<=0)

first[mm-1]=first[mm];

}if(summon[first[defender]].health<=0)

first[mm-1]=first[mm];

}if(summon[second[attacker]].health<=0)

second[mm-1]=second[mm];

}if(summon[second[defender]].health<=0)

second[mm-1]=second[mm];}}

}else

if(ss=="end")//每次結束都要轉換標記

else

if(flag==0)

flag=1;}}

if(hero1==hero2)

cout

<" ";

if(first[1]!=0)

for(int i=2; first[i]!=0; i++)

cout

<" ";

if(second[1]!=0)

for(int i=2; second[i]!=0; i++)

CCF 爐石傳說

這題原本想的比較複雜,因為每次召喚隨從或隨從死亡時都要對右邊的隨從編號進行變動,然後構建了鍊錶的資料結構,但是越寫越複雜,所以馬上放棄這個思路。其實只要構建乙個結構體,結構體儲存隨從的health和attack,以及乙個flag表示隨從是否死亡。構建兩個size為8的陣列,用以儲存隨從即可。incl...

CCF爐石傳說

參考了 問題描述 爐石傳說 魔獸英雄傳 hearthstone heroes of warcraft,簡稱爐石傳說 是暴雪娛樂開發的一款集換式卡牌遊戲 如下圖所示 遊戲在乙個戰鬥棋盤上進行,由兩名玩家輪流進行操作,本題所使用的爐石傳說遊戲的簡化規則如下 玩家會控制一些角色,每個角色有自己的生命值和攻...

CCF 爐石傳說

該程式設計題主要考察的是資料結構的使用,乙個好的資料結構處理問題來得心應手 我是通過利用c 中原有的list資料結構 大體上相當於乙個雙向鍊錶 解決該問題的,其中list的每個元素需儲存角色和隨從的position attack health。include include include usin...