...non cerco qualcuno che lo risolva ma qualcuno che mi indichi la strada da percorrere...
E' complicato ma immaginate di avere a che fare con le locandine di
un cinema. Ci sono locandine grandi e piccole.
C'e' una struttura che puo' contenere 4 locandine grandi e al massimo
8 locandine piccole.
Ho una tabella di questo tipo:
ID titolo vincolataalbox tipobox tipo colore
1 MARIO 11 2 mostra #CCCCCC
2 LUCA 22 1 mostra #99FF99
3 PAOLO 32 mostra #FF0000
4 ENZO evento #CC66FF
5 GIANNI evento #C2622F
Ho una pagina che dovete immaginare divisa in 4 contenitori.
Ogni contenitore contiene uno o due layer.
Il numero massimo di layer e' 8.
Questi 8 layer si chiamano:
11
12
21
22
31
32
41
42
Ogni riga della tabella e' un layer.
L'altezza di un layer e' definita dal campo tipobox.
Se tipobox=1 allora altezza=105px
Se tipobox=2 allora altezza=210px
La posizione di un layer puo' essere vincolata ad un contenitore,
specificando l'attributo vincolataalbox.
Posso lasciare liberi i campi
vincolataalbox e tipobox
ovviamente il programma deve riempire in maniera "intelligente" lo spazio libero.
Problema.
che logica devo usare per posizionare le locandine ?
Ho pensato questo:
1)uso un vettore di 8 elementi per tenere traccia degli spazi occupati
2)colloco prima i layer vincolati.
3)ogni volta che posiziono un layer vincolato se ne conosco il tipo (grande o piccolo)
"brucio" le posizioni occupate da quel layer sul vettore.
...e qui mi sono fermato perche' non so andare avanti...
l'ID=3 lo potrei posizionare su tipobox grande o piccolo
grande nel caso della tabella che abbiamo ma se ho altre righe potrei valutare
di metterlo piccolo
...mi aiutate nel risolvere questo problema...?
grazie a tutti

Rispondi quotando