私は迷路の中にあなたを追いかけるこの悪役がいます。私は現在、衝突検出は一種のこのようなIB変数である各壁とのXcodeのCGRectsIntersectsRect機能によって実行されたのOpenGL ESやタイルマップを使用していないiphone app - maze solving
:
float hunterdiffx = abs(hunter.center.x - hunterDest.x);
float hunterdiffy = abs(hunter.center.y - hunterDest.y);
if((hunterdiffx!=0.0)&&(hunterdiffx>(1.0*diffy))&&(!hunterCollided)){
//NSLog(@"diffx >");
hunterVel.y = 0;
if(hunterDest.x>(hunter.center.x+3)){
//NSLog(@"x >");
hunterVel.x = 3;
}
else if(hunterDest.x<(hunter.center.x-3)){
//NSLog(@"x <");
hunterVel.x= -3;
}
//when rabbit reaches the destination
else if((hunter.center.x>(hunterDest.x-3)) && (hunter.center.x < (hunterDest.x+3))){
//NSLog(@"x =");
//NSLog(@"one side reach");
hunterVel.x = 0;
hunterVel.y = 0;
}
}
と
if(CGRectIntersectsRect(hunter.frame, border1.frame){
hunterCollided = TRUE;
if(hunterVel.x==0){
NSLog(@"vertical collision");
if(hunterVel.y>0){
hunter.center = CGPointMake(hunter.center.x, hunter.center.y -10);
}
if(hunterVel.y<0){
hunter.center = CGPointMake(hunter.center.x, hunter.center.y +10);
}
hunterVel.y=0;
if(hunterDest.x > hunter.center.x){
hunterVel.x=3;
}
if(hunterDest.x < hunter.center.x){
hunterVel.x=-3;
}
}
// ...
}
私はタイルマップを使用していないので、ハンターの試行を表現するために配列を使うことができないので、これは予想通り、ハンターの行動が非常に馬鹿になります。ハンターが正しい経路を見つけることを可能にする 迷路?
私は数多くの数学で苦労しました。私の脳は現在機能していません。あなたが何か考えているなら、私を助けてください。 CGRectIntersectsRectを使用して