Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

Java tankgame

Pagina: 1
Acties:
  • 370 views

Verwijderd

Topicstarter
Dus ik probeer een OO tankgame te programmeren en heb het volgend probleem:
Als ik een array wil doorgeven (by reference dus) via een methode en desbetreffende methode oproep vanuit een ander klasse vult het mijn array niet op
code:
code:
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
public class Landscape {
    //fields
    private char[][] gameBoard;


    //constructors

    public Landscape(char[][] gameBoard) {
        this.gameBoard = gameBoard;
    }


    //methods
    public char[][] readLandscapeFile(File landscapeFile, List<String>tempReadBoard) {
        tempReadBoard = new ArrayList<String>();
        Scanner landscapeScanner;


        try {

            landscapeScanner = new Scanner(landscapeFile);

            while (landscapeScanner.hasNextLine()) {
                tempReadBoard.add(landscapeScanner.nextLine());
            }

            landscapeScanner.close();
        } catch (Exception error) {
            System.err.println("Error: " + error.getMessage());
        }

        this.gameBoard = new char[tempReadBoard.size()][tempReadBoard.get(1).length()];

        for (int i = 0; i < tempReadBoard.size(); i++) {
            for (int j = 0; j < tempReadBoard.get(1).length(); j++) {
                this.gameBoard[i][j] = tempReadBoard.get(i).charAt(j);
            }
        }
        return this.gameBoard;
    }


}

code:
1
2
3
4
5
6
7
8
9
10
11
12
public class GameStart {


    public void start() {
        char[][] gameBoard = new char[0][0];
        List<String> tempGameBoard = new ArrayList<String>();
        File gameLevel = new File("Landscapes/hills.txt");
        Landscape land = new Landscape(gameBoard);
        land.readLandscapeFile(gameLevel,tempGameBoard);
        System.out.println(gameBoard.length);
    }
}

code:
1
2
3
4
5
6
7
8
9
public class Main {


    public static void main(String[] args) {
        GameStart game = new GameStart();
         game.start();

    }
}

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 09:10

.oisyn

Moderator Devschuur®

Demotivational Speaker

Regel 15 in je Landscape class, en zorg dat je topic de volgende keer voldoet aan de regels, want dit gaat natuurlijk nergens over. Je kan geen code neerplempen en van ons verwachten dat wij het probleem maar even voor jou gaan debuggen, dat moet je zelf doen.

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • Kettrick
  • Registratie: Augustus 2000
  • Laatst online: 09:52

Kettrick

Rantmeister!

.oisyn schreef op donderdag 24 november 2011 @ 12:09:
Regel 15 32 in je Landscape class, en zorg dat je topic de volgende keer voldoet aan de regels, want dit gaat natuurlijk nergens over. Je kan geen code neerplempen en van ons verwachten dat wij het probleem maar even voor jou gaan debuggen, dat moet je zelf doen.
Fixed O-)

Oh, 15 en 32 zijn beide nog vreemd, my bad

offtopic:
Het is hier al laat :z

[ Voor 10% gewijzigd door Kettrick op 24-11-2011 12:13 ]


Verwijderd

Topicstarter
Wanneer ik regel 15 weglaat gebeurt er nogaltijd niets, en sorry daarvoor xS ik heb uren zitten debuggen en vind het maar niet
Btw: regel 32 is zodanig dat u tekst levels dynamisch kunnen zijn

[ Voor 21% gewijzigd door Verwijderd op 24-11-2011 12:15 ]


  • Kettrick
  • Registratie: Augustus 2000
  • Laatst online: 09:52

Kettrick

Rantmeister!

Verwijderd schreef op donderdag 24 november 2011 @ 12:13:
Wanneer ik regel 15 weglaat gebeurt er nogaltijd niets, en sorry daarvoor xS ik heb uren zitten debuggen en vind het maar niet
Btw: regel 32 is zodanig dat u tekst levels dynamisch kunnen zijn
Maak eens een getter voor gameboard en kijk wat er dan gebeurd.
En regel 15 is zeker niet goed, omdat die je input naar een lege array zet, dat wil je waarschijnlijk niet ;)

[ Voor 13% gewijzigd door Kettrick op 24-11-2011 12:20 ]


Verwijderd

Topicstarter
Als ik een getter maakt en de length opvraag vanuit GameStart krijg ik nul.. echter als ik binnen mijn ReadFile methode boven de return statement de length afdruk krijg ik 10...

UPDATE: als ik binnen gamestart van tempGameBoard de size opvraag krijg ik wel 10?

[ Voor 19% gewijzigd door Verwijderd op 24-11-2011 12:25 ]


  • ThaNOD
  • Registratie: Februari 2005
  • Laatst online: 13-10 13:52
Hint: op regel 32 in Landscape maak je een nieuw Object aan, met dus een andere reference dan in je main start methode.

[ Voor 5% gewijzigd door ThaNOD op 24-11-2011 12:30 ]


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

Ja sorry hoor, maar wij zijn er echt niet om jouw code voor je te debuggen. Je bent er dit jaar al diverse keren door meerdere moderators op gewezen dat het niet de bedoeling is om een paar regeltjes tekst en je hele code te dumpen. Debuggen mag je écht zelf doen. Maar goed, aangezien onze hints (inclusief een e-mail in september) niet duidelijk genoeg zijn mag je nu even met vakantie van GoT.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1

Dit topic is gesloten.