Gå til innhold

Lage spillbrett fra txt fil


Anbefalte innlegg

Skal lage et java-spill... :roll:

 

Skal ha et spill med flere brett. Hver brett består av vegg og ikke-vegg. Har fått et tips om at dette enklest kan fikses med hjelp av en tekst fil.

Tekstfilen inneholder da * for alle steder det skal være vegg...

 

Noen som vet om noen tutorials eller har egne forslag til hvordan dette kan fikses?

Lenke til kommentar
Videoannonse
Annonse
  • 1 måned senere...

Hei

 

Vet ikke om du lurer på hvordan du leser inn fra fil eller hvordan du skal representere vegg og ikke vegg men.. Du kan tenke deg at du har en array med tegn som representerer brettet.

 

F.eks, hvis brettet skal ha 4x3 ruter kan du representere dette brettet slik i en array:

 

int brett4 {

1,0,1,1,

1,0,0,0,

1,1,1,1 };

 

Da må programmet vite at 0 er ikke vegg og 1 er vegg.

 

Så putter du disse tallene i en fil og leser inn verdiene og bygger opp arrayen.

 

Fila kan se sånn ut f.eks:

1,0,1,1,1,0,0,0,1,1,1,1

 

Får du til dette kan du lett utvide det og lage flere typer vegger,bare å bestemme hva andre tall skal bety, 2 = nøkkel f.eks...

 

Når du først har brettene i filer kan du også lage deg en brett editor slik at du lett kan lage brett visuelt.

Lenke til kommentar

Jeg fant et super-mario spill i java engang som baserte seg på en lignende fremgangsmåte.

Brettene var satt sammen av en matrise med tall, hvor hvert tall representerte et 20x20 bilde.

 

For eksempel:

 

000000000000000000

010000010000000000

000000000000000000

002002002002000200

000000000000000000

333333333333333333

 

Hvor:

0 er et 20x20 bilde av blått, som representerer himmelen.

1 er en sky

2 er noen klosser som figuren kan hoppe på (husker super-mario?)

3 er bakken.

 

så hvis filene dine heter f.eks:

0.png

1.png

2.png

3.png

 

så blir det ganske lett å lage en motor som tegner opp banen din, og du kan lett lage nye baner.

Du bare henter inn hver rad i filen inn i en to-dimensjonal tabell.

 

Opptegning av brettet vil bli noe sånt:

String[][] brett = new String[][]{ {"0","0","0"}, {"1","1","1"}, {"2","2","2"} };
 int bildeStorrelse = 20;
 int x = 0;
 int y = 0;
 
 for( int i = 0; i < brett.length; i++ )
 {
 	for( int j = 0; j < brett.length; j++ )
 	{
   x = j * bildeStorrelse;
   y = i * bildeStorrelse;
   System.out.print("[" + x + "," + y + "(" + brett[i][j] + ".png)]");
 	}
 	System.out.println();
 }

 

Bildene her MÅ være firkantet, altså 10x10, 20x20 osv. x og y er hvor bildet skal tegnes. Du skjønner nok tegningen.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...