我想編碼類似於交易卡遊戲的結構,例如Yugioh或萬智牌。策略卡片遊戲的編碼設計?
我有我的遊戲設置的基本基礎設施,但我無法弄清楚的一件事是'效果'或'事件'。一張牌可能會說「抽3張牌」。另一個人可能會說,「當這個僕從死亡時,摧毀場上所有的牌」。另一個人可以說:「在這張卡被抽出後第四回合治療50個生命」。
從編碼的角度來看,你會怎麼做?我知道我需要類似事件(玩家抽牌時的事件,檢查是否有任何效果正在偵聽該事件)以及堆棧數據結構,因爲效果有時可能會重疊。
什麼是從這裏開始的好地方?我應該爲每一張卡都有一個Java類文件,因爲它們的效果差別很大嗎?我應該在遊戲中擁有所有1000張牌的方法,每種方法都會影響遊戲嗎?我不知道。
感謝您的幫助。
我建議你所有的卡片都從父對象繼承,並且有事件的getter和setter方法...另外,不應該爲每張卡片都有一個java類文件,那可能是糟糕的設計至少。 – Theyna
是的,我現在有一個卡類,擴展卡的生物,擴展卡的法術等等。但是,'事件'背後真正的細節對我而言是複雜的。假設有一張牌有文字「每當這張牌被打,你的對手丟棄一張牌」。那行代碼在哪裏?當一張特定的牌可能會產生一個效果,即其他牌沒有類似於 – Hatefiend
的定製事件時,很難進行OOP ......請參考下面的Morgans答案並開始做一些研究 – Theyna