.dsy:it. Pages (8): « 1 2 3 4 [5] 6 7 8 »
Show 150 posts per page

.dsy:it. (http://www.dsy.it/forum/)
- Algoritmi e strutture dati (http://www.dsy.it/forum/forumdisplay.php?forumid=207)
-- [Progetto] Samegame (http://www.dsy.it/forum/showthread.php?threadid=33233)


Posted by Bloom on 31-01-2008 12:29:

Cosi però sposti tutte le biglie che sotto di se hanno dei buchi.
Mentre dovresti spostare tutte quelle biglie la cui x corrispondono al blocco che hai cancellato
Non so se mi sono spiegata.


Posted by tata1283 on 31-01-2008 12:33:

Bloom forse non hai capito bene la funzione mossa....
devi spostare tutte le biglie che fanno parte delle coordinate x0, x1, y1, y0.
Il blocco cancellato è la prima parte della funzione e si basa sugli argomenti x, y.
Il resto lo si fa per qualsiasi biglia nella base.
Come ha detto el briffo è un modo per spostare le caselle


Posted by El Briffo on 31-01-2008 12:38:

Originally posted by Bloom
Cosi però sposti tutte le biglie che sotto di se hanno dei buchi.
Mentre dovresti spostare tutte quelle biglie la cui x corrispondono al blocco che hai cancellato
Non so se mi sono spiegata.


Si vero, infatti il secondo ciclo parte da j = y0+1 ^^


Posted by Bloom on 31-01-2008 12:49:

si,ma se vai a vedere gli esempi prima cancelli il blocco,
poi in corrispondenza delle x del blocco vai a spostare le biglie sull'asse
y.
Con due cicli for..secondo me vai a spostare tutte le biglie di y-1 posizioni (se la cella sotto è vuota) e non solo in corrispondenza del blocco cancellato.
Ne sono sicura anche perche avevo fatto come te


Posted by Bloom on 31-01-2008 12:52:

Per elBriffo:
Cosi sposti tutte le biglie di y-1 posizioni che stanno nel range x0 x1 e y0 e y1 e


Posted by tata1283 on 31-01-2008 13:03:

Originally posted by Bloom
si,ma se vai a vedere gli esempi prima cancelli il blocco,
poi in corrispondenza delle x del blocco vai a spostare le biglie sull'asse
y.
Con due cicli for..secondo me vai a spostare tutte le biglie di y-1 posizioni (se la cella sotto è vuota) e non solo in corrispondenza del blocco cancellato.
Ne sono sicura anche perche avevo fatto come te


Boh forse non riesco a capire quello che stai dicendo.
Io so solo che l'esame l'ho passato ieri e come ho fatto la funzione mossa era giusto......magari stiamo dicendo la stessa cosa....


Posted by El Briffo on 31-01-2008 13:04:

Originally posted by Bloom
si,ma se vai a vedere gli esempi prima cancelli il blocco,
poi in corrispondenza delle x del blocco vai a spostare le biglie sull'asse
y.
Con due cicli for..secondo me vai a spostare tutte le biglie di y-1 posizioni (se la cella sotto è vuota) e non solo in corrispondenza del blocco cancellato.
Ne sono sicura anche perche avevo fatto come te


Ho innestato un terzo ciclo (in cui si entra solo se la casella esiste e sotto di sè c'è un posto vuoto) che conta le caselle vuote sotto, in questo modo scalano in modo corretto.
Tu hai risolto con meno controlli?


Posted by Bloom on 31-01-2008 13:12:

Per tata:
ad esempio:
(3,2)(4,2)(5,2)
(3,1 )(4,1) (5,1)
è un blocco.
Fai finta che il range è per le x[1, 8] e per le y[1 5].
Il blocco appartiene al range.
quindi si cancella il blocco.
mettiamo ad esempio che ci siano delle biglie (non appartenenti al blocco perchè di colore diverso)in (3,3 )(4,3)(5,3)e (6,3).
Sono d'accordo che bisogna spostare du 2 posizioni le biglie (3,3)(4,3)e (5,3),ma la biglia in (6,3) sebbenbe appartenga al range
non dovrebbe essere spostata giusto?


Posted by Bloom on 31-01-2008 13:14:

Per elBriffo guarda l'esempio fatto per tata


Posted by kalbiz on 31-01-2008 13:30:

Originally posted by tata1283
molto semplicemente.....qualsiasi struttura si usa.....se tu cerchi una casella (x, y) se la trovi ha una biglia se non la trovi non ha una biglia.......sempre con il ragionamento di unire caselle e biglie come ti dicevo prima.
Poi se tu vuoi avere caselle e biglie divise......non saprei.


no anzi stavo provando le varie strutture dati, il discorso che fai è coerente e funziona ..oltretutto meglio un grafo che 2 :-)


Posted by tata1283 on 31-01-2008 15:45:

Originally posted by Bloom
Per tata:
ad esempio:
(3,2)(4,2)(5,2)
(3,1 )(4,1) (5,1)
è un blocco.
Fai finta che il range è per le x[1, 8] e per le y[1 5].
Il blocco appartiene al range.
quindi si cancella il blocco.
mettiamo ad esempio che ci siano delle biglie (non appartenenti al blocco perchè di colore diverso)in (3,3 )(4,3)(5,3)e (6,3).
Sono d'accordo che bisogna spostare du 2 posizioni le biglie (3,3)(4,3)e (5,3),ma la biglia in (6,3) sebbenbe appartenga al range
non dovrebbe essere spostata giusto?


Ah ma certamente!
Io avevo capito che tu andavi a spostare solo le biglie nelle caselle sopra al blocco cancellato e le altre non le guardavi minimamente anche se interne alla base.
Quello che dici tu è giusto, nel senso che quelle sopra al blocco diciamo che in un certo modo sai già che devi spostarle mentre tutte le altre devi fare tutti i controlli sotto e a sinistra.
Cmq nel tuo esempio la biglia (6, 3) andrà spostata nel caso sotto di lei ci siano caselle vuote...devi fare cmq i controlli sotto e a sinistra.


Posted by Bloom on 31-01-2008 16:06:

Io ho capito che la (6,3) andrà spostata a sinistra non in basso per ristabilire la base
o Non ci ho capito nulla?
Ovvero se la casella in posizione (6,2) è vuota gia da prima devo cmq spostarla verso il basso?


Posted by tata1283 on 31-01-2008 19:08:

Originally posted by Bloom
Io ho capito che la (6,3) andrà spostata a sinistra non in basso per ristabilire la base
o Non ci ho capito nulla?
Ovvero se la casella in posizione (6,2) è vuota gia da prima devo cmq spostarla verso il basso?


Mossa funziona così:

Questo è il piano:

(4,3) (5,3) (6,3) (7,3) (10,3)
(4,2) (6,2) (7,2)
(4,1) (5,1) (6,1)

Esegui mossa(4, 1, 1, 10, 1, 10)
(4,1) fa blocco con (5,1) (6,1) (6,2)
dopo mossa il piano sarà questo:

(4,2) (7,2)
(4,1) (5,1) (6,1) (7,1) (8,1)


Posted by tata1283 on 31-01-2008 19:53:

Nel piano risultato non è (7,2) ma (5,2)....sorry!


Posted by tata1283 on 31-01-2008 19:54:

Ritiro quello che ho detto......è tutto giusto....sono solo allineate in modo sbagliato!


All times are GMT. The time now is 08:23. Pages (8): « 1 2 3 4 [5] 6 7 8 »
Show all 106 posts from this thread on one page

Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.