実際、私はこのコードを書きましたが、動作していません。助けてください。
unsigned short checkCollisionOrFood(unsigned short rowHead,unsigned short colHead)
/*this the functionother then main function where i am changing value of "rowHead",but on checking it remain same*/
{
if(turn==0){
if(address[colHead]&(1<<((rowHead+1)%8))){
if(((int)(address[(colHead+7)%8]&(1<<(rowHead+1)%8))
+(int)(address[colHead]& (1<<(rowHead+2)%8))
+(int)(address[(colHead+1)%8]&(1<<(rowHead+1)%8)))>1) return -1;
else{
rowHead=(rowHead+1)%8;//this value of rowHead is not getting change.
return 1;
}
}
}
変数「turn」、「rowHead」、「colHead」はグローバル変数です。Daniel Fischer の指示に従ってこのコードを変更すると、
unsigned short checkCollisionOrFood()
{
if(turn==0){
if(address[colHead]&(1<<((rowHead+1)%8))){
if(((int)(address[(colHead+7)%8]&(1<<(rowHead+1)%8))
+(int)(address[colHead]&(1<<(rowHead+2)%8))
+(int)(address[(colHead+1)%8]&(1<<(rowHead+1)%8)))>1) return -1;
else{
rowHead=(rowHead+1)%8;
return 1;
}
}
}