在Python中模拟蛇和梯子游戏时的问题

2024-09-26 17:56:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用Python来模拟蛇和梯子的游戏。到目前为止,我已经创建了一个名为iRandom的模块,其中包含一个要滚动的骰子(数字1到6)和两个函数:一个名为movement,另一个名为snakes_and_ladders。[注:我知道这个游戏可以用很多不同的方式编程,但我正在学习编程课程,我需要遵循一些具体的说明]。你知道吗

这是我目前掌握的代码:

import iRandom

def movement(starting_position, distance):
        starting_position = 0
        distance = iRandom.snakes_and_ladders_dice()
        current_space = starting_position + distance
        if current_space > 100:
            current_space = starting_position
        elif current_space == 1:
            current_space = 38
        elif current_space == 4:
            current_space = 14
        elif current_space == 9:
            current_space = 31
        elif current_space == 21:
            current_space = 42
        elif current_space == 28:
            current_space = 84
        elif current_space == 36:
            current_space = 44
        elif current_space == 51:
            current_space = 67
        elif current_space == 71:
            current_space = 91
        elif current_space == 80:
            current_space = 100
        elif current_space == 16:
            current_space = 6
        elif current_space == 47:
            current_space = 26
        elif current_space == 49:
            current_space = 11
        elif current_space == 56:
            current_space = 53
        elif current_space == 62:
            current_space = 19
        elif current_space == 64:
            current_space = 60
        elif current_space == 87:
            current_space = 24
        elif current_space == 93:
            current_space = 73
        elif current_space == 95:
            current_space = 75
        elif current_space == 98:
            current_space = 78
        return current_space

def snakes_and_ladders(must_print):
    current_position = 0
    while current_position < 100:
        number = iRandom.snakes_and_ladders_dice()
        new_position = movement(current_position, number)
        if must_print == TRUE: 
            print("{}\t{}\t{}").format(current_position, number, new_position)
        current_position += new_position


if __name__ == "__main__":
        snakes_and_ladders(must_print) 

我的问题是,当我从终端运行./snakes_and_ladders.py(即,存储此脚本时的文件)时,我要么得到语法错误消息,要么打印出一些在更正错误后不是我所期望的内容。你知道吗

我最纠结的事情是:

  • 如何将movement函数集成到第二个函数中。你知道吗
  • 如何“设置”变量must_print(我使用它是因为指令需要它,但我没有真正得到它。。。我甚至不确定我是否用对了)。你知道吗

如果你能帮我弄清楚发生了什么或者你是否需要任何其他信息,请告诉我!你知道吗


Tags: and函数ifpositionspacecurrentdistanceprint

热门问题