2009/05/26

でぃくしょなり。

やはり難しい。
dictionaryへの登録は簡単に出来たが、それ以降の読み出しがうまくいかない。

NSNumber *number2 = [NSNumber numberWithInt:2];
NSString *startArea2 = [[NSString alloc] initWithFormat:@"pt.x > 195 || pt.x < 252 || pt.y < 45"];
NSString *goalArea2 = [[NSString alloc] initWithFormat:@"pt.x > 195 || pt.x < 252 || pt.y < 45"];
NSMutableDictionary *dict2 = [NSMutableDictionary dictionaryWithObjectsAndKeys:
number2, @"number",
startArea2, @"startArea",
goalArea2, @"goalArea", nil];
[roadArray addObject:dict2];


NSNumber *number3 = [NSNumber numberWithInt:3];
NSString *startArea3 = [[NSString alloc] initWithFormat:@"pt.x > 253 || pt.x < 286 || pt.y < 50"];
NSString *goalArea3 = [[NSString alloc] initWithFormat:@"pt.x <> 440"];
NSMutableDictionary *dict3 = [NSMutableDictionary dictionaryWithObjectsAndKeys:
number3, @"number",
startArea3, @"startArea",
goalArea3, @"goalArea", nil];
[roadArray addObject:dict3];


NSNumber *number4 = [NSNumber numberWithInt:4];
NSString *startArea4 = [[NSString alloc] initWithFormat:@"pt.x > 122 || pt.x < 154 || pt.y < 40"];
NSString *goalArea4 = [[NSString alloc] initWithFormat:@"pt.y < 460"];
NSMutableDictionary *dict4 = [NSMutableDictionary dictionaryWithObjectsAndKeys:
number4, @"number",
startArea4, @"startArea",
goalArea4, @"goalArea", nil];
[roadArray addObject:dict4];






そして実際にdictionaryの値をif文に実装するテストを行った。
まだdictionaryの値を読み出す事には成功していないので、NSString型の変数に既にdictionaryから値が読み込まれたと想定してテストをした。

NSString *startAreaaaa = [[NSString alloc] initWithFormat:@"pt.x > 224 && pt.y < 100"];
if( startAreaaaa ){
NSLog(@"通過。" );
startImageView.center = CGPointMake(pt.x, pt.y);
moveFlg = 1;
}

しかし、if文の条件式を読み込んでくれない。。。
NSLogでは「通過」と表示されるので確実にif文は通っているのだが、どうやら条件をスルーしてしまうようだ。
あらゆる対策をしてみたが、効果はなかった。

アルゴリズムを変えていく必要があるかもしれない。


明日はそのアルゴリズムの構想からしていこうと思う。

0 件のコメント:

コメントを投稿