Robocode. Robocode: basics Coords. are (x,y), with bottom left as (0,0) Heading: degrees, straight up = 0, pos. clockwise (0 <= heading <= 360) Bearing:

Slides:



Advertisements
Similar presentations
Coevolution of Human-Competitive Robocode Tanks Using Genetic Programming with Exogenous Fitness Jason Owens & Ron Bowers.
Advertisements

In the previous question we saw how a funnel cart works when the track is horizontal with the cart moving at a constant velocity. Now suppose that the.
Picture It Very Basic Game Picture Pepper. Original Game import java.util.Scanner; public class Game { public static void main() { Scanner scan=new Scanner(System.in);
Robocode Some Methods and Ideas. Robot anatomy 101 Just like the real thing … it has a gun that rotates a radar on top that also rotates tank, gun and.
Robocode. What is Robocode? Robocode is an easy-to-use robotics battle simulator. You create a robot, put it onto a battlefield, and let it battle to.
PHYS 201 Chapter 3 Kinematics in 2-D Equations in 2-D Projectile.
In 1350, a catapult was stationed at the top of a 500 meter cliff overlooking the Straits of Gibraltar, a strategic waterway that leads to the Mediterranean.
Navigating the BOE-BOT
This Week Cover as much Robocode strategy as we can Monday: Robocode
1. hits the criminal regardless of the value of vo.
Graduate Capstone Project Breaking Walls: Developing a Successful Robot in Robocode Chris Velez Summer 2011 Advisor :Dr. Xiang.
Movement. Fixed Movement setLocation (x, y) Makes the crab move to a fixed cell x,y Relative Movement The functions: getX() getY() Fetch the x and y coordinate.
Design, Implementation, & Impact Jeffrey Santos Hofstra University May, 2010.
The Turtle Laboratory Sequence LMICSE Workshop June , 2005 Alma College.
SMDEP Physics Projectile Motion continued, Uniform circular motion, Centripetal acceleration.
Evolving Killer Robot Tanks Jacob Eisenstein. Why Must We Fight? Giving the people what they want Essence of embodiment: Moving around and surviving in.
Great teaching/ learning aid … OO Threading Packaging Inheritance Polymorphism Calling API code Event handling Inner classes Java docs How to duck… Consume.
SuperCorners. Problem The Corners sample robot has a simple strategy: first, move into a corner of the arena, and second sweep the gun back and forth.
Java for Robots How to program an NXT robot with a Java Brain Bert G. Wachsmuth Seton Hall University.
How does Robocode work? In short it is a framework
1 Simulation of Compressible Flow around the Bullet Trains Project Members: Tatiya SameeyaiB Cheerawan Thetchanda B Project Advisor: Assist.Prof.Dr.Keerati.
CSE AI Game Programming. Installation 
Fire Control Naval Weapons Systems. We Know: How the target is detected, How the target is tracked, How the weapon is launched, How the weapon is propelled,
Vex Robotics Programming Sequence. Now that you’ve had some practice downloading and using the included programs, it's time to learn to write some of.
CSE AI Game Programming. Installation 
Style Guidelines. Why do we need style?  Good programming style helps promote the readability, clarity and comprehensibility of your code.
7.2 V battery pack and charger Put the battery in the charger station at the end of the lab. period. Red light indicates charging. Ken Youssefi Introduction.
Overview of Project 3 Slides are available at : Updated 1/28 Due Date for project has been extended to next Friday 2/6.
Assignments. AnatomyBot.java Create a robot that turns all of it parts independently (vehicle, gun, and radar). Turn the vehicle left 360 o Turn the gun.
P Improvements - Constructor p Parameter passing Constructors Problem Solving With C++
What do I have to do? Cause a motor to turn the center arm. attach motor to frame can redesign the center arm piece as needed use bushings or bearings.
My Second Robot. Anatomy of a Robot A robot consists of 3 independently moving parts: Vehicle - determines the direction in which the robot will move.
BASIC MECHANICAL ENGINEERING. TURBINES TURBINES Hydraulic Turbines 1. Impulse Turbine – Pelton Wheel Potential energy of water is converted into kinetic.
Benchmark #03.03 Benchmark Text:Describe the types of sensors and ways in which they can be categorized. Learning Goal:The student will be able to describe.
Seminar for Participants An Introduction on Robocode.
Vectors Review. 1) Which of the following projectiles would reach the highest height? 25 40° 29 30° 40 25°
Vex Robotics Program four: reversing and turning.
The George Washington University Department of ECE ECE Intro: Electrical & Computer Engineering Dr. S. Ahmadi Class 4/Lab3.
Finding the Component Form a Vector Use the velocity vector and angle measure to find the component form of the vector as shown: V = IvIcos”i” + IvIsin”j”
Team RoboTrek Matt Kabert Ryan Bokman Vipul Gupta Advisor: Rong Xu.
Two Dimensional Motion Two components: Horizontal (x-axis) & Vertical (y-axis)
Group 7 Project 1 Presentation Robert Moe John Zumwalt Mark Woehrer Celi Sun.
(1) Introduction to Robocode Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of Hawaii Honolulu.
Chapter 2 – The Little Crab Program:. Little Crab Scenario Inheritance: The Arrows Denote Hierarchy Crab is an Animal Animal is an Actor Therefore, It.
Vex Robotics Program Two: Using two motors. Program two: using the motors In the last section, you learned how to turn on one motor. Now, you will take.
Vexing Vectors or Trig making its way into Physics.
Circular motion About angular motion. Which angle is bigger? 1.5 degrees 2.5 radians 3.5 revolutions
Vex Robotics program three: using motors and sensors together.
Introduction to Robots and the Mind - Programming with Sensors - Bert Wachsmuth & Michael Vigorito Seton Hall University.
Creating Flexible, Script-Controlled Autonomous Software.
Introduction to Programming using Java
Winning Strategy in the Programming Game Robocode
Winning Strategy in Programming Game Robocode
It depends on the direction of the crosswind
Introduction to Robots and the Mind - Path Integration -
Barb Ericson Georgia Institute of Technology June 2007
Robotics Getting Started with
GENERAL PHYSICS II Math. Edu. Program
M.VIKRAMADITYAN Graduate Student Mechanical Engineering
MTAT , 2CP Seminar Ilja Livenson
CIS 487/587 Bruce R. Maxim UM-Dearborn
Rotations on the Coordinate Plane
Goto “\\ \utilities\Virus_Sfw\Patches”
9-3 Rotations Vocab Rotation: A transformation that turns a shape on an axis Center of rotation: The point at which a rotation is turned Angle of rotation:
BEARINGS.
Bouncing Ball Physics – Velocity / Acceleration / Displacement
Note Pages 7 – 10.
Formative Assessment.
Compile and run c files.
Robocode A robot is made up of 3 things:
Presentation transcript:

Robocode

Robocode: basics Coords. are (x,y), with bottom left as (0,0) Heading: degrees, straight up = 0, pos. clockwise (0 <= heading <= 360) Bearing: relative angle from your heading, pos. clockwise (-180 <= bearing <= 180) Hitting a wall or another bot ends turn Energy: costs 1 to fire, receive energy when one of your bullets hits enemy Radar is mounted on gun

Robocode: numbers Max velocity: 8 Accel: 1/frame, Decel: 2/frame Max turning rate = *getVelocity() Turret turn rate = 20 degrees/frame Radar turn rate = 45 degrees/frame Damage = 4 * pwr, if pwr>1 damage+=2*(pwr-1)

Robocode: numbers Power =.1 to 3 Bullet speed = 20 – 3 * pwr Heat = 1 + pwr/5 Heat dissipates at.1/frame

Robocode: getting started Launch the robocode engine & select Editor from the Robot menu Select New->Robot from the File menu of the editor Enter a name for your robot and your initials Given a robot template

Robocode: coding public void run() { //setColors(Color.red,Color.blue,Color.green); while(true) { // Replace the next 4 lines with any behavior ahead(100); turnGunRight(360); back(100); turnGunRight(360); }

Robocode: coding ahead(double dist) back(double dist) fire(double pwr) scan() turnGunLeft/Right(double degrees) turnLeft/Right(double degrees) turnRadarLeft/Right(double degrees) stop()/resume()

Robocode: coding double getBattleFieldHeight/Width() double getGunHeat() int getOthers() double getX() double getY()

Robocode: coding onBulletHit(BulletHitEvent e) onHitByBullet(HitByBulletEvent e) onHitRobot(HitRobotEvent e) onHitWall(HitWallEvent e) onScannedRobot(ScannedRobotEvent e)

Robocode: coding Each event class has its own set of member functions that can be called to assess details about the event ex. Calling e.getBearing() in onScannedRobot() Any additional classes used by your robot should be placed in the same file after your robot class