云网站服务器_国内数据云存储_移动云数据库服务器主机-搜集站云

腾讯云_500人游戏服务器多少钱_怎么买

小七 141 0

腾讯云_500人游戏服务器多少钱_怎么买

我打算在这个博客上发表评论https://blogs.sap.com/2018/04/05/opensap-abap-unit-testing-course-getting-lost-in-the-weeds/但我决定写我自己的回应!

有一个叫杜拉克的俄罗斯纸牌游戏。这是一场伟大的比赛,在许多方面与西欧的比赛截然不同。从苏联军事顾问协助越南时起,该剧也在越南上演。我妻子教我的,但我们不知道它的名字,所以在家里我们叫它"打傻瓜"。离实际名字不太远,意思是"傻瓜"。有一次我在俄罗斯孤儿院帮忙。孩子们惊讶地发现这个英国人知道他们最喜欢的纸牌游戏。这是一个相当恶毒的游戏-值得学习!

我儿子正在为他的Matura做一个项目,并决定从数学的角度研究这个游戏,包括初级的博弈论。我想如果我写一个模拟器可能会对他有帮助。经过几天的努力,我有一个在Java中运行。我为数不多的几次给他留下深刻印象。他现在是个程序员,所以这种事可能不会再发生了。非常聪明的人,我的儿子。

不管怎样,这个想法是让一些电脑控制的玩家互相玩,看看谁会赢。不过,我们想要的是玩上千个游戏,真正测试各种策略。为简单起见,由于游戏不完全基于回合,我们将模拟限制为2名玩家。这样我们就有了一个防御者和一个攻击者,而不是多个攻击者。

在我的游戏引擎中,我有一个代表每个玩家的玩家类实例。每个玩家都有不同的游戏策略。例如,一个人可能总是打出最高的牌。另一个可能随机播放。或者有更复杂的事情。因此,我为玩家创建了一个属性来保存一个策略类的实例。

然而,不同策略的特点是,除了建议玩哪张牌之外,它们其实没有多少共同点。我可以用一个抽象方法创建一个超类,比如choose\u card\u to\u play,并将我所有的策略作为超类的子类,零售大数据解决方案,实现choose\u card\u to\u play的不同版本。但是一个只有抽象方法的类(记住,直接的子类不可能有任何共同点)是一个接口。

所以我创建了一个接口,非常有趣的是,移动物联网,叫做strategy,有一个方法叫做choose\u card\u to\u play,导入参数(例如)game\u state并导出card to play。我的每个player实例都有一个属性,用ABAP的说法,就是键入ref to strategy。我可能拥有的所有不同的策略类都将实现接口策略并直接插入。

在某个地方,我必须指定为玩家实现策略的具体类,但之后我就可以忘记细节了。我甚至可能有一些东西,允许选择的策略在比赛中改变。关键是,如果我提出了一个新的策略,我会为它创建一个类,并在游戏引擎中更改策略选择的位置(甚至有一些方法可以避免这个要求),企业信息化管理软件,而不必更改任何其他使用策略的方法。

当然,我不必这样做。我可以用多个if…elseif…elseif…或case语句之类的。但是使用一个接口可以减少复杂性,增加灵活性,免费网站自助建站,淘客家园,同时需要最少的更改。我认为,这是面向对象编程中最有用的概念之一——你可以很容易地从程序中抽象出复杂性