Bepaalde coördinaten uitsluiten

Status
Niet open voor verdere reacties.

joosjet

Nieuwe gebruiker
Lid geworden
27 sep 2006
Berichten
4
Hallo allemaal,

Ik heb een vraagje, waar ik niet uitkom. Ik laat een Robot Piepballen zoeken en deze dan binnen bepaalde coördinaten neerleggen. Wanneer de Robot geen Piepbal heeft, zal hij als hij op een Piepbal staat deze oppakken en binnen de coördinaten neerleggen. De int aantalPiepbal wordt dan verhoogd met + 1. Nu heb ik in de code gezet dat het programma moet stoppen wanneer het aantal Piepballen binnen de coördinaten 7 is. Echter de neergelegde Piepballen binnen de coördinaten pakt hij ook weer op en legt ze weer neer. Ik zoek dus een stukje code, dat de Robot binnen de gestelde coördinaten de Piepbal niet zal oppakken. Ik hoop dat jullie mij verder kunnen helpen. Ik ben een leek hiermee en dit is mijn eerste opdracht;)

Hieronder staat mijn code:

package src;

import src.wereld.Robot;

public class OefenRobot extends Robot
{
private boolean klaar = false;
public OefenRobot(String naam)
{
super(naam);
}
public void hoofdProgramma()
{
while (!voorObstakel())
{
zetStappen(1);
}
rechtsom();
while (!voorObstakel())
{
zetStappen(1);
}
linksom();
while (!voorObstakel())
{
zetStappen(1);
}
rechtsom();
rechtsom();
int aantalPiepbal = 0;
while (!klaar)
{
if(dobbel() > 3 )
{
rechtsom();
}
else
{
zetStappen(1);
}
if (opPiepbal() && !heeftPiepbal() )
{
pakPiepbal();
zeg("ik heb een Piepbal");
}
if (heeftPiepbal()){
if (pos_y > 3 && pos_y < 8) {
if (pos_x > 6 && pos_x < 14)
{
legPiepbal();
aantalPiepbal++;
zeg("aantal Piepbal is:" + aantalPiepbal); /
if (aantalPiepbal == 7) {
klaar = true;
}
}
}
}
}
}

public void zetStappen(int aantalStappen)
{
for(int i = 0; i<aantalStappen; i=i+1)
{
while (voorObstakel())
{
rechtsom();
}
stap();
}
}
}
 
je zult de functie palPiepBal() moeten uitbreiden zodanig dat deze ook een controle uitvoert op de coördinaten alvorens de bal daadwerkelijk te pakken.

Afhankelijk van hoe de aansturing precies werkt, moet je ook nog een random de functie zetStappen() aanroepen. Anders blijft hij in een oneindige lus voor hetzelfde balletje staan.
 
Beste RogerS,

Bedankt voor de snelle reactie. Ik had al geprobeerd om de overige coördinaten uit te sluiten, maar dan wordt er helemaal geen Piepbal meer opgepakt.
Heeft u misschien een suggestie welke methode(n) ik daarvoor kan gebruiken?

vr.groet

Joosjet
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan