首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从人工智能到多人游戏

从人工智能到多人游戏
EN

Stack Overflow用户
提问于 2014-11-26 02:38:15
回答 1查看 38关注 0票数 0

我现在有一个单人棋盘游戏,有一个人类玩家和三个AI玩家。我想把这个转变成四个人类玩家。如何从下面的代码中实现这一点?我可以简单地为第一行"currentplayer ==3“使用和OR语句,并将其读为"currentplayer 3 == 1”

代码语言:javascript
复制
   if (currentPlayer == 3 && ([currentTokens count])){
    for (int count = 0; count < [currentTokens count]; count++) {
        Token *token = (Token*)[currentTokens objectAtIndex:count];
        [token setUserInteractionEnabled:YES];
    }

}
else if ([currentTokens count])//For NonHuman Players
{
    //        NSLog(@"Break3.3");

    int arrLength = [currentTokens count];
    //        NSLog(@"Break3.4 and %i",arrLength);

    ////////////////// AI for NON HUMAN AT OCCURENCE OF SIX OF DICE////////////
    Token *nonHumanToken;
    int tokenAtHomeCount = 0;
    if (firstDiceValue == 6) {
        for (int count = 0; count < [currentTokens count]; count++) {
            Token *selectedToken = (Token*)[currentTokens objectAtIndex:count];
            if (selectedToken.isAtHome) {
                tokenAtHomeCount++;
                nonHumanToken = (Token*)[currentTokens objectAtIndex:count];
                break;
            }
        }

        if (!tokenAtHomeCount) {
            nonHumanToken = (Token*)[currentTokens objectAtIndex:(arc4random()%arrLength)];
        }

    }
    else{
        nonHumanToken = (Token*)[currentTokens objectAtIndex:(arc4random()%arrLength)];
    }
    ////////////////////////////////
    [self performSelector:@selector(courseOfActionWithDelay:) withObject:nonHumanToken afterDelay:1.5];

    //        [self moveToken:nonHumanToken Till:firstDiceValue];

    if ([currentTokens count]) {
        [self DisplayMessageForMovingTokens:currentPlayer];
    }

}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-26 02:51:45

理想情况下,如果你用人类玩家替换你的人工智能,你会完全抛弃人工智能代码。我会考虑复制每个玩家的人类代码。

说你有:

代码语言:javascript
复制
if(player==1) {
     player 1's turn stuff here
}

你可以扩展它,然后转到:

代码语言:javascript
复制
if(player==2) {
     player 2's turn stuff here
}

如果这是一个基于回合的游戏,而不是跟踪玩家,跟踪转身。第一回合将是第一名球员,第二轮是第二名球员,然后一旦你达到第一轮的最大球员数,就会重新设置。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27140443

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档