View Full Version : Java Tetris
ciao a tutti, dovrei fare il tetri in java, solo che nn saprei da dove iniziare... avete idea... tipo siti che spiegano l'algoritmo ooO come fare in odo che quando premo il tasto succeda qualcosa??? e resto... cosa uso come matrice...
thx ciaoi
ciao a tutti, dovrei fare il tetri in java, solo che nn saprei da dove iniziare... avete idea... tipo siti che spiegano l'algoritmo ooO come fare in odo che quando premo il tasto succeda qualcosa??? e resto... cosa uso come matrice...La tua domanda è troppo generica ... intanto devi fare una applicazione o una applet Java? Con AWT o Swing?
Per il resto (cosa usare, come visualizzare gli elementi, ecc...) dipende da tanti fattori.
AnonimoVeneziano
30-05-2007, 22:45
Mi sembra che stai iniziando proprio da zero la tua avventura nella programmazione ad eventi delle interfacce grafiche.
Non so se tu conosca già Java come linguaggio o se devi ancora apprenderlo. In caso tu già lo conosca e vuoi capire come creare interfacce grafiche segui questo tutorial (spiega il funzionamento di Swing) :
http://java.sun.com/docs/books/tutorial/uiswing/index.html
per il tuo progetto potrebbe anche esserti utile Java2D:
http://java.sun.com/docs/books/tutorial/2d/index.html
Una volta appresi questi concetti inizia a buttare giù una prima idea su carta di come le varie componenti del tuo programma possono interagire tra loro e inizia :)
Ciao
no java and swing li conosco disvretamente infatti in teoria li volevo fare con sti due... mi guardo un'attimo cos'è sto 2d ;) thx
cmq io di base pensavo di fare una "matrice" con dei label o simili e colorarli in base alla figura e il movimento ma nn so se questo e un'idea decente e possibile?
una domanda, consigliate di fare 5 classi per i 5 oggeti ooo farne 6 di qui una come figura ed estendere le altre ad'essi?
Anche io userei le label
l'ultimo tuo messaggio è delirante... :D
Anche io userei le label
l'ultimo tuo messaggio è delirante... :D
:D :D :D xchè... e label siano!:)
Prima domanda:
//Componenti
for(int i=0; i< 10; i++){
for(int y=0; y< 5; y++){
JLabel nome = new JLabel("Nome");
}
}
for(int i=0; i< 50; i++){
pannello.add(nome);
}
questo sarebbe per creare la base... cime faccio a dirli che il label si chiama label+y (tipo php: 'label'.$y) e poi come faccio a farli andare a capo?
questo sarebbe per creare la base... cime faccio a dirli che il label si chiama label+y (tipo php: 'label'.$y)Facendo new JLabel("Nome") crei una JLabel che visualizza il testo "Nome". Se devi fare un tetris, immagino che ci debba mettere dentro delle immagini, non del testo!
poi come faccio a farli andare a capo?Se devi fare una griglia di label, devi usare un apposito layout-manager, GridLayout. Vedi <qui> (http://java.sun.com/docs/books/tutorial/uiswing/layout/visual.html) sul tutorial.
ok, ma come faccio a mettere delle img?, o meglio nn so ancora come fare.
perche faccio tipo una griglia di rettangoli neri e in base alle figure e al movimento li metto un'altra img... ma come faccio a gestire la cosa nel senso riaggiornare ogni tot sec la pagina o come...???:confused:
quale dei layout devo usare?
ok, ma come faccio a mettere delle img?, o meglio nn so ancora come fare.
perche faccio tipo una griglia di rettangoli neri e in base alle figure e al movimento li metto un'altra img... ma come faccio a gestire la cosa nel senso riaggiornare ogni tot sec la pagina o come...???:confused:Queste che stai ponendo sono tutte domande relative alla gestione delle interfacce grafiche .... forse è meglio se inizi a documentarti bene. Ti ho già indicato diverse volte dei link al tutorial ufficiale. Inoltre è bene se hai sempre la documentazione javadoc del framework a portata di mano.
Ad esempio se vai a vedere, JLabel ha un costruttore che prende un Icon e se vai a vedere, Icon è una interfaccia, che viene implementata dalla classe ImageIcon, che puoi creare partendo dal nome di un file o un URL che fanno riferimento ad una immagine.
io uso sto sito: http://www.beginner-java-tutorial.com/java-swing-tutorial.html
cmq cos ami consigli per la gestione grafica di come fare.. avete idee xche io nn so come fare.. per il layout il gridlayout va bene no?
Io non userei icone, basta cambiare il colore di background della label
(forse devi anche farle opache non ricordo).
Il gridlayout va bene.
Non puoi usare dei nomi "dinamici", ma puoi metterli in un array,
anzi in una matrice bidimensionale.
Io non userei icone, basta cambiare il colore di background della label
(forse devi anche farle opache non ricordo).
Il gridlayout va bene.
Non puoi usare dei nomi "dinamici", ma puoi metterli in un array,
anzi in una matrice bidimensionale.
ok provo a farlo, vediamo..
cmq solo per curiosità se metto un img al label nella cartella del progetto dove devo mettere img?
Intendi come impostare un icona?
label = new JLabel( new ImageIcon( nomeFile ) );
oppure label.setIcon(...);
Intendi come impostare un icona?
label = new JLabel( new ImageIcon( nomeFile ) );
oppure label.setIcon(...);
si ma in pratica dome la caccio dentro icona?
cmq
ecco qua come popolizzo l'array
public int [][]matrice;
....
for(int y=0;y<20;y++){
for(int x=0;x<10;x++){
matrice[x][y] = 10;
}
}
si ma la cosa che nn capisco e
1: come assegno il background
2: come faccio a riaggiornare ogni volta la tabella?
si ma in pratica dome la caccio dentro icona?
? è un normale file
1: come assegno il background
ad esempio con label.setBackground( Color.BLUE );
ma come dicevo sopra forse quando inizializzi l'icona devi farla opaca (setOpaque(true))
2: come faccio a riaggiornare ogni volta la tabella?
Non è che posso farti tutto il programma :D
Hai la matrice - che dovrebbe essere di JLabel, perché usi interi?? -
basta che fai matrice[3][2].setBackground(...);
matrice[x][y] = JPanel = new JPanel();
come faccio?
come si fa ad'assegnare un jpanel a una posizione dell'array?:confused:
JPanel[][] matrice = new JPanel[10][20];
for(int y=0;y<20;y++){
for(int x=0;x<10;x++){
matrice[x][y] = new JPanel();
}
}
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.