Beispiel #1
0
  public static void main(String[] args) {
    // 使用继承,仅仅代表是包含和控制器的所有方法
    SpaceShip protector = new SpaceShip("NSEA Protector");
    protector.forward(100);

    // 通过多的一个代理类,类中有一个control对象,我们可以随意的扩展和缩小control对象中的方法
    //	或者是在方法前后做一些逻辑处理,这样就可以拥有更多的控制力了。
    SpaceShipDelegation d = new SpaceShipDelegation("234");
  }
    public void draw() {
      // Draw outer (border) rectangle
      DrawingHelper.drawFilledRectangle(
          new Rect(
              (int) (DrawingHelper.getGameViewWidth() * .8f) - 6,
              0,
              DrawingHelper.getGameViewWidth(),
              (int) (DrawingHelper.getGameViewHeight() * .2f) + 6),
          Color.BLUE,
          100);

      // Draw inner rectangle
      DrawingHelper.drawFilledRectangle(
          new Rect(
              (int) (DrawingHelper.getGameViewWidth() * .8f),
              3,
              DrawingHelper.getGameViewWidth() - 3,
              (int) (DrawingHelper.getGameViewHeight() * .2f)),
          Color.BLACK,
          100);

      ArrayList<AsteroidType> gameAsteroids = AsteroidsGameModel.getInstance().getAsteroidTypes();
      SpaceShip ship = AsteroidsGameModel.getInstance().getSpaceShip();

      // Calculate and draw position for the ship

      float xScaledAndShifted =
          (ship.getXPosition() * .2f) * mXDimension / mGame.getCurrentLevel().getWidth()
              +
              //                    mXPosition +
              (DrawingHelper.getGameViewWidth() * .8f);
      float yScaledAndShifted =
          (ship.getYPosition() * .2f) * mYDimension / mGame.getCurrentLevel().getHeight(); /*+
                    mYPosition;*/
      DrawingHelper.drawPoint(
          new PointF(xScaledAndShifted, yScaledAndShifted), 3, Color.GREEN, 255);

      // Calculate position for the asteroids

      for (AsteroidType a : gameAsteroids) {
        float xScaleShift =
            (a.getPosition().x * .2f) * mXDimension / mGame.getCurrentLevel().getWidth()
                +
                //                    mXPosition +
                (DrawingHelper.getGameViewWidth() * .8f);
        float yScaleShift =
            (a.getPosition().y * .2f) * mYDimension / mGame.getCurrentLevel().getHeight(); /*+
                    mYPosition;*/
        DrawingHelper.drawPoint(new PointF(xScaleShift, yScaleShift), 4, Color.RED, 255);
      }
    }
Beispiel #3
0
 public static void main(
     String[]
         args) { // DI - Dependency Injection (ussually Spring or other FrameWork are used for that
                 // purpose)
   Pilot pilot = new Pilot("Юрий");
   SpacePort baikonur = new SpacePort();
   SpaceShip spaceShip = new SpaceShip();
   spaceShip.name = "Восток";
   spaceShip.setPilot(pilot);
   baikonur.setSpaceShip(spaceShip);
   baikonur.setMissionControlCenter(new MissionControlCenter());
   baikonur.missionControlCenter.setCurrentSpaceShip(spaceShip);
   baikonur.missionControlCenter.launch();
 }
  /**
   * Returns a enemy spaceship
   *
   * @param type corresponds to the type of spaceship involved, 1 being the lowest and 3 the
   *     highest.
   * @return spaceship
   */
  public SpaceShip getEnemie(int type, Track t, Context context) {
    Random rand = new Random();

    SpaceShip enemy = null;
    Bitmap image = null;
    switch (type) {
      case 1:
        enemy = new SpaceShipLow(world, t, true, context);
        Weapon missile = new Missile(world, true, context);
        missile.setNbrAmmo(Integer.MAX_VALUE);
        enemy.addWeapon(missile);
        enemy.setWeapon(missile.getName());
        image = Utils.createImage(context, R.drawable.weaponmissile);
        // .getSubimage(80, 0, 80, 80);
        break;
      case 2:
        enemy = new SpaceShipMiddle(world, t, true, context);
        Weapon fireball = new FireBall(world, true, context);
        fireball.setNbrAmmo(Integer.MAX_VALUE);
        enemy.addWeapon(fireball);
        enemy.setWeapon(fireball.getName());
        image = Utils.createImage(context, R.drawable.weaponfireball);
        // .getSubimage(80, 0, 80, 80);
        break;
      case 3:
        enemy = new SpaceShipHigh(world, t, true, context);
        Weapon missile2 = new Missile(world, true, context);
        missile2.setNbrAmmo(Integer.MAX_VALUE);
        enemy.addWeapon(missile2);
        enemy.setWeapon(missile2.getName());
        image = Utils.createImage(context, R.drawable.weaponshibooleet);
        // .getSubimage(80, 0, 80, 80);
        break;
    }
    enemy.setPosition(new Vec2(rand.nextInt(Constant.WIDTH) - 100, 100));
    if (true) { // rand.nextInt(10) == 1
      Bonus bonus =
          new Bonus(world, enemy.getWeaponCurrent().getName(), rand.nextInt(50), image, context);
      enemy.setBonus(bonus);
    }
    return enemy;
  }
 public static void main(String[] args) {
   SpaceShip protector = new SpaceShip("NSEA Protector");
   protector.forward(100);
 }