1
11
对我来说,代码是“蟒蛇式”的概念实际上归结为这样一种观点:一旦你理解了你要解决的问题,代码就几乎可以自己写了。在这种情况下,不必担心对玩家、游戏、投掷等的更深层的抽象,你会遇到以下问题:有一定数量的移动类型,每种类型都有一个名字,并为哪种移动设置规则,哪种移动击败哪种其他移动,你需要找到定义移动和数字的方法相比之下,哪一步胜出。 当我阅读您的代码时,我并没有立即看到这个问题,我看到代码本身有很多额外的想法,找到类型表示,做算术技巧,通常将问题强制到代码框架中,而不是反过来。所以我建议如下:
你完成了。你可以放进所有其他的存取器,等等,但它实际上只是一个糖霜,核心问题解决了,代码可读、灵活、易于扩展等等。这就是我认为的“蟒蛇”的真正含义。 |
2
2
嗯,你只有三个可能的动作,对吧?为什么不把它们表示为字符串呢?看起来你拥有这些数字的唯一原因是用一些“聪明”的数学方法来进行比较(即,它会击败那些),但老实说,我认为这不值得。您真正需要的是一个函数来确定在每个可能的比较中哪一个是赢家:
我刚刚计算了回报值
“简单胜于复杂,”python行3的禅;-) |
3
2
下面是描述结果的简短版本。
这种结构的好处是显而易见的,当扩展到岩石,纸张,剪刀,蜥蜴,斯波克。
|
4
1
我写这篇文章是为了证明这个概念:有5条线,几乎没有物体的方向,你就可以达到所说的结果:纸;石头;剪刀。
数字/字符串字典。如果你把数字传进来,你的结果将是获胜字符串的名称。胜利的有效性是连续的(A<B<C<A),因此您可以简单地进行距离检查,以确定是否需要覆盖序列。我已经添加了
|
5
0
我不确定这游戏的抽象性是否足够好。一个动作需要两个玩家。换句话说,一个动作不是一个玩家,玩家也不是一个动作。你对此有何看法:
|
Schadre · C-plus编码错误 2 年前 |
Nithin K · 即使类属性的类型正确,也会获取异常 2 年前 |
amirreza870 · Python OOP-更改类文本 2 年前 |
A_K · 使用cat或打印方法打印部分内容的子集闭包 2 年前 |
Mo Fatah · 如何使用Python类打印数独板? 2 年前 |