Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [Java] Ricerca combinazioni array bidimensionale

    Salve a tutti
    Sono nuovo del forum e questo è il mio primo messaggio.
    E' un paio di mesi che studio java e ho fatto un bel pò di esercizi. Fino a quando oggi ho cominciato un progetto:

    Il gioco da tavolo zero e croci libero.

    Praticamente ci sono due giocatori che hanno a disposizione un tavolo di caselle 6x6 , ogni giocatore segna uno alla volta la casella che preferisce rispettivamente con lo zero o con la croce.
    Finite le caselle si calcola il punteggio:
    2 punti per 3 caselle segnate di fila.
    3 punti per 4 caselle segnate di fila.
    4 punti per 5 caselle segnate di fila.
    5 punti per 6 caselle segnate di fila.
    N.B. le file possono essere orizzontali verticali o diagonali. Se si considera una casella per una fila verticale si deve escludere la stessa per le altre due e così via.

    Ora passiamo al mio codice:

    come mi consigliate di impostare il tavolo? un array di char[6][6]?

    e per calcolare il punteggio come faccio?? avevo cominciato a scrivere questo codice ma non sò fino a che punto sia giusto usarlo in qst contesto.

    codice:
    public int calcolaPunteggio ( char A [][])
    	{	
    		int tot = 0;
    		int tmp = 0;		
    		//cerco combinazioni nelle righe
    		for(int i=0;i<6;i++)
    		{
    			tmp = 0;
    			for(int j=0;j<6;j++)
    				{						
    					if(A[i][j]==A[i][j+1])
    						tmp++;							
    				}
    		}
    		if(tmp > 2 )
    			tot = tmp-1;
    		return tot;
    	}
    Grazie anticipatamente.
    P.S. Scrivo qui perchè a mio parere HTML.it forum è il top!!!

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123
    Non conoscevo questo gioco...

    Comunque si, il tavolo è corretto vederlo come una matrice. Se la usi come una matrice di interi, puoi usare un numero che preferisci tu; magari indicare con 0 e 1 lo zero e la croce. Puoi anche usare una matrice di caratteri ed utilizzare i caratteri... e puoi anche utilizzare una matrice di booleani ed utilizzare false per le croci e true per gli zeri... come vedi le possibilità sono molte (forse coni booleani avresti qualche comodità in più).

    Per calcolare il punteggio non ti resta che attendere la fine e scorrere la matrice...

  3. #3
    Ok grazie. Ma il mio dubbio appunto è sulla ricerca del punteggio. Il codice che ho scritto dovrebbe cercare elementi uguali consecutivi in un a riga. Lo stesso riesco a farlo (dovrei) sia per le colonne che per le diagonali. Ma appunto come faccio a escludere un elemento che già è stato considerato??

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    613
    Originariamente inviato da cicciodifranco
    Ok grazie. Ma il mio dubbio appunto è sulla ricerca del punteggio. Il codice che ho scritto dovrebbe cercare elementi uguali consecutivi in un a riga. Lo stesso riesco a farlo (dovrei) sia per le colonne che per le diagonali. Ma appunto come faccio a escludere un elemento che già è stato considerato??
    Dando per scontato che il tuo algoritmo funzioni, il metodo più semplice probabilmente è usare un altro carattere. Quando trovi una sequenza, una volta finita cambi tutte le sue caselle mettendo al loro post un terzo carattere a piacere.

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.