[Java/Swing] Probleem met opbouw level

Pagina: 1
Acties:

  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 15-10-2025
Hey,

met een aantal anderen ben ik bezig met een java spel.
De basis van het spel is een level dat uit vakjes bestaat, je beweegt per vakje (van bijv. 40x40) vooruit.

Het probleem is nu dat we niet precies weten wat de beste manier is om het volgende uit te voeren;

De class voor een vakje ziet er ong. als volgt uit:
Class Tile
{
private int x;
private int y;
private int width;
private int height;
private String type;

public void Tile(int x, int y, String type)
{
this->x = x;
this->y = y;
this->width = Constants.TileWidth;
this->width = Constants.TileHeight;
this->type = type;
}

public String getType()
{
return this->type;
}
}
Een vakje kan van het type 'walkable', of 'wall' zijn.

We willen nu het vakje achterhalen waar de speler naar toe wil.
De x en de y as van de plek waar de speler naar toe wil zijn natuurlijk makkelijk te achterhalen, maar nu moet er dus waarschijnlijk een soort van lijst komen waar de vakjes in staan, waarin we kunnen zoeken met een x en y coordinaat, om het betreffende vakje te achterhalen... hoe kunnen we dit het beste aanpakken?

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

Ik ga je de oplossing uiteraard niet geven ;) Maar als je wilt achterhalen welk vakje je moet bij een gegeven positie, dan zou je eens kunnen spelen met de % operator.

[edit]
Met de / operator ipv de de % dus :P

[ Voor 13% gewijzigd door Alarmnummer op 25-04-2005 22:35 ]


  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 15-10-2025
Ik hoef ook geen code natuurlijk, maar als je het iets meer met woorden zou kunnen uitleggen zou dat wel erg fijn zijn :)

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024

Alarmnummer

-= Tja =-

TangLeFuzZ schreef op maandag 25 april 2005 @ 22:27:
Ik hoef ook geen code natuurlijk, maar als je het iets meer met woorden zou kunnen uitleggen zou dat wel erg fijn zijn :)
Ok.. deze keer dan..

Stel dat een tegel 4 bij 3 meter (x,y) is. En de speler staat op x=43 en y = 11, dan weet je dat hij op 43 div 4 = 10 en dat komt overeen met de 11e tegel (mag je zelf bedenken) van rechts staat. Voor de hoogte geld hetzelfde.. Je weet dat je op 11 div 3 = 3 en dat komt overeen met de 4e tegel staat. Je weet dus nu dat je de 11e tegel van links en de 4e van boven moet hebben (als links boven het centrum is).

[edit]
Het moest de / zijn ipv de %... (in java is de notatie voor de de div operator: / )

[ Voor 9% gewijzigd door Alarmnummer op 25-04-2005 22:35 ]


  • Daos
  • Registratie: Oktober 2004
  • Niet online
Kan je die vakjes niet gewoon ergens in een 2-D array stoppen?
Java:
1
2
3
4
5
Tile[][] tiles = new Tile[3][3];
tiles[0][0] = new Tile(0, 0, "Wall");
tiles[0][1] = new Tile(0, 40, "Wall");
tiles[1][1] = new Tile(40, 40, "Walkable");
// etc..



Als je dan ook nog de Wall en Walkable als subklassen van Tile maakt, dan kan je zoiets doen:
Java:
2
3
4
tiles[0][0] = new Wall();
tiles[0][1] = new Wall();
tiles[1][1] = new Walkable();

  • mr.inno
  • Registratie: April 2003
  • Laatst online: 22-02 15:03
waar schijnlijk is het een combinatie van wat Alarmnummer en daos aangeven..
het licht er maar net aan wat je user input is.
als deze gecontroleert is (toetsenboard) of alles kan zijn (muis)
als het met toetsenboard gaat dan zijnd e stappen die je kunt maken van te voren bepaald en is de manier van daos het eenvoudigst.
Maar als je de muis als input gebruikt dan moet je de manier van Alarmnummer gebruiken.

inno

Pagina: 1