最近把小丑牌的全牌組打通金注了。
於是,我開始自己動手製作新挑戰關卡和新的小丑牌(這是可以說的嗎?)。
製作新挑戰
在主界面選擇挑戰,有共計20個挑戰模式可供選擇。在挑戰模式下,預先設定了特殊的規則、限制條件、牌組。
以“瘋狂世界”挑戰為例:
打開challenges.lua,可以對挑戰模式進行配置,示例為官方給的挑戰之一瘋狂世界:
挑戰配置的前半部份定義了頁面中的“規則”部份:
後半部份定義了“限制條件”和“牌組”:
自定義規則:no_extra_hand_money(額外出牌次數不再賺取資金),在額外出牌次數結算資金時,加入判斷條件not no_extra_hand_money
打開zh_CN.lua文件,為id=c_mad_world_1新增中文翻譯即可展示中文名稱:
綜上,只要改變這部份的配置,就可以輕鬆地自定義一個新的挑戰啦~
以下是我自定義的挑戰:
- 天賦
新增挑戰:天賦,初始攜帶永恆小丑禮品卡(gift)
效果展示:
- 月色真美
初始攜帶縞瑪瑙、重影兩張永恆小丑,兩張月亮塔羅,一張魔術優惠券,使用方格牌組。
效果展示:
車一張新小丑
基本思路:小丑牌的基礎邏輯很簡單,基本上都是if/else判斷,新增的小丑牌邏輯加一個新的if即可。
但我只會寫代碼,所以我選擇上網找一張joker(土下座,我真的不會畫圖)。
單車是一副經典的花式切牌的撲克牌,裡面的小丑牌就是一張騎著單車的小丑,就用它作為卡牌:
我覺得黑白配色更好看一點
1. 在game.lua中為新小丑進行初始化定義,其中cost為購買的費用,rarity為稀有度(3=稀有),pos={x=1,y=9}定義了小丑牌的牌面圖案。全部的小丑牌面都放在Jokers.png的一張大圖中,正好中間還有空位,將單車的牌面摳出來p進去,然後把座標在初始化的地方賦值給pos即可。
2. 小丑牌使用說明,在中文翻譯文件zh_CN.lua中新增小丑說明
3. 新增邏輯,在function Card:calculate_joker(context)中新增條件語句
完成!
效果展示:
結語
淺試了一下游戲製作之後發現,設計關卡真的好深奧!我對遊戲性平衡性什麼的簡直一竅不通,雖然去學習了一下關卡是怎麼設計的,但這知識它不進腦子啊QAQ,比起設計遊戲,寫代碼反而是最簡單的一部份呢。