モノポリータイプのボードゲームで、すべてのマス目を通してペグをトラバースする方法は?
クリックすると、ランダムに生成された数値から取得した目的の位置にペグを移動する movepegbutton の関数を作成しました。
これは、Move peg Button についてこれまでに書いたものです。
(IBAction)movePegButton:(id)sender
{
self.pegDestinationPositionIndex = self.pegCurrentPositionIndex + self.randomNumber;
if (self.pegDestinationPositionIndex > [self.boardCordinatesArray count] - 1)
{
self.pegDestinationPositionIndex = self.pegDestinationPositionIndex - [self.boardCordinatesArray count];
}
[self animatePeg];
self.pegCurrentPositionIndex = self.pegDestinationPositionIndex;
}
これは、ペグをアニメーション化するために書いたものです。
(void)animatePeg
{
int destinationXCord = [[[self.boardCordinatesArray objectAtIndex:self.pegDestinationPositionIndex] objectForKey:@"x"]intValue];
int destinationYCord = [[[self.boardCordinatesArray objectAtIndex:self.pegDestinationPositionIndex] objectForKey:@"y"]intValue];
[UIView animateWithDuration:1.0 animations:^{
self.peg.center = CGPointMake(destinationXCord, destinationYCord);
}];
}
これまでのところ、ペグは目的のマスに正しく移動しますが、途中ですべてのマスを通過していません。たとえば、8X8 のマスの場合、最初のサイコロが 6 を転がすと、ペグは正しく 6 番目のマスに移動し、2 番目のサイコロが振れます。 5 をロールすると、ペグは目的のマスに正しく移動しますが、その位置に斜めに直接ジャンプし、途中のマスを横断しません。
ここで立ち往生しています。どうすればいいですか??