【題目】
我愛三國殺
description
這是一道跟三國殺有關的題目,
為了照顧沒有玩過三國殺的同學,我們對遊戲機制進行了化簡。
牌堆:所有玩家從牌堆摸牌,每人每回合摸取兩張牌,當牌堆被抽完後,視為平局。(每回合 每人一次性抽取兩張)
基礎牌:殺、閃,每回合最多使用一張殺
裝備牌:+1馬、-1馬,每名角色最多裝備一匹加一馬和一匹減一馬。
手牌:在手裡留存的卡牌,裝備在身上的裝備牌和需要判定的延遲類錦囊皆不算手牌。 玩家可決定出牌順序,如 你可以先裝備減一馬來減小雙方距離。
武將技能:每個武將都有他專屬的武將技能,合理運用技能可以獲得額外的功效武將
血量:在不計入某些武將技能的前提中,武將血量歸零將代表瀕死。武將血量還代表了您的存牌量。例如在武將1 血的情況下您在回合棄牌階段後最多只能留有1 張手牌。
距離:武將角色之間預設距離為1 ,-1馬來拉近角色之間的攻擊距離。武將角色在沒有裝備-1馬時只能攻擊距離為一的其他角色。所以+1馬會使沒有-1馬的對手不能對你使用殺(既在你的回合內,如果你的手牌中有殺,你可以棄置一張殺,對一名在你攻擊範圍內的角色發動一次攻擊,如果被攻擊角色不能棄置閃來響應,則會被扣除一點體力值,如果體力值小於等於零 則進行瀕死判斷)
為了再對問題進行化簡,我們假定三國殺只有周泰這乙個武將。
他的技能為:不屈:每當你扣減1點體力後,若你體力值為0,你可以從牌堆亮出一張牌置於你的武將牌上。若此牌的點數與你武將牌上已有的任何一張牌都不同,你不會死亡。(但視你體力為0)若出現相同點數的牌,你進入瀕死狀態。
(既,假設你現在只有一滴血,你的對手對你使用「殺」手牌,你無法使用「閃」進行響應你的體力值歸零,然後武將技能發動,你抽取一張牌堆頂的牌,假設這張牌點數為6,你將之置於你的武將牌之上。因為是第一次發動技能,你可以直接跳過瀕死判定。假設在經歷了多次技能發動後,你的武將牌上有了 「1」「2」「3」「4」「5」「6」「7」 這七種點數的牌。現在 你又進入了瀕死狀態,然後 你抽到一張點數為「5」的牌,由於現在已經有點數相同的牌了,如果不出意外,你直接死亡,對手獲勝。)
現在 yx正在進行一場生死1v1對抗,已經進展到白熱化階段。雙方使用周泰,體力值均為0,且均只有一張不屈牌。(這意味著,你不能在回合外存有手牌,也就是說,對方使用殺,你只能損失體力值)現在yx首先開始回合。
給出牌堆的所有資訊,問你最後結果如何
。假設雙方有殺出殺,有馬裝馬。
input
第一行輸入乙個整數n ,n<=500,表示牌堆中牌堆的數量。
第二行為n個字元從左到右依次表示牌堆頂到牌堆底的牌的型別。s 表示閃,a表示殺,+表示+1馬,-表示-1馬
第三行為n個1-9的數字,每張牌對應的點數。
第四行為兩個1-9的數字。 第乙個數字為yx的第一張現有不屈牌,第二個數字為yx的對手的第一張現有不屈牌。
output
輸出一行,
如果是平局,則輸出ping
如果yx率先殺死對手 這輸出win
否則 輸出lose
sample input 1
11sample output 1saa+asasasa
11111111111
2 2
pingsample input 2
3sample output 2saa111
1 1
pingsample input 3
4sample output 3saaa
1111
1 1
winhint
對於第乙個樣例
首先yx先動,摸到一閃一殺,殺了對手一下,
對手抽取一張瀕死牌(點數為1的殺)這是對手第一張點數為1的瀕死牌。所以對手不會去世。yx回合結束,棄置所有手牌。
之後到對手回合,抽取一張加一馬,和一張殺。
對手裝備+1馬,對yx使用一張殺。
yx抽取一張瀕死牌(點數為1的殺)這是yx第一張點數為1的瀕死牌。所以yx不會去世.
之後yx回合打不到對手了。棄置其手牌。
對手回合,抽取一殺一閃,殺了yx一下,抽取一張不屈牌,現在yx有兩張點數為1的不屈牌了。 你以為yx已經輸了嗎?當然沒有,這時候牌堆剛好抽完,yx苟到了平局。
輸出ping
【思路】yxdl出的模擬題..打的時候wa了10發,多打了個else if然後就炸裂了..晚上1發a...還是太菜了
【**】
#includeusing namespace std;
const int m=2e5+10;
int main()
; bool dbbq[15]= ;
cin>>p;
cin>>s;
int t1;
cin>>t1;
yxbq[t1]=1;
cin>>t1;
dbbq[t1]=1;
bool person=0;
int nowcard=0;
bool yxaddhs=0,dbaddhs=0,yxdwnhs=0,dbdwnhs=0;
while(1)
if(person==0)
if(x=='-'||y=='-')
if(x=='a'||y=='a')
dbbq[s[nowcard]-48]=1;
nowcard++;}}
}else
if(x=='-'||y=='-')
if(x=='a'||y=='a')
yxbq[s[nowcard]-48]=1;
nowcard++;}}
}person^=1;}}
寫個三國殺
自己老早以前就想寫個區域網的三國殺,以前思考過其遊戲邏輯的實現,覺得有點複雜,一直也沒有真正動手,上個週末,真正動手做了起來,2天裡寫了大約2000來行 算是把整個框架有了個大致的實現。下面把整個思路整理一下。既然是輕量級的區域網版本,就沒必要把伺服器和客戶端分開來做,就讓程式自帶服務端和客戶端,類...
三國殺的理解
11 人生就像一局三國殺。有可能你還沒判斷出誰是好人誰是壞人你就掛了。12 人生就像一局三國殺。你對別人好,別人不一定對你好。13 人生就像一局三國殺。你要在這個世界生存有時需要偽裝。14 人生就像一局三國殺。你可能來這個世界只是來打醬油的。15 人生就像一局三國殺。有可能一出生就已經決定了你的身份...
三國殺自走棋
這個陣法叫做五騎兵陣 首先 從協戰上來說還沒有乙個協戰是浪費的 那麼這套陣容就是攻防兼備 2群可以得到閃 而3魏則是加上一點體力上限 這是防守 那麼5騎兵就是進攻 它可以是敵人有概率無法使用閃 1 當人口 1時 最好用非五騎兵陣容裡面的人 用像袁術 周泰這種可以扛住第二回合的武將 當然 如果有二星的...