python风险游戏,我无法让它只比较最后一个的所有数字

亚历克斯

我正在制作一款可以解决风险骰子滚动的游戏,但是我只能让它比较最后两个数字并告诉我谁赢了,但是我希望它可以对数字进行排序,然后比较每组中的最高数字(例如一个普通的风险游戏),这是我的代码

import random
import time
from random import randrange
from random import randint
r = randint
min = 1
max = 6


def main():
    print("Welcome to risk dice")
    playing = input("Press Enter to Roll or Q to quit")

    if playing == 'q':
        print("Thanks for Playing")
        time.sleep(2)
        quit()
    elif playing != 'q':
        rolls = int(float(input('how many soliders are you attacking with:')))
        for x in range(rolls):
            print ('you got a...')
            a = (r(min, max))
            print(a)
        rolls = int(float(input('how many soliders are you defending with:')))
        for x in range(rolls):
            print ('you got a...')
            d = (r(min, max))
            print(d)
        if d >= a:
            print('defence wins')
        else:
            print('attackers win')
        main()
main()

欢迎任何想法,即时通讯完全卡住(使用python 3.4.4)

临时狼
attacker_dice = []
defender_dice = []

初始化空数组以在掷出骰子时放入骰子。

rolls = int(float(input('how many soliders are you attacking with:')))
        for x in range(rolls):
            print ('you got a...')
            attacker_dice.append(r(min, max))
            print(attacker_dice[-1])

在这里,我们append将新值添加到数组,将它们添加到末尾。然后,我们在[-1]作为最后一项的索引处打印数字

attacker_dice.sort(reverse=True)
defender_dice.sort(reverse=True)

一旦有了数组,我们就进行排序(从高到低)

paired_dice = zip(attacker_dice, defender_dice)

然后,我们将骰子与拉链配对。默认情况下,Zip丢弃所有无法配对的骰子。这反映了风险规则,即您丢弃了最低的未配对骰子。

attacker_wins = 0
defender_wins = 0
for pair in paired_dice:
    attacker, defender = pair

在这里,我们解压骰子:for pair in paired_dice每对之间循环。attacker, defender = pair将线对拆成其组件骰子。

    if attacker > defender:
        attacker_wins += 1
    else:
        defender_wins += 1

重要的是要注意“风险”,attacker_wins防御者失去了多少支军队,反之亦然。


这个例子适用于repl.it由于输入不受限制,因此我在50上将其测试为50,并且可以正常工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在一个文件中查找不在python中另一个文件中的所有数字

等待最后一个异步调用和只返回它之间有区别吗?

我如何从列表中表示一个字典,假设它旁边的其他所有数字都是它的值?

Python如何查找列表中是否有数字,但列表中的最后一个数字不是?

如何提取只有数字的最后一个字段列三

如何使一个等于所有数字的数字

归一化我的数据集中的所有数字列,然后进行比较

如何使用python从列中的所有数据中删除最后一个字符?

我的程序创建了一个名为date.in的文件,但没有插入所有数字

Python:从数据框的列中删除所有数据,但我们存储在第一行中的最后一个值除外

为什么我的职能未将我的所有号码相加?它只给出第一个数字

当我打印动态分配的数组时,它只打印最后一个值

jQuery / RegEx-返回除最后一个数字以外的所有数字?

我有一个带有随机数字的文件。我需要将所有数字从2000-4000转换为xyzw

jQuery删除除第一个和最后一个数字外的所有数字

C#通过递归获取斐波那契IEnumerable <int>。我希望它返回所有数字,而不仅仅是最后一个

将所有 UI 事件合并到一个 Observable,但我只收到最后一个合并的事件

它只在链表中插入最后一个矩阵

我只获得一次所有数据

为什么我的代码只比较数组的第一个和最后一个数字 - Java

我设法只调用一个数组项,但我的代码需要调用所有数组项

当从数据库获取数据时只获取一行的第一个索引,我想要每一行的所有数据

输出 .csv 文件只写入最后一个查询。如何让它打印所有 url 检查?

迭代一个txt文件中的所有数字,看看第一位和最后一位数字是否相同

使用递归显示数字的所有数字时无法打印数字的最后一位数字?

有一个错误,即使我是一个数字,我也无法将 nil 与数字进行比较

如何从 ArrayList<String> 获取所有值(我只获取最后一个值)?

在python中打印列表中小于最后一个数字的所有数字

如何在 Python3 中显示一个非常大的数字的所有数字