Black Friday = Pricewatch Bekijk onze selectie van de beste Black Friday-deals en voorkom een miskoop.
Toon posts:

Robot applicatie met gebruik van methodes.

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik probeer het nog een keer.
We hebben als opdracht het maken van een robot applicatue. De opdracht is vrij breed hierbij heb ik gekozen om 3 robots in een wereld te plaatsen en die random rond te laten lopen. In de wereld ligt een piepbal wie het eerst de piepbal heeft gevonden wint dus het spel. *dus voor de duidelijk heid welke robot het eerste op de piepbal komt wint!*
De code werkt voor de rest helemaal goed maar nu zij de leraar probeer eens met een methode de robots te laten lopen inplaats van dat je voor elke robot apparte code gebruikt.

We hebben een wereld package aangeleverd gekregen met daarin de classes van de wereld ik denk dat die niet nodig is om dat hier te posten Het gaat om de classes van de robot de wereld etc.

Hier de code waar mijn *ver eenvoudiging* moet plaatsvinde
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
import wereld.*;

public class WereldEen extends Wereld
{
    public static void main(String args[])
    {
        Wereld w = new WereldEen();
    }
    
    Robot sjaak;
    Robot fien;
    Robot hans;
    
   public void hoofdProgramma()
    {
       sjaak = new Robot("Sjaak");
       plaats(sjaak, 10, 22);
       System.out.println("sjaak gemaakt!!!!!!!!!!!!");
        
       fien = new Robot("Fien");
       plaats(fien, 25, 22);
       System.out.println("fien gemaakt!!!!!!!!!!!!");

       hans = new Robot("hans");
       plaats(hans, 40, 22);
       System.out.println("hans gemaakt!!!!!!!!!!!!");
       System.out.println("De game start! Wie heeft als eerste de piepbal is het sjaak? fien? of hans?");
    }
    

             
      //int x = 1;
      // while (x == 1)
       
         //  {
          // int stapr = (int)(6*Math.random())+1;
          // hans.stap(stapr);
           
          // int rlr = (int)(2*Math.random())+1;
          // if (rlr == 1)
        //   { 
         //    
          //     hans.linksom();
            
          //  }
          //  else
          //  {
            
           //     hans.rechtsom();
       //
            // }
          
             
        // int stapf = (int)(6*Math.random())+1;
        // fien.stap(stapf);
         
       //  int rlf = (int)(2*Math.random())+1;
        // if (rlr == 1)
           //{ 
               
         //      fien.linksom();
              
         //   }
        //    else
         //   {
              
             //   fien.rechtsom();
               
           //  }
         
       // int staps = (int)(6*Math.random())+1;
       // sjaak.stap(staps);
        
       // int rls = (int)(2*Math.random())+1;
       // if (rlr == 1)
       //    { 

          //     sjaak.linksom();

         //   }
         //   else
         //   {

         //       sjaak.rechtsom();

          //   }
             
         if (sjaak.opPiepbal() || fien.opPiepbal() || hans.opPiepbal())
                {
                    x = 0;
                }   
                
             }
            
           }
        }



Dus eingelijk is mijn vraag hoe kan ik het stuk
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 

{
          // int stapr = (int)(6*Math.random())+1;
          // hans.stap(stapr);
           
          // int rlr = (int)(2*Math.random())+1;
          // if (rlr == 1)
        //   { 
         //    
          //     hans.linksom();
            
          //  }
          //  else
          //  {
            
           //     hans.rechtsom();
       //
            // }
          


Zo maken dat ik dit niet voor elke robot appart hoef te typen maar gewoon de code 1x te typen en op alle drie de robots kan toepassen?

* ik hoop dat dit een wat duidelijker uitleg is.

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Heb je ook de laatste opmerking van RobIII gelezen in je vorig topic?

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Verwijderd

Topicstarter
niet gezien?
Btw ik ben nog niet zo goed thuis met java we zijn net begonnen met het boek.

[ Voor 76% gewijzigd door Verwijderd op 28-10-2008 13:43 ]


  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
je mag een methode parameters laten ontvangen, zoals een robot.
/me hand over hart strijkt
Java:
1
2
3
4
5
6
7
public void moveRobot( Robot r ) {
    // plaats hier je verplaats logica
}
//In je hoofprogramma opnemen:
moveRobot(fien);
moveRobot(sjaak);
//etc

Zo, en nu weer aan je huiswerk, vlerk ;)

  • Johnny
  • Registratie: December 2001
  • Laatst online: 13:22

Johnny

ondergewaardeerde internetguru

bigbeng schreef op dinsdag 28 oktober 2008 @ 13:45:
je mag een methode parameters laten ontvangen, zoals een robot.
/me hand over hart strijkt
Java:
1
2
3
4
5
6
7
public void moveRobot( Robot r ) {
    // plaats hier je verplaats logica
}
//In je hoofprogramma opnemen:
moveRobot(fien);
moveRobot(sjaak);
//etc

Zo, en nu weer aan je huiswerk, vlerk ;)
In Java heten ze argumenten, en daar zal vast wel iets over in het boek staan.

Aan de inhoud van de bovenstaande tekst kunnen geen rechten worden ontleend, tenzij dit expliciet in dit bericht is verwoord.


  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
Volgens Sun mag het allebei B) :
The declaration for a method or a constructor declares the number and the type of the arguments for that method or constructor...
This method has four parameters: the loan amount, the interest rate, the future value and the number of periods.
Beide zijn ook redelijk ingeburgerd in het normaal taalgebruik binnen de developer wereld.

@TS de bron van mijn quote kan eens een leuk stukje naslagwerk voor je zijn.

Verwijderd

Topicstarter
Dankje!

Hij werkt half ik zoek nu even uit wat er verder fout zit.
moveRobot(fien);
moveRobot(sjaak);
moveRobot(hans);
In me hoofd programma gezet.
Maar nu gaat alleen fien lopen.

Maar tog bedankt!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Kan je niet gewoon een methode aan je (subclass van ) robot toevoegen. Je kan dan gewoon in je code zetten

Java:
1
2
3
sjaak.Move();
fien.Move();
hans.Move();

Of als je een array van robots maakt nog makkelijker
Java:
1
2
3
4
for(int i =0; i < robots.Length; i++ )
{
    robots[i].Move();
}

Het is dan ook makkelijker om voor verschillende robots verschillende taktieken toe te passen om te verplaatsen zonder dat je Wereld daar iets van hoeft te weten.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


Verwijderd

Topicstarter
mhh ik werk pas 2 maanden met java en wat je daarmee bedoeld snap ik niet precies.
Ik heb dus nu wel dat fien gaatlopen maar de rest gaat dus niet lopen

Ze gaan dus niet allemaal tegelijk lopen dit heb ik in het hoofdprogramma gezet.
Java:
1
2
3
moveRobot(fien); 
moveRobot(sjaak); 
moveRobot(hans);

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op dinsdag 28 oktober 2008 @ 14:33:
mhh ik werk pas 2 maanden met java en wat je daarmee bedoeld snap ik niet precies.
Ik heb dus nu wel dat fien gaatlopen maar de rest gaat dus niet lopen
Dan sla eens aan het debuggen ( Debuggen: Hoe doe ik dat? ) en verdiep je in je boeken of lesstof; hier moet je prima zelf uit kunnen komen en we gaan hier geen handjes vasthouden.

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Topicstarter
prima.
Maar dit was zo een opdracht zonder boek.

ik heb het boek java b met swing.

Tog bedankt voor jullie tijd/hulp.

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op dinsdag 28 oktober 2008 @ 14:38:
prima.
Maar dit was zo een opdracht zonder boek.
Oeh *shiver* :P Tja, en dan zijn lesboeken en lesmateriaal natuurlijk uitgerangeerd en nutteloos want deze opdracht kwam niet uit het boek :X
Overigens moet in élk zichzelf respecterend Java boek wel wat staan over OOP, methodes, argumenten en dat soort basis-kennis.
Zegt me niets, maar naast boeken is er ook nog internet waar héél veel al op te vinden is ;)

[ Voor 10% gewijzigd door RobIII op 28-10-2008 14:41 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Topicstarter
haha zo bedoel ik het niet ..

Maar toch bedankt! Ben al heel stuk verder!

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Als je met je debugger door de methoden heen stapt zul je heel snel zien waarom alleen fien beweegt. Nadat fien klaar is met bewegen gaat sjaak waarschijnlijk bewegen en daarna gaat hans bewegen.

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”

Pagina: 1