題目有點長,但是耐心看還是可以的。之前隨從陣列開小了,得了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...