[j2me] Speeld veld initilizeren

Pagina: 1
Acties:

  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 21-05 14:59

pjvandesande

GC.Collect(head);

Topicstarter
Ik zit nu al vanaf vanochtend te stoeien en zie het nu echt niet meer zitten. Mijn bedoeling was om het speeldveld van bubbles op te delen in vakjes.

Ik wil dus het speeldveld renderen, niet het uitterlijk, maar de vakjes zelf. Met een 2-demsionale array, waar de 1e sleutel staat voor de x en de 2e sleutel staat voor de y.

Nu krijg ik het echt voor geen mogelijkheid goed voor elkaar. Het zou met 2 simpelen for-lusjes moeten kunnen. Maar ik stoot me hooft nu al zo'n 8uur en ben het echt helemaal zat.

Het gaat dus om dit speelveld:
Afbeeldingslocatie: http://absolutist.com/palm/bubbles2/bubbles2big.gif

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

Alarmnummer

-= Tja =-

Je geeft wel erg weinig informatie. Wat gaat er nu precies fout? Wat heb je geprobeerd?

  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 21-05 14:59

pjvandesande

GC.Collect(head);

Topicstarter
Ik krijg het veld niet zo netjes, de 1e lijn wil prima, maar dan de 2e lijn die dus een stukje naar links moet schuiven wil niet. Ondertussen is me source al zovaak gewijzigt en zie ik door de bomen het bos niet meer.

Me laatste stukje:
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
  public BubblesField(int fieldWidth, int fieldHeight,
    int pieceWidth, int pieceHeigh, int offset)
  {
    int piecesOnX = (fieldWidth / (pieceWidth + offset)) + 1;
    int piecesOnY = (fieldHeight / (pieceHeigh + offset)) + 1;

    pieces = new FieldPiece[ piecesOnX * 2 ][ piecesOnY ];

    for(int x = 0; x < pieces.length; x++)
    {   
      for(int y = 0; y < pieces[x].length; y++)
      {
        if(x % 2 == 0)
        {
          pieces[x][y] = new FieldPiece((pieceWidth + offset) * x,
                                        ((pieceHeigh + offset) * y) -
                                        (y * (offset / 2)),
                                        pieceWidth, pieceHeigh);
        }
        else
        {
          pieces[x][y] = new FieldPiece(((pieceWidth + offset) * x) + (offset),
                                        ((pieceHeigh + offset) * y),
                                        pieceWidth, pieceHeigh);
        }
      }
    }
  }

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

Alarmnummer

-= Tja =-

Probeer ze eerst een recht onder elkaar te tekenen en verder:

code:
1
2
3
 for(int x = 0; x < pieces.length; x++)
    {   
      for(int y = 0; y < pieces[x].length; y++)

naar

code:
1
2
3
 for(int x = 0; x < piecesOnX ; x++)
    {   
      for(int y = 0; y <piecesOnY ; y++)


[edit]
((pieceHeigh + offset) * y) -
(y * (offset / 2)),

Waarom laat je de y ook in hoogte varieeren? Alleen de X moet verschoven worden lijkt me.

[ Voor 69% gewijzigd door Alarmnummer op 05-09-2004 19:29 ]


  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 21-05 14:59

pjvandesande

GC.Collect(head);

Topicstarter
Alarmnummer schreef op 05 september 2004 @ 19:26:
Waarom laat je de y ook in hoogte varieeren? Alleen de X moet verschoven worden lijkt me.
De Y moet alleen hoger worden om elke keer een stapje naar beneden te doen. De X moet verhogen om de rij. Want de 1e rij staat tegen de kant en de 2e rij een stukje er vanaf.
Dit moet elke keer wisselen.

  • Jrz
  • Registratie: Mei 2000
  • Laatst online: 19:11

Jrz

––––––––––––

code:
1
if (y % 2 == 0)

Ennnnnnnnnn laat losssssssss.... https://github.com/jrz/container-shell (instant container met chroot op current directory)


  • pjvandesande
  • Registratie: Maart 2004
  • Laatst online: 21-05 14:59

pjvandesande

GC.Collect(head);

Topicstarter
Met dat statementje switch ik om en om zeg maar. Alleen dat werkt dus nog niet. :Y)

Het zou dus zo iets moeten worden.
Afbeeldingslocatie: http://home.planet.nl/~sand0731/zoiets.JPG

edit:

plaatje toegevoegd

[ Voor 26% gewijzigd door pjvandesande op 05-09-2004 20:18 ]


Verwijderd

Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
for(int x = 0; x < numberOfHorPieces; x++) {   

      for(int y = 0; y < numberOfVertPieces; y++) {

        if(y % 2 == 0) {
          offset = 10;
        } else {
          offset = 0;
        }

        pieces[x][y] = new FieldPiece(iets met variabelen over piece en offset);
       }
}


Ik weet niet precies wat FieldPiece verwacht maar zo spring je steeds om en om in.
Pagina: 1