Xirquatha was my first Java project. Our company had a contest to write a Java game to help the consultants learn java. It's a simple top scrolling shooter with the player flying a spaceship and killing alien crafts and turrets. ![]() ![]() Simple AI for the enemy sprites: private void AI(int ship_x,int ship_y) { switch ( m_Type ) { case 22: // Bomber m_Delta_Y = -3; m_Fire_Delay++; if ( m_Fire_Delay > 10 ) { m_Sprites.FireBullet((int)m_X,(int)m_Y); m_Fire_Delay = m_Applet.GetRandom(3); } break; case 23: // Homer if ( m_X > ship_x ) { m_Delta_X--; if ( m_Delta_X < -10 ) m_Delta_X = -10; } else if ( m_X < ship_x ) { m_Delta_X++; if ( m_Delta_X > 10 ) m_Delta_X = 10; } if ( ship_y - m_Y < 500 ) m_Delta_Y = 0; m_Fire_Delay++; if ( m_Fire_Delay > 15 ) { m_Sprites.FireBullet((int)m_X,(int)m_Y); m_Fire_Delay = m_Applet.GetRandom(3); } break; case 24: // Diver if ( m_X > ship_x ) { m_Delta_X--; if ( m_Delta_X < -10 ) m_Delta_X = -10; } else if ( m_X < ship_x ) { m_Delta_X++; if ( m_Delta_X > 10 ) m_Delta_X = 10; } if ( m_Y < ship_y - 250 ) { --m_Delta_Y; if ( m_Delta_Y < -10 ) m_Delta_Y = -10; } else if ( m_Y > ship_y - 250 ) { m_Delta_Y++; if ( m_Delta_X > 10 ) m_Delta_X = 10; } m_Fire_Delay++; if ( m_Fire_Delay > 10 ) { m_Sprites.FireBullet((int)m_X,(int)m_Y); m_Fire_Delay = m_Applet.GetRandom(3); } break; case 25: // Strafer if ( m_X > ship_x ) { m_Delta_X--; if ( m_Delta_X < -10 ) m_Delta_X = -10; } else if ( m_X < ship_x ) { m_Delta_X++; if ( m_Delta_X > 10 ) m_Delta_X = 10; } if ( m_Y > ship_y - 200 ) m_Delta_Y = -4; m_Fire_Delay++; if ( m_Fire_Delay > 15 ) { m_Sprites.FireBullet((int)m_X,(int)m_Y); m_Fire_Delay = m_Applet.GetRandom(3); } break; case 26: // gun emplacement m_Fire_Delay++; if ( m_Fire_Delay > 15 ) { m_Sprites.FireBullet((int)m_X,(int)m_Y); m_Fire_Delay = m_Applet.GetRandom(3); } else if ( m_Fire_Delay > 10 ) m_Is_Invincible = false; else { m_Is_Invincible = true; m_Type = 27; } break; case 27: // gun emplacement #2 m_Fire_Delay++; m_Is_Invincible = true; if ( m_Fire_Delay > 10 ) { m_Is_Invincible = false; m_Type = 26; } break; case 28: // strafer/bomber if ( m_X > ship_x ) { m_Delta_X--; if ( m_Delta_X < -4 ) m_Delta_X = -4; } else if ( m_X < ship_x ) { m_Delta_X++; if ( m_Delta_X > 4 ) m_Delta_X = 4; } if ( m_Y < ship_y - 150 ) { --m_Delta_Y; if ( m_Delta_Y < -3 ) m_Delta_Y = -3; } else if ( m_Y > ship_y - 150 ) { m_Delta_Y++; if ( m_Delta_X > 3 ) m_Delta_X = 3; } m_Fire_Delay++; if ( m_Fire_Delay > 20 ) { m_Sprites.FireBullet((int)m_X,(int)m_Y); m_Fire_Delay = m_Applet.GetRandom(3); } break; case 33: // boss gun emplacement m_Fire_Delay++; if ( m_Fire_Delay > 15 ) { m_Sprites.FireBullet((int)m_X,(int)m_Y); m_Fire_Delay = m_Applet.GetRandom(3); } else if ( m_Fire_Delay > 12 ) m_Is_Invincible = false; else { m_Is_Invincible = true; m_Type = 34; } break; case 34: // boss gun emplacement #2 m_Fire_Delay++; m_Is_Invincible = true; if ( m_Fire_Delay > 12 ) { m_Is_Invincible = false; m_Type = 33; } break; case 35: // boss gunner m_Fire_Delay++; if ( m_Fire_Delay > 10 ) { m_Sprites.FireSpread((int)m_X,(int)m_Y); m_Fire_Delay = m_Applet.GetRandom(3); } break; } } |
Projects >