Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    2

    Gestire array di un campo di gioco

    Ciao,
    Vi chiedo un aiutino. Ho un problema con un progetto Java nel quale posso utilizzare solo le classi base ( JAVA UTIL E JAVA.IO ).
    Devo riuscire a srotolare un campo di gioco, cioè prendere solo le caselle piene (quelle verdi) e metterle in un array ad una dimensione... dalla configurazione che vi allego, il problema nasce nella riga 7, xchè se inizio a scorrere tutto il campo di gioco dal basso verso l'alto e da sinistra verso destra per aver tutte le caselle su una riga, nella riga 7 la casella successiva sarebbe J, anche se x il percorso dovrebbe essere G !!!

    ecco la configurazione del gioco: 11 righe e 14 colonne separate dalla codifica delle righe con una | , lettera E indica le caselle vuote, $ fine riga, lettea J indica casella J ecc...

    11 14|3 E.1 1.10 E$3 E.1 J.10 E$3 E.1 J.2 2.1 -1.1 G.1 -3.1 -2.1 2.1 4.2 E$11 E.1 J.2 E$6 E.1 J.2 4.1 3.1 E.1 G.2 E$5 E.2 G.2 E.1 -1.1 -2.1 T.2 E$5 E.1 3.8 E$1 E.1 7.1 -1.1 1.1 B.1 3.8 E$1 E.1 -14.12 E$1 E.1 G.1 J.11 E$2 E.1 B.1 3.1 -1.1 S.1 G.7 E$



    Non so se mi sn spiegato bene... ma come dovrei fare secondo voi???




    Legenda: S indica la posizione d'inizio e T indica la posizione d'arrivo

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Gestire array di un campo di gioco

    Originariamente inviato da Ted83
    Devo riuscire a srotolare un campo di gioco, cioè prendere solo le caselle piene (quelle verdi) e metterle in un array ad una dimensione...
    Array ... di che tipo?? Che contiene cosa? Dalla immagine vedo che alcune caselle verdi contengono dei numeri, altre delle lettere .... quindi? Come vuoi memorizzare tutto questo?

    Originariamente inviato da Ted83
    il problema nasce nella riga 7, xchè se inizio a scorrere tutto il campo di gioco dal basso verso l'alto e da sinistra verso destra per aver tutte le caselle su una riga, nella riga 7 la casella successiva sarebbe J, anche se x il percorso dovrebbe essere G !!!
    Ok, probabilmente vuoi proprio "seguire" il percorso delle caselle verdi e non fare una "banale" scansione bidimensionale righe/colonne della matrice.

    Tu hai quella stringa di configurazione in input? Allora innanzitutto dovresti fare un "parsing" di questa stringa, interpretare i vari elementi e costruire in memoria una matrice bidimensionale che rappresenta tutta la tua mappa di caselle. A quel punto puoi pensare di partire dal punto di inizio e di "seguire" le caselle verdi fino al punto di arrivo.

    Comunque la questione è un po' troppo vaga e vasta ... cerca eventualmente di chiarire bene la questione e magari di "spezzare" questo problema in più sottoproblemi.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    2
    L'array è di tipo Pezzi, cioè pezzi (caselle del gioco), che dentro ci siano numeri o lettere poi è un altra cosa xchè ho delle sottoclassi di Pezzi...

    Si voglio seguire proprio il percorso, ho quella stringa da input, ma x facilità di comprensione e per visualizzare meglio com' è il campo di gioco ho fatto quell'immagine!

    La mappa l'ho già creata e costruita leggendo il file, ma come riesco a ricavare il "serpentone" cioè l array che contiene solo le caselle del percorso dove un giocatore può avanzare??

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Ted83
    La mappa l'ho già creata e costruita leggendo il file, ma come riesco a ricavare il "serpentone" cioè l array che contiene solo le caselle del percorso dove un giocatore può avanzare??
    Ammesso che non esistano diramazioni (cosa che complicherebbe la logica di scansione), parti da una locazione e "guardi" le celle adiacenti nelle 4 direzioni. Trova quella verde, avanza e ripeti la cosa ... finché sei arrivato al punto finale.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.