在函数中间中断和恢复?

2024-03-29 10:49:31 发布

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

我正在为我的最后一个编程项目,并试图创建战舰。我唯一要做的就是给自动智能编程。到目前为止,它的工作方式是猜测两个从1到11的随机整数,在网格上选取一个随机空间。一旦它撞到了什么东西,我就制定了规则,这样它就会检查所有的侧面,直到它把整艘船都击沉。问题是这样的话,电脑一次大概转8圈。我需要以某种方式跳出函数,回到我的主运行函数,然后在它停止的地方继续下一个回合。有没有办法做到这一点,或者有没有更好的、完全不同的轮流方式?你知道吗

这就是我的turns函数目前的样子。用户猜测功能工作正常,然后检查您是否赢得了游戏。thinking()是纯美学的,然后我进入comp\u guess函数,我对它有疑问,然后它检查您是否丢失了。然后它自己回忆起来。你知道吗

    def turns():
        user_guess()
        if win_game==True:
            return ('YOU WIN!')
        thinking()
        comp_guess()
        if lose_game==True:
            return ('YOU LOSE!')
        turns()

到目前为止,我的comp\u guess函数只有:

    def comp_guess():
        comp_in1=random.randrange(1,11)
        comp_in2=random.randrange(1,11)
        if (grid_two[comp_in1])[comp_in2]=='S':
            (grid_two[comp_in1])[comp_in2]='X'
            (grid_four[comp_in1])[comp_in2]='X'
        else:
            (grid_two[comp_in1])[comp_in2]='*'
            (grid_four[comp_in1])[comp_in2]='*'
        for f in grid_four:
            print(' '.join(f))

网格2是所有船舶位置的存储网格。网格四是一个得到显示,它只是跟踪电脑的移动,以及他们是否击中或错过。你知道吗


Tags: 函数网格if编程方式gridfourguess
1条回答
网友
1楼 · 发布于 2024-03-29 10:49:31
You need to loop a random int until it finds a slot that is not already taken.
Set if statements so the computer can tell if it has hit a ship or not.
After that it should go back to the main function.

我想电脑之所以转了不止一圈,是因为它一直在循环,直到杀死一艘船? 从玩家交换的主循环走,应该有一个结束游戏的条件。你知道吗

相关问题 更多 >