21点开放游戏规则

2024-06-16 12:58:07 发布

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

我正在做一个关于OpenAIgym 21点的项目,但是这个规则看起来有点奇怪。我们有一个元组:

  • 游戏者当前和0,1,…,31。你知道吗
  • 庄家面朝上的牌1,…,10。你知道吗
  • 玩家是否有可用的王牌(否=0,是=1)。你知道吗

代理有两个操作:

  • 斗杆=0
  • 命中=1

奖励:

  • +1:赢
  • -1:松开
  • 0:绘图

    for i_episode in range(3):  
        state = env.reset() 
        while True:  
            print(state) 
            action = env.action_space.sample()
            print(action)
            state, reward, done, info = env.step(action)
            if done:
                print('End game! Reward: ', reward)
                print('You won :)\n') if reward > 0 else print('You lost :(\n')
                break
    

    当我们启动一个游戏时会发生这样的情况:

    (18, 7, False)
    0
    End game! Reward:  0.0
    You lost :(
    
    (19, 7, False)
    0
    End game! Reward:  1.0
    You won :)
    
    (18, 8, False)
    1
    End game! Reward:  -1
    You lost :(
    

    我真的不明白,就像第一场比赛一样,我们总共有18张牌,庄家的正面牌是7张,我们输了?没有意义,我们不知道经销商的总金额是多少-应该大于18-但我们只是不知道


Tags: envyougamefalse游戏ifactionend