我正在尝试学习如何用 Javascript 编写(虚拟)集换式卡牌游戏(类似于 Magic the Gathering)。我已经阅读了一些关于 MVC 架构和控制器的内容,但这完全是我的头绪(我没有接受过任何正规的 CS 教育),我想知道是否有人有任何好的链接或提示我可以如何了解更多关于代码的信息初学者水平的建筑学。
每张“卡片”会被表示为一个对象,卡片规则的所有逻辑都包含在一个大型游戏引擎函数中,还是许多相互连接的小函数中?
这是一个示例问题:想象有一张牌说:“当这张牌进场时,抓一张牌。” 我应该如何构建游戏来为这种情况做准备,它是如何触发的(最有效的)?卡片会触发游戏引擎,还是游戏引擎会解析每张播放的卡片?
再举一个例子:想象有一张牌,上面写着“你所有的牌都少花 1”。它会永久发挥作用。游戏如何理解在这种情况下它需要改变它的规则?这是一个侦听要播放的卡片并中断成本的功能吗?随着每一轮的结算,这条规则存储在哪里?是否有变量存储游戏的基本规则(全局卡牌成本修正:0;你的卡牌成本修正:0)和其他变量存储卡引入的新规则(你的卡牌成本修正:-1),或者这些由游戏引擎动态创建的变量作为卡片改变规则(你的精灵成本修正:-2)?当一张牌被破坏时,规则如何知道改变,从而消除了这张牌的规则修改?
我需要关于听众和事件的入门吗?(我对它们一无所知,但我不时看到对它们的引用。)你能指出一个好的资源的方向吗?
需要说明的是,我并不是要冗长地要求人们为我手动谷歌;我在黑暗中盲目地摸索,并询问是否有人会指出我要搜索的正确单词或短语。谢谢!