当前位置: 首页 > 知识库问答 >
问题:

如何使骰子游戏在其他玩家之间比较分数?

范鸿
2023-03-14

我在创造一个骰子游戏。我被卡住了,我希望游戏比较每个玩家的滚动输出roll=randint(1,6),这样得分最高的玩家就赢了。但是,我真的不知道该怎么做。

from random import randint

def main():
    player = int(input('How many players> ')) 
    step = 1
    player += 1
    player_dict = {}

    for pl in range(1, player, step):
        player_name = input(f'Player {str(pl)} name> ') # Get players name from user input
        player_dict[pl] = player_name

    for x in player_dict:
        roll_dice(player_dict[x])

def roll_dice(player_name):
    start_rolling = input(f'{player_name} roll dice? y/n> ')
    if start_rolling == 'y' or start_rolling == 'Y':
        roll = randint(1, 6)
        print(roll)

    return roll_dice

共有1个答案

卜方伟
2023-03-14
from random import randint


def main():
    player = int(input('How many players> ')) 
    step = 1
    player += 1
    player_dict = {}
    scores_dict = {}
    
    for pl in range(1, player, step):
        player_name = input(f'Player {str(pl)} name> ') # Get players name from user input
        player_dict[pl] = player_name

    for x in player_dict:
        score = roll_dice(player_dict[x])
        scores_dict[player_dict[x]] = score


    highest_score = max(scores_dict, key=scores_dict.get)
    sorted_scores = {k: v for k, v in sorted(scores_dict.items(), key=lambda item: item[1], reverse=True)}
    print('----------Results------------')
    [print(f'Position {i+1}: {key} with a roll of {value}') for i, (key, value) in enumerate(sorted_scores.items())]
    print('----------Winner-------------')
    print(f'{highest_score} wins')

def roll_dice(player_name):
    start_rolling = input(f'{player_name} roll dice? y/n> ')
    if start_rolling == 'y' or start_rolling == 'Y':
        roll = randint(1, 6)
        print(f'{player_name} rolls a {roll}')
        return roll
    return

if __name__ == '__main__':
    main()
 类似资料:
  • 每个玩家掷两个骰子 他们比较每个掷骰子上的最高数字。人数较大的玩家将获得2分。他们比较每个卷上的最低数字。人数较大的玩家将获得1分。如果数字是平局,则不会获得积分。第一个获得20总分的玩家获胜。我该如何做比较部分?这是我到目前为止的代码

  • 1-4:玩家从1-6随机向前移动 5:玩家从4-11向前移动一个随机量(随机8+4) 6:玩家移动到另一个玩家所在的位置(见下文) 我是新的代码编写(这是我的第四个程序编写),并没有广泛的知识知道什么是错误的。代码不需要熟练地完成,我只想让它正常工作。我们非常感谢您的帮助。 }

  • 我正在制作一个本地比赛的MMORPG游戏,我已经开始在服务器上工作,我遇到的问题是,我想要一种方法来检测每个玩家看到的其他玩家,这样我就可以将他们周围玩家的信息发送给特定的玩家。 首先,我想到了将一个2d圆形对象附加到玩家对象上,并对数据结构中的每个玩家进行碰撞检查,但这将非常耗费性能,有合适的算法吗?请帮帮我!

  • 我的计算机科学课的猪骰子游戏不会在每次回合后保存每个分数,即使玩家达到最高分数,我的游戏也不会停止(我知道原因是布尔值,但我不知道还能用什么)。此外,当一名球员拒绝再次掷骰时,得分将回到零。如果有人能帮我,那就太好了!!谢谢。

  • 有人能在这里给我指个正确的方向吗?我的游戏工作完美,但我想添加一些实际的互动/目标。谢谢

  • 我是Java的初学者,所以我不太懂。我在大学的课程中学习Java,我正在为作业做骰子游戏。