コード例 #1
0
ファイル: WorldController.java プロジェクト: adsgray/openrock
 WorldController(Game game, UIProvider ui) {
   this.game = game;
   this.ui = ui;
   world = new World();
   world.setBroomLocation(0, CurlingConstants.TEE_TO_CENTER);
   ui.setWorld(world);
 }
コード例 #2
0
ファイル: WorldController.java プロジェクト: adsgray/openrock
 private void updateSweep() {
   if (currentStone == null) {
     return;
   }
   double sweep = ui.getSelectedSweep();
   if (sweep != currentStone.getSweep()) {
     currentStone.setSweep(sweep);
     game.sendAllStones(world.getStones());
   }
 }
コード例 #3
0
ファイル: WorldController.java プロジェクト: adsgray/openrock
 public void throwStone() {
   double speed = ui.getSpeed();
   speed = Math.pow(speed, 1.5);
   double v = (1.0 - speed) * 2.3 + 3.0 * speed;
   Vect2d broom = new Vect2d(world.getBroomX(), world.getBroomY());
   Vect2d dir = broom.minus(CurlingConstants.STONE_START).normalized();
   Vect2d vel = dir.times(v);
   double da = 1.0;
   if (!ui.isHandRight()) {
     da = -da;
   }
   currentStone =
       new Stone(CurlingConstants.STONE_START, vel, 0, da, game.getMatchCtrl().getCurrentTeam());
   double sweep = ui.getSelectedSweep();
   currentStone.setSweep(sweep);
   logger.info("New stone: " + currentStone);
   world.addStone(currentStone);
   game.sendNewStone(currentStone);
   ui.endTurn();
 }
コード例 #4
0
ファイル: WorldController.java プロジェクト: adsgray/openrock
 public void handChanged(boolean right) {
   ui.setHand(right);
   game.sendHand(right);
 }
コード例 #5
0
ファイル: WorldController.java プロジェクト: adsgray/openrock
 public void speedChanged(double speed) {
   ui.setSpeed(speed);
   game.sendSpeed(speed);
 }