ボードゲーム風のゲームを作っています。プレイヤーはプレイヤー 1 とプレイヤー 2 の 2 人です。プレイヤー 1 は、プレイヤー 1 の再生ボタンを押して開始します。彼らのスプライトは、ランダムな数のタイルを前方に移動します。次に、プレイヤー 2 がプレイヤー 1 の再生ボタンを押してターンを開始します。各ターンの終わりに、プレーヤー 1 の再生ボタンを押した後にプレーヤー 2 の再生ボタンを押したときに、誰の番だったかを記録しました。まだプレーヤー 1 の番であるとログに記録されます。どうしてこれなの?これは私のコードです:
- (void)player1play {
isPlayer1turn = YES;
CCLOG(@"Beggining of player 1's turn");
NSLog(@"%hhd", isPlayer1turn);
if (_randNumLabel == nil)
{
CCLOG(@"Nil");
}
if (_randNumLabel !=nil)
{
CCLOG(@"play button pressed!");
int max = 6;
int randNumber = (arc4random() % max) + 1; // Generates a number between 1-6.
CCLOG(@"Random Number %d", randNumber);
_randNumLabel.string = [NSString stringWithFormat:@"Number: %d", randNumber];
}
//Movement code
isPlayer1turn = NO;
CCLOG(@"End of player 1's turn");
NSLog(@"%hhd", isPlayer1turn);
}
- (void)player2play {
if (isPlayer1turn == YES)
{
isPlayer1turn = NO;
CCLOG(@"Beggining of player 2's turn");
NSLog(@"%hhd", isPlayer1turn);
if (_randNumLabel == nil)
{
CCLOG(@"Nil");
}
if (_randNumLabel !=nil)
{
CCLOG(@"play button pressed!");
int max = 6;
int randNumber = (arc4random() % max) + 1; // Generates a number between 1-6.
CCLOG(@"Random Number %d", randNumber);
_randNumLabel.string = [NSString stringWithFormat:@"Number: %d", randNumber];
}
isPlayer1turn = TRUE;
CCLOG(@"End of player 2's turn");
NSLog(@"%hhd", isPlayer1turn);
}
}
どうすればこれを修正できますか? それとも、再生ボタンが 1 つだけのほうがよいでしょうか。
プレーヤー 1 の再生ボタンを押した後:
014-06-18 20:50:33.450 Sunk[8091:60b] Beggining of player 1's turn
2014-06-18 20:50:33.451 Sunk[8091:60b] 1
2014-06-18 20:50:33.451 Sunk[8091:60b] play button pressed!
2014-06-18 20:50:33.452 Sunk[8091:60b] Random Number 1
2014-06-18 20:50:33.453 Sunk[8091:60b] End of player 1's turn
2014-06-18 20:50:33.454 Sunk[8091:60b] 0
プレーヤー 2 の再生ボタンを押した後:
2014-06-18 20:52:26.666 Sunk[8091:60b] 1
2014-06-18 20:52:26.667 Sunk[8091:60b] play button pressed!
2014-06-18 20:52:26.668 Sunk[8091:60b] Random Number 5
2014-06-18 20:52:26.668 Sunk[8091:60b] End of player 1's turn
2014-06-18 20:52:26.669 Sunk[8091:60b] 0