我现在有一个单人棋盘游戏,有一个人类玩家和三个AI玩家。我想把这个转变成四个人类玩家。如何从下面的代码中实现这一点?我可以简单地为第一行"currentplayer ==3“使用和OR语句,并将其读为"currentplayer 3 == 1”
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];
}
}发布于 2014-11-26 02:51:45
理想情况下,如果你用人类玩家替换你的人工智能,你会完全抛弃人工智能代码。我会考虑复制每个玩家的人类代码。
说你有:
if(player==1) {
player 1's turn stuff here
}你可以扩展它,然后转到:
if(player==2) {
player 2's turn stuff here
}如果这是一个基于回合的游戏,而不是跟踪玩家,跟踪转身。第一回合将是第一名球员,第二轮是第二名球员,然后一旦你达到第一轮的最大球员数,就会重新设置。
https://stackoverflow.com/questions/27140443
复制相似问题