001 package com.croftsoft.apps.mars.ai; 002 003 import java.awt.Shape; 004 005 import com.croftsoft.core.ai.astar.SpaceTester; 006 import com.croftsoft.core.math.geom.PointXY; 007 008 import com.croftsoft.apps.mars.model.TankAccessor; 009 010 /********************************************************************* 011 * The tank console. 012 * 013 * @version 014 * 2003-04-29 015 * @since 016 * 2003-03-29 017 * @author 018 * <a href="https://www.croftsoft.com/">David Wallace Croft</a> 019 *********************************************************************/ 020 021 public interface TankConsole 022 extends TankAccessor, SpaceTester 023 ////////////////////////////////////////////////////////////////////// 024 ////////////////////////////////////////////////////////////////////// 025 { 026 027 public int getAmmo ( ); 028 029 public double getBodyHeading ( ); 030 031 public double getBodyRotationSpeed ( ); 032 033 public Shape getShape ( ); 034 035 public double getTankSpeed ( ); 036 037 public double getTurretHeading ( ); 038 039 ////////////////////////////////////////////////////////////////////// 040 ////////////////////////////////////////////////////////////////////// 041 042 public PointXY getClosestAmmoDumpCenter ( ); 043 044 public PointXY getClosestEnemyTankCenter ( ); 045 046 // 047 048 public void fire ( ); 049 050 public void go ( PointXY destination ); 051 052 public void rotateTurret ( PointXY targetPointXY ); 053 054 ////////////////////////////////////////////////////////////////////// 055 ////////////////////////////////////////////////////////////////////// 056 }