我目前正在使用Java和TCG(交易卡片遊戲)項目工作,我面臨一個大問題:實現卡片效果。現在,我已經想出瞭如何做到這一點,但是我在代碼方面遇到了一些麻煩。 我的想法是存儲在一個字符串某種類型的命令代碼,具有特定的關鍵字。例如:「傷害[目標] [值]」將允許我使用指定值傷害玩家或生物,「繪製[target] [numberOfCards]」將允許我從他的套牌中抽取一定數量的玩家的牌,「檢查[場] [球員] [條件]」將允許我檢查球員的場上是否會出現角球牌或特定生物等。 我創建了一個名爲Skill的類,它是:Java [TCG Project] - 使用標記字符串實現卡片效果
public class Skill {
private String type;
private int cost;
private String desc;
private String commands;
public Skill(String type, int cost, String desc, String commands) {
this.type = type;
this.cost = cost;
this.desc = desc;
this.commands = commands;
}
public void use() {
SkillManager.executeCommands(commands);
}
}
現在,我想SkillManager類來解釋和excexute命令作爲參數int executeCommands方法。像「損害」,「檢查」,「繪製」等關鍵字我沒事,但我的問題是:我怎麼能實際取代字段與我想要使用的實際對象?我怎樣才能真正選擇對象?我正在考慮爲每個對象使用方法.toString(),並在GameTable類中創建一個方法,該方法返回的對象的Srting等於我給出的,但我無法弄清楚如何實現這一點。
提示我們感激。謝謝你,對不起我的壞話英語。
謝謝你隊友,我在看教程,似乎對這個問題有用。 真的很感激。 – AGSoldier 2015-03-19 00:52:52
我很高興它幫助!如果你可以用這種模式解決你的問題,接受這個答案,讓更多的人可以看到它。 – 2015-03-19 02:18:58
對不起,我是StackOverflow的新手。我是否要標記「檢查」標誌? – AGSoldier 2015-03-19 02:28:27