私の目標は、サイコロ ゲームを次のように設計することです。
ダイスを 1 つ振って、このダイスが偶数の場合、追加のダイスを 1 つ取得し、ダイスを 2 つ振ることができます。すべてのサイコロが偶数の場合、追加のサイコロを 1 つ取得します。
私の問題は、それを行うための一般的な方法をどのように構築できるかを理解できないことです。
最近、私は次のようなことについて考えました
- n = 1
- n*さいころを転がして(「転がす」と乱数が返ってきます)、どのサイコロが偶数かを調べます...
誰かが最善の方法を教えてください。ありがとうございました
更新 コメントの後、最終的に NSMutableArray を使用してサイコロの値を保存しようとしましたが、これはうまく機能します。値が NSMutableArray に保存されると、値は同じままで、好きなように変更できない新しいサイコロを投げるのと同じように。これは、乱数が不変の NSNumber に格納されているという事実から来ていると思いますか? 皆さん、私のコードをチェックしてもらえますか...
#import <Foundation/Foundation.h>
int main (int argc, const char * argv[])
{
// my int values
int valueOne = arc4random()%6+1;
int valueTwo = arc4random()%6+1;
int valueThree = arc4random()%6+1;
int valueFour = arc4random()%6+1;
int valueFive = arc4random()%6+1;
// Wrapped into objects to add to my array
NSNumber* diceOne = [NSNumber numberWithInt:valueOne];
NSNumber* diceTwo = [NSNumber numberWithInt:valueTwo];
NSNumber* diceThree = [NSNumber numberWithInt:valueThree];
NSNumber* diceFour = [NSNumber numberWithInt:valueFour];
NSNumber* diceFive = [NSNumber numberWithInt:valueFive];
// my array called "myDice"
NSMutableArray* myDice = [[NSMutableArray alloc] initWithCapacity:6];
// add the objects
[myDice addObject:diceOne];
[myDice addObject:diceTwo];
[myDice addObject:diceThree];
[myDice addObject:diceFour];
[myDice addObject:diceFive];
// Sorting my array
int i;
NSNumber *myObject;
for(i=0;i<[myDice count];i++)
{
myObject = [myDice objectAtIndex:i];
NSLog(@"\n\nyour die %d is %@.",i+1, myObject);
}
return 0;
}