public void update(HashSet<Key> keys) { for (Tire tire : tires) { tire.updateFriction(); } for (Tire tire : tires) { tire.updateDrive(keys); } float lockAngle = 35 * Constants.DEGTORAD; float turnSpeedPerSec = 160 * Constants.DEGTORAD; float turnPerTimeStep = turnSpeedPerSec / 60.0f; float desiredAngle = 0; /** if player 1 */ if (playerNum == 1) { if (keys.contains(Key.Left)) { desiredAngle = lockAngle; } else if (keys.contains(Key.Right)) { desiredAngle = -lockAngle; } } /** if player 2 */ if (playerNum == 2) { if (keys.contains(Key.a)) { desiredAngle = lockAngle; } else if (keys.contains(Key.d)) { desiredAngle = -lockAngle; } } float angleNow = leftJoint.getJointAngle(); float angleToTurn = desiredAngle - angleNow; angleToTurn = CarMath.clamp(angleToTurn, -turnPerTimeStep, turnPerTimeStep); float newAngle = angleNow + angleToTurn; leftJoint.setLimits(newAngle, newAngle); rightJoint.setLimits(newAngle, newAngle); if (fuel) { if (!carDone) { UseFuel(isAccelerating, fuelConsumption); if (onFuelPad) { addFuel(); } } } // System.out.println("LapCounter : " + lapCounter); }
private Tire createHankookTire() { Tire tire = new Tire(); tire.setMaker("Hankook"); Properties specProp = new Properties(); specProp.setProperty("width", "205"); specProp.setProperty("ratio", "65"); specProp.setProperty("rim.diameter", "14"); tire.setSpec(specProp); SimpleDateFormat dataFormat = new SimpleDateFormat("yyyy-MM-dd"); try { tire.setCreateDate(dataFormat.parse("2014-05-05")); } catch (Exception e) { } return tire; }
public void moveRight() { while (hasMove < moveH) { xPos++; hasMove++; } hasMove = 0; tire.deflated(); }
public void moveLeft() { while (hasMove < moveH) { xPos--; hasMove++; } hasMove = 0; tire.deflated(); }
private Tire createKumhoTire() { Tire tire = new Tire(); tire.setMaker("Kumho"); Properties specProp = new Properties(); specProp.setProperty("width", "185"); specProp.setProperty("ratio", "75"); specProp.setProperty("rim.diameter", "16"); tire.setSpec(specProp); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); try { tire.setCreatedDate(dateFormat.parse("2014-3-1")); } catch (Exception e) { } return tire; }
@Override public String toString() { StringBuffer buf = new StringBuffer(); buf.append("[자동차:" + model + ",\n"); if (engine != null) { buf.append(" " + engine.toString() + "\n"); } if (tires != null) { for (Tire t : tires) { buf.append(" " + t.toString() + ",\n"); } } if (options != null) { for (Entry<String, Object> entry : options.entrySet()) { buf.append(" >" + entry.getKey() + ":" + entry.getValue().toString() + "\n"); } } return buf.toString(); }
public void forward(SpeedSensor speedSensor) { if (!tire.getIsVeryDeflated()) { if (speed < topSpeed) { if (speed < speedSensor.getSafeSpeed()) { speed = speed + accelerate; } } } else { if (speed < topSpeedWhenDeflated) { if (speed < speedSensor.getSafeSpeed()) { speed = speed + accelerate; if (tire.getPressure() < 10) speed = 0; } } else { while (speed > topSpeedWhenDeflated) { brake(); } } } yPos = yPos - speed; if (tire.getPressure() >= 10) machine.heatUp(); tire.deflated(); }
@Bean public Tire Hankook() { tire.name = "한국타이어"; return tire; // new Tire(10,"넥센타이어"); }
@Bean public Tire Nexen() { tire.name = "nexen"; return tire; // new Tire(10,"넥센타이어"); }
public void testSupertypeStaticMethodsInjected() { assertTrue(Tire.hasBeenStaticMethodInjected()); }
public int getTirePressure() { return tire.getPressure(); }
public void brake() { if (speed > 0) speed = speed - 3 * accelerate; yPos = yPos - speed; machine.coolDown(); tire.deflated(); }
public Car( World world, int CarNum, int ColorNum, int playerNum, ScreenAssets assets, boolean testing) { this.playerNum = playerNum; this.carNum = CarNum; this.assets = assets; whichCar(CarNum, ColorNum); if (testing) { if (GameScreen.getMapNum() == 0) { lapCounter = 4; } else { lapCounter = 1; } } car_car = assets.manager.get(ScreenAssets.car_car_sound); car_wall1 = assets.manager.get(ScreenAssets.car_wall_sound1); car_wall2 = assets.manager.get(ScreenAssets.car_wall_sound2); car_wall3 = assets.manager.get(ScreenAssets.car_wall_sound3); car_Tire = assets.manager.get(ScreenAssets.car_tire_sound); car_lap_complete = assets.manager.get(ScreenAssets.lap_complete_sound); car_fueling = assets.manager.get(ScreenAssets.refueling_loop); car_going_on_fuel = assets.manager.get(ScreenAssets.getting_on_fuel_sound); fuelAreas = new Array<FuelAreaType>(); currentCheckpoints = new Array<Integer>(); tires = new Array<Tire>(); BodyDef bodyDef = new BodyDef(); bodyDef.type = BodyType.DynamicBody; bodyDef.position.set(InitialPosition); body = world.createBody(bodyDef); body.setAngularDamping(3); Vector2[] vertices = new Vector2[8]; vertices[0] = new Vector2(0.75f, -2.5f); vertices[1] = new Vector2(1.5f, -2f); vertices[2] = new Vector2(1.5f, 2f); vertices[3] = new Vector2(0.75f, 2.5f); vertices[4] = new Vector2(-0.75f, 2.5f); vertices[5] = new Vector2(-1.5f, 2f); vertices[6] = new Vector2(-1.5f, -2f); vertices[7] = new Vector2(-0.75f, -2.5f); PolygonShape polygonShape = new PolygonShape(); polygonShape.set(vertices); FixtureDef fixtureDef = new FixtureDef(); fixtureDef.shape = polygonShape; fixtureDef.isSensor = false; fixtureDef.density = density; fixtureDef.filter.categoryBits = Constants.CAR; fixtureDef.filter.maskBits = Constants.GROUND | Constants.TIREOBS | Constants.CAR | Constants.WALL | Constants.FUEL | Constants.FINISH | Constants.BRIDGE | Constants.METAL | Constants.ICE; Fixture fixture = body.createFixture(fixtureDef); fixture.setUserData(new CarType(carSprite, this)); // body.applyTorque(1000, true); carSprite = new Sprite(new Texture(carLink)); carSprite.setSize(3, 6); carSprite.setOrigin(carSprite.getWidth() / 2, carSprite.getHeight() / 2); body.setUserData(new CarType(carSprite, this)); RevoluteJointDef jointDef = new RevoluteJointDef(); jointDef.bodyA = body; jointDef.enableLimit = true; jointDef.lowerAngle = 0; jointDef.upperAngle = 0; jointDef.localAnchorB.setZero(); float maxForwardSpeed = maxFSpeed; float maxBackwardSpeed = maxBSpeed; float backTireMaxDriveForce = backTireMDriveForce; float frontTireMaxDriveForce = frontTireMDriveForce; float backTireMaxLateralImpulse = backTireMLateralImpulse; float frontTireMaxLateralImpulse = frontTireMLateralImpulse; float breakingForcePourcentage = breakingFPourcentage; // Lower Left Tire tire = new Tire(world, playerNum); tire.setCharacteristics( maxForwardSpeed, maxBackwardSpeed, backTireMaxDriveForce, backTireMaxLateralImpulse, breakingForcePourcentage); jointDef.bodyB = tire.body; jointDef.localAnchorA.set(-1.125f, -1.5f); world.createJoint(jointDef); tires.add(tire); // Lower Right tire = new Tire(world, playerNum); tire.setCharacteristics( maxForwardSpeed, maxBackwardSpeed, backTireMaxDriveForce, backTireMaxLateralImpulse, breakingForcePourcentage); jointDef.bodyB = tire.body; jointDef.localAnchorA.set(1.125f, -1.5f); world.createJoint(jointDef); tires.add(tire); // Upper Left tire = new Tire(world, playerNum); tire.setCharacteristics( maxForwardSpeed, maxBackwardSpeed, frontTireMaxDriveForce, frontTireMaxLateralImpulse, breakingForcePourcentage); jointDef.bodyB = tire.body; jointDef.localAnchorA.set(-1.125f, 1.5f); leftJoint = (RevoluteJoint) world.createJoint(jointDef); tires.add(tire); // Upper Right tire = new Tire(world, playerNum); tire.setCharacteristics( maxForwardSpeed, maxBackwardSpeed, frontTireMaxDriveForce, frontTireMaxLateralImpulse, breakingForcePourcentage); jointDef.bodyB = tire.body; jointDef.localAnchorA.set(1.125f, 1.5f); rightJoint = (RevoluteJoint) world.createJoint(jointDef); tires.add(tire); } // end of car