Ok, ik sta op het punt mijn 1e course embedded applications af te ronden, ben dus echt een newbee in java, zeg dit er even bij. Hoop het goed uit te leggen.
Ik noemde het net even ballen aangezien in dit programma er sprake is van piepballen, maar die stellen bij mij zakken appels voor.
Met de volgende methode pakt het mannetje een zak appels, zolang die er liggen.
Java: Wereld.java
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
|
// Methode om een zak gekochtte appels te pakken
void pakZakAppels()
{
loop(1);
draaiNaarOost(karel);
while (!karel.opPiepbal())
{
karel.stap();
}
if (karel.opPiepbal())
{
karel.opPiepbal();
karel.pakPiepbal();
karel.zeg("Dag Piet!");
piet.zeg("Tot ziens!");
draaiNaarWest(karel);
}
while (!karel.voorObstakel())
{
karel.stap();
}
if (karel.voorObstakel())
{
draaiNaarZuid(karel);
karel.stap();
}
} |
Nu is het zo dat deze methode niet uitgevoerd mag worden indien er geen piepbal meer ligt op een bepaalde plek.
Alle rondjes "o" die je ziet zijn de piepballen.
De plek die ik bedoel is de piepbal op, in dit geval, de coördinaten pos_x: 7 en pos_y: 41.
Java: Wereld.java
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
|
public class Wereld extends Wereld
{
static String designwereld =
"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n"+
"x..........................................x\n"+
"x....x.........................xxxxxxxxx...x\n"+
"x...xxx.......................xx.......xx..x\n"+
"x..xxx.x.....................xx.........xx.x\n"+
"x.xxxx.xx....................xoo..x....o.x.x\n"+
"x.x.....x....................xoo..x..oooox.x\n"+
"x.x.....x....................x...........x.x\n"+
"x.x.....x....................x...........x.x\n"+
"x.x..........................x...........x.x\n"+
"x.xxxxxxx....................xxxxxx.xxxxxx.x\n"+
"x..........................................x\n"+
"x..........................................x\n"+
"x..........................................x\n"+
"x...................x..x...................x\n"+
"x.........xxxxxxxxxxx..xxxxxxxxxxx.........x\n"+
"x.......xxx......................xxx.......x\n"+
"x......xx.x.xxxx...x...x...xxxx..x.xx......x\n"+
"x.....xx..x.x......x...x...x...x....xx.....x\n"+
"x....xx.o.x.xxx....x...x...x...x.x...xx....x\n"+
"x...xxo...x.x.......xxx....x...x.x.o..xx...x\n"+
"x..xx....ox......................x.....xx..x\n"+
"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\n"; |
Het volgende heb ik geprobeerd.
Java: Wereld.java
150
151
152
153
154
155
156
157
158
|
boolean piepbal(int pos_x, int pos_y);
else if (((aantalAppels)<41)&&((geldOpZak-(aantalAppels*0.25))>=0))&&piepbal(7, 41))
{
appelsGekocht4=((aantalAppels)*0.25);
karel.zeg("Ik heb nu nog "+((geldOpZak-bedragMarkt4))+" euro over");
pakZakAppels();
marktHuis();
} |
Ik dacht dat het zoiets zou moeten zijn, door de boolean piepbal te gebruiken en de coördinaten mee te geven.
[
Voor 32% gewijzigd door
Verwijderd op 31-03-2007 01:38
]