typedef struct { int points; int x, y, mx, my; SDL_Rect rect; SDL_Surface *image; char name[50]; char who_live[50]; }object; object adam, david, ball; extern int MOVE_Y; extern SDL_Surface *screen; int M_Y = 7; int difficult = 0; float visible = 0; void ai_check(object * user) { if((ball.rect.y > (user->rect.y + user->rect.h/2)) && (user->my != M_Y)) { if((user->rect.y + user->rect.h + M_Y) < (screen->h - 5)) user->my = M_Y; else user->my = -M_Y; } if((ball.rect.y < (user->rect.y + user->rect.h/2)) && (user->my != -M_Y)) user->my = -M_Y; } void ai_move(object * user) { switch(difficult) { case 0: visible = (SCR_X/3.1); break; case 1: visible = (SCR_X/3); break; case 2: visible = (SCR_X/2.9); break; default: break; } if(user->rect.x < SCR_X/2) { if((ball.rect.x < visible) && (ball.mx < 0)) ai_check(user); else user->my = 0; } if(user->rect.x > SCR_X/2) { if(ball.rect.x > (SCR_X - visible) && (ball.mx > 0)) ai_check(user); else user->my = 0; } }