De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Robocode Inleiding tot programmeren. Inhoud  Doel cursus  Java-controlestructuren  Robotje programmeren.

Verwante presentaties


Presentatie over: "Robocode Inleiding tot programmeren. Inhoud  Doel cursus  Java-controlestructuren  Robotje programmeren."— Transcript van de presentatie:

1 Robocode Inleiding tot programmeren

2 Inhoud  Doel cursus  Java-controlestructuren  Robotje programmeren

3 Doel cursus  Inleiding Java  Robocode

4 Java  Object-gerichte programmeertaal  Sun  1991 

5 Robocode  2001  Matthew Nelson  IBM  Programmeerspelletje 

6 Inhoud  Doel cursus  Java-controlestructuren  Robocode

7 Compileren  Code ‘vertalen’ voor computer

8 Commentaar  // lijn commentaar  /* blok  Commentaar */  Commentaar wordt niet gelezen door de compiler

9 Declaratie van data  private double d = ;  private int i = 5;  private static string s = “tekst”  Binnen methode niet private  Static als je waardes wil houden tussen ronden (deathcount)

10 If – Else if (voorwaarde) { //doe iets } else { //doe iets anders }

11 While() while (voorwaarde) { //blijf dit //en dit doen }

12 Vergelijken  a == b -gelijk aan  a != b -niet gelijk aan  a < b -kleiner dan  a <= b -kleiner dan of gelijk aan  a > b -groter dan  a >= b -groter dan of gelijk aan  s.equals(“string”) -strings vergelijken

13 For() for (int i = 0; i < 6; i++) { System.out.println(i + “”); }

14 Switch switch (i) { case 1:a = 1;break; case 2:a = 2; break; case 3:a = 3; break; default:a = 0; break; }

15 Methodes  Methodes  Verzameling van lijnen code  Argumenten  Return  Vaak gebruikt voor herhalingen van code of berekeningen

16 Inhoud  Doel cursus  Java-controlestructuren  Robocode

17 Robocode  Het programma  Een robot bouwen

18 Robocode  Java  ode/.

19 Een gevecht starten

20 Anatomie van een robotje  Vehicle Bewegen  Gun Schieten  Radar Scannen

21 Een robotje maken

22  File -> New -> Robot  Packagenaam  Naam van de robot  Compiler -> Compile (F6)

23 Run()  Belangrijkste methode van de robot  2 delen Declaratie While(true)

24 Color  Deel van declaratie  import java.awt.Color;  setColors(Color.RED, Color.BLACK, Color.RED);  api/java/awt/Color.html

25 While(true)  Oneindige lus  Herhaling van strategie robot  Onderbroken door events  Stopt indien dood of gewonnen

26 Bewegen  turnLeft(aantal graden);  turnRight(aantal graden);  turnRight(90) == turnLeft(-90)

27 Bewegen  ahead(aantal pixels);  back(aantal pixels);  ahead(100) == back(-100);

28 Bewegen  turnGunLeft(aantal graden);  turnGunRight(aantal graden);  turnGunRight(90) == turnGunLeft(-90)

29 Bewegen  getHeading();  getGunHeading(); turnRight(shortAngle(getHeading() + 90));

30 Fire()  Schiet een kogel  Kracht  Schieten maakt het geweer warm if (getGunHeat() == 0) { fire(3); }

31 Bullet  Bij fire()  Robocode maakt Bullet aan  Bij events Bullet opvragen

32 Bullet  Indien raak 3 * K energie terug 4 * K, plus 2 * (K - 1) als K > 1 Schade  Indien mis Kogel raakt andere kogel Kogel raakt muur

33 Events  Gebeurtenis  Eigen code  Onderbreken while(true)

34 Events /** * onScannedRobot: What to do when you see another robot */ public void onScannedRobot(ScannedRobotEvent e) { System.out.println(“I’ve seen “ + e.getName()); System.out.println(e.getDistance() + “ pixels away.”); fire(1); }

35 BulletHitBulletEvent  Jouw kogel raakt een andere kogel  getBullet() Geeft kogel terug  getHitBullet() Geeft kogel terug  a = e.getBullet().getPower();

36 BulletHitEvent  Je hebt een robotje geraakt  getBullet()  getEnergy()  getName()

37 BulletMissedEvent  Een kogel van jou heeft de muur geraakt  getBullet()

38 DeathEvent  Je sterft  Geen methodes  Bijvoorbeeld deathcounter

39 HitByBulletEvent  getBearing()  getBullet()  getHeading()  getName()  getPower()

40 Bearing  Verschil tussen jouw heading en heading van wat je raakt.  turnRight(e.getBearing()) ;

41 HitRobotEvent  Je rijdt tegen een robot  getBearing()  getEnergy()  getName()  isMyFault() if (e.isMyFault()) {

42 HitWallEvent  Je rijdt tegen een muur  getBearing()

43 RobotDeathEvent  Een andere robot sterft.  getName()

44 ScannedRobotEvent  Je radar (op geweer) ziet een robot  getBearing()  getDistance()  getEnergy()  getHeading()  getName()

45 ScannedRobotEvent /** * onScannedRobot: What to do when you see another robot */ public void onScannedRobot(ScannedRobotEvent e) { System.out.println(“I’ve seen “ + e.getName()); System.out.println(e.getDistance() + “ pixels away.”); fire(1); }

46 WinEvent  Je wint de ronde.  Geen methodes. Overwinningsdansje wincounter


Download ppt "Robocode Inleiding tot programmeren. Inhoud  Doel cursus  Java-controlestructuren  Robotje programmeren."

Verwante presentaties


Ads door Google