Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 25
  1. #11
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    41
    Pensandoci bene mi è venuto in mente che non ti serve per niente memorizzare tutto lo spazio.
    Cio che ti serve sapere è dive sono le navi.
    Ogni nave essendo un punto nello spazio ndimensionale sarà fomata da un array di coordinate lungo quanto le dimennsioni del tuo spazio.

    Ergo pochssima memori utilizzata.

    Nel caso da te postato prima
    Dovrai tener conto di 7 navi
    Ogni nave nello spazio 3dim sarà un'array di int
    int nave[3];

    così puoi avere anche uno spazio 100dimensionale senza appesantire eccesivamente il programma.
    Quello che ho scritto prima non è una soluzione scalabile.

    Poi per controlare se un utente ci ha azzeccato controlli che le coordinate che postato non siano = a quelle dell'array e sei a posto.

    Divertiti

  2. #12
    Originariamente inviato da Cl4Ba
    Nel caso da te postato prima
    Dovrai tener conto di 7 navi
    Ogni nave nello spazio 3dim sarà un'array di int
    int nave[3];

    così puoi avere anche uno spazio 100dimensionale senza appesantire eccesivamente il programma.
    Quello che ho scritto prima non è una soluzione scalabile.
    Ho fatto proprio così...

    Originariamente inviato da Cl4Ba

    Poi per controlare se un utente ci ha azzeccato controlli che le coordinate che postato non siano = a quelle dell'array e sei a posto.

    Divertiti
    Il problema è come controllare se le navi collidono, non tanto vedere se l'utente le colpisce...(anche se in dimensione N=3, non poi così tanto banale, visto che i punti occupano un volume nello spazio essendo una nave rappresentata da un solido).

  3. #13
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    41
    Dal quello che ho capito leggendo la traccia le navi sono come punti nello spazio n dimensionale, è come se fossero tutti sottomarini nella classica battaglia navale.
    Quindi per controllare un collisione basta vedere che non occupino la stessa casella.

    Nel caso in cui non sia così dove è definito quanti punti ndimensionali occupa una singola nave?

  4. #14
    Originariamente inviato da Cl4Ba
    Dal quello che ho capito leggendo la traccia le navi sono come punti nello spazio n dimensionale, è come se fossero tutti sottomarini nella classica battaglia navale.
    Quindi per controllare un collisione basta vedere che non occupino la stessa casella.

    Nel caso in cui non sia così dove è definito quanti punti ndimensionali occupa una singola nave?
    dalla traccia
    o Es. “New mediterraneo 3 7 4 5 6”. Crea un nuovo campo di battaglia 3-dimensionale
    denominato “mediterraneo”. La flotta di ogni giocatore consiste di 7 unita’ navali. La
    prima dimensione ha 4 componenti, la seconda dimensione ha 5 componenti e la terza
    dimensione ha 6 componenti.
    Dalle componenti sulle dimensioni

  5. #15
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Fermo restando che il tuo professore e' un po' "cattivo", la frase "chiave" e' proprio

    ogni unita’ navale identificata da una sola N-pla;

    che rende fattibile il compito.

    Quindi la nave non ha estensione (occupa sempre 1 punto n-dimensionale) e si devono solamente memorizzare le coordinate nello spazio a n dimensioni di ogni nave, non si deve allocare tale spazio.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #16
    Originariamente inviato da oregon
    Fermo restando che il tuo professore e' un po' "cattivo", la frase "chiave" e' proprio

    ogni unita’ navale identificata da una sola N-pla;

    che rende fattibile il compito.

    Quindi la nave non ha estensione (occupa sempre 1 punto n-dimensionale) e si devono solamente memorizzare le coordinate nello spazio a n dimensioni di ogni nave, non si deve allocare tale spazio.
    Hai proprio ragione, infatti l'idea di rappresentare il campo di battaglia è assurda, e l'ho abbandonata fin da subito, resta da capire come fare per gestire le sovrapposizioni tra le navi e come effettivamente verificare se un colpo le colpisce oppure no... bah

    Il mio cervello sta completamente andando...

  7. #17
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    41
    Riceve come parametro una stringa, un intero N, un intero M seguiti da N interi. La stringa identifica la partita (il “combat-field”), l’intero N identifica la dimensione del campo di battaglia, l’intero M identifica il numero di unita’ navali costituenti la flotta e gli N interi identificano il numero di elementi su ogni singola dimensione.
    A mio parere questo vuol dire che ogni dimensione ha 'posto' per N navi.

    per spegarmi cosa intendo un normale bataglia navale sarebbe
    new campo 2 7 10 10
    campo di 10righe *10colonne con 7 navi monodimensionali

  8. #18
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Originariamente inviato da Vincent
    resta da capire come fare per gestire le sovrapposizioni tra le navi
    E' molto semplice ... una n-upla e' unica e identifica un nave.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #19
    Originariamente inviato da oregon
    E' molto semplice ... una n-upla e' unica e identifica un nave.
    Consideriamo N=2, 2 navi e 4,4 sono le componenti per ogni dimensione.

    Da come ho capito ho un campo di battaglia bidimensionale di 4x4 (giusto?)

    La dimensione di ogni nave è sempre 1? Cioè devo inserire 2 navi da 1?

  10. #20
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Originariamente inviato da Vincent
    Consideriamo N=2, 2 navi e 4,4 sono le componenti per ogni dimensione.

    Da come ho capito ho un campo di battaglia bidimensionale di 4x4 (giusto?)

    La dimensione di ogni nave è sempre 1? Cioè devo inserire 2 navi da 1?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.