文章目錄
- 奇美拉項目
- 游戲規則
- 奇美拉(Chimeras)檔案
- 領隊
- 成員
- 結果展示:
奇美拉項目
由于項目工程較大,并且我打算把我的思考過程和實現過程中踩過的坑都分享一下,因此會分3-4篇博文詳細講解本項目。本文首先介紹下游戲規則并給出奇美拉檔案。
后續見:
游戲開發實戰(二):Python復刻「崩壞星穹鐵道」嗷嗚嗷嗚事務所—源碼級解析該小游戲背后的算法與設計模式【純原創】-CSDN博客
游戲開發實戰(三):Python復刻「崩壞星穹鐵道」嗷嗚嗷嗚事務所—源碼級解析該小游戲背后的算法與設計模式【純原創】-CSDN博客
項目githu地址 https://github.com/Hanachirusat/Chimeras
游戲規則
對局開始前,玩家可以選擇多個奇美拉去完成任務隊列里的任務。游戲開始后,在每個回合只有隊頭奇美拉 可以選定任務隊列里的可選定任務開始工作。領隊奇美拉位于后臺,不參與工作,會根據自己的能力給其他奇美拉添加增益效果。當任務隊列中的所有任務均被完成時,游戲結束即,玩家取得勝利;當所有奇美拉(領隊奇美拉除外)均離場時,游戲失敗。
任務隊列: 任務隊列是一系列待完成的任務的有序組合。每個任務都有一定的生命值和攻擊力。
奇美拉: 每個奇美拉都有一定的生命值和攻擊力,部分奇美拉有特殊的被動技能。
工作: 奇美拉選定一個任務,每次工作使得該任務的生命值降低(降低程度等于奇美拉的攻擊力),并且該奇美拉的生命也會降低(降低程度等于任務的攻擊力)。當任務的攻擊力為0時,任務被完成,當奇美拉的生命值為0時,奇美拉會離場。
隊頭奇美拉: 玩家可以選擇多個奇美拉組成一個有序的奇美拉隊列,當奇美拉離場時,按照順序使得下一個奇美拉成為隊頭奇美拉。
可選定任務: 在任務隊列中,只有隊頭任務可以被選中,當隊頭任務被完成后,按照順序使得下一個任務成為隊頭任務。
奇美拉(Chimeras)檔案
首先我們先按照奇美拉類型進行分類,良好的分類會極大方便程序的設計和編碼。
領隊
職業經理【自我驅動】: 登場后:使全體奇美拉效率+3
,體力+3
嚴酷惡魔【不準停!】: 奇美拉完成工作后,使其效率+5
職場清流【撫慰之心】: 登場后:全體奇美拉效率+2
。奇美拉追加工作后:使其效率+1
成員
我們將奇美拉分為4類被,普通奇美拉,回合/登場技的奇美拉,自身觸發被動的奇美拉,隊友觸發被動的奇美拉【atk,hp】
1 普通類別
摸魚仔【3,2】 :平平無奇
負能量【7,3】: 平平無奇
真老實【1,16】: 平平無奇
小壞蛋【3,5】: 平平無奇
壓力怪【5,3】:平平無奇
2 回合/登場技的奇美拉
治愈師【溫暖,2,5】: 每回合開始,使前一格同伴體力+1
小團體【排外,3,3】: 每回合開始時,使前兩格同伴效率+1
,其余同伴體力-1
畫餅王【話術,2,7】: 登場后所有同伴效率+8
,若自身在場,每回合使所有同伴效率-2
平凡王【聯合,7,7】: 登場后,獲得場上所有無特性同伴100%的效率和體力
(單次上限均為25)
3 自身觸發被動的奇美拉
壞脾氣【發作,2,9】: 自身工作時:使后一格
同伴體力-1
抗壓包【熟練,2,5】: 自身體力降低時使前后一格
同伴效率+1
請假狂【裝病,2,7】:自身體力降低后,與后一格
同伴交換位置
,并使自身效率+2
請假王【開擺,6,3】:自身體力降低后,與后一格
同伴交換位置
,并使自身體力+3
內卷王【激勵,3,8】:自身完成工作時:獲得效率+2
,體力+3
【hp<0也會生效,在每回合結束后才讓hp<0的奇美拉退場。】
受氣包【道歉,2,5】: 自身體力降低時,使全局同伴效率+1
跑路俠【慫恿,1,1】:自身累倒時,和后一格同伴一起逃離工作
,并使其他同伴體力+8
4 隊友觸發被動的奇美拉
小夸夸【鼓勵,3,3】:同伴工作或追加工作時,若同伴效率》5使其效率+2
看樂子【圍觀,3,3】:同伴累到后,自身效率+2
,體力+2
背鍋俠【接鍋,3 ,6:同伴累倒時,使該同伴體力+10
,自身逃離工作
搶功勞【獨占,15,2: 同伴工作時:若自身效率》=剩余工作進度,則進行追加工作
完成該任務
急先鋒【帶頭,2,5】:同伴工作或追加工作時,自身與前一格同伴交換位置
,并且體力+6
說怪話【暗諷,14,1】:同伴完成工作時,使該同伴效率+4
并發表自己的意見
幫倒忙【搗亂,-1,5】:同伴工作時,自身進行一次追加工作
工作狂【爭先 6,10】:同伴工作或追加工作時,進行一次等于自身50%效率的追加工作
結果展示:
本人對于測試方面并不太精通,僅對單個奇美拉進行了測試,以及對游戲中較為復炸的追擊隊做了測試。
待我講解完畢后會在GitHub上開源,歡迎大家在GiuHub上討論~
隊列如下:有條件的可以登陸游戲驗證一下哦~
程序結果如下:
注意,每回合內不同奇美拉的行動順序可能和游戲里并不一致,但每回合的結果和游戲里一致。在后續源碼級的詳細講解中我會詳細解釋為什么順序不一致以及如何不影響每回合的結果的。