PDA

Visualizza la versione completa : [JAVA] Dama con il JBuilder


leomeya
05-10-2005, 19:40
ragazzi devo consegnare un progetto di dama che ho fatto da solo in gran parte, pero' per creare l'applet e le finestre di dialogo mi sono fatto aiutare.
ci devo mettere commento riga per riga per le classi "movimento" e "caselle" che ho fatto io ci sono riuscito, ma per le classi "damaapplet" e "mydialog" non ci sono riuscito.
me li potreste mettere voi? per mydialog abbastanza dettagliate perche' non ci ho capito nulla, e non ho capito se le finestre sono state fatte con il jbuilder o a mano.
grazie ragazzi

----------------------------------------------------------------------
MyDialog.java

import java.awt.*;
import java.awt.event.*;
import java.awt.Component;
import java.applet.*;

public class MyDialog extends Dialog
implements ActionListener
{

public MyDialog(Applet parentWin,String text)
{

super(new Frame() ,"Attenzione",true);
this.setModal(true);
this.setResizable(false);
this.setLayout(new GridLayout(2,1,10,10));
Label msg=new Label(text,Label.CENTER);
this.add(msg);

Button b=new Button("OK");
b.addActionListener(this);
this.add(b);
this.setSize(text.length()*10,100);

//faccio comparire la fin. di dialogo al centro della parent
this.setLocation(parentWin.getLocation().x+Math.ab s(parentWin.getSize().width-this.getSize().width)/2,
parentWin.getLocation().y+Math.abs(parentWin.getSi ze().height-this.getSize().height)/2);
this.show();
}

public void actionPerformed(ActionEvent e){
if(e.getSource() instanceof Button)
this.removeAll();
hide();
}
}

----------------------------------------------------------------------
DamaApplet.java


import java.awt.*;
import java.applet.*;
import java.awt.event.*;
import java.net.*;

public class DamaApplet extends Applet {
//Elementi dell'interfaccia

private Caselle scacchiera[][]; //Array multidimensionale per la scacchiera
public final int dimOrizzVert=8; //Dimensione 8x8
public Image[] imgs; //Array per salvare le immagini
public Movimento mossa; //Creo la mossa della classe Movimento
public GridLayout gameLayout = new GridLayout(); //Layout scelto per l'applet su design
//Il Jbuilder mi costruisce l'applet e jbInit mi crea la griglia vuota nell'applet
public DamaApplet() {
try
{
jbInit();
}
catch(Exception e)
{
e.printStackTrace();
}
}

//Inizializza l'applet con gli oggetti: immagini e caselle
public void init() {

scacchiera=new Caselle[dimOrizzVert][dimOrizzVert];
imgs=new Image[6]; // 1) pedina bianco
// 2) pedina nera
// 3) dama bianca
// 4) dama nera
// 5) pedina tmp
// 6) dama tmp
//carico le varie immagini
imgs[0] =getImage(getCodeBase(),"images/pedina1.gif");
imgs[1] =getImage(getCodeBase(),"images/pedina2.gif");
imgs[2] =getImage(getCodeBase(),"images/pedina3.gif");
imgs[3] =getImage(getCodeBase(),"images/pedina4.gif");
imgs[4] =getImage(getCodeBase(),"images/pedina5.gif");
imgs[5] =getImage(getCodeBase(),"images/pedina6.gif");

mossa=new Movimento(this); //Creo un oggetto movimento per le mosse

int x,y;

//Definisco la scacchiera
for(x=0,y=0;x<dimOrizzVert;x++) {
for(;y<dimOrizzVert;y++) {
scacchiera[x][y] = new Caselle(x,y,this); //Creo la caselle per ogni elemento della scacchiera
add(scacchiera[x][y]); //Aggiungo la casella alla scacchiera
}
y=0;
}


}

public void TheWinner(String theWinner){
//Funzione vincitore, appare la schermata di dialogo
MyDialog dl=new MyDialog(this,theWinner);
//E rimuove tutto dall'applet
this.removeAll();
}

//Inserite le coordinate ritorna la casella desiderata dell'applet
public Caselle GetCasella(int x, int y){
return this.scacchiera[x][y];
}

//Costruttore dell'applet
private void jbInit() throws Exception
{
//Definisco il layout dell'applet
this.setEnabled(true);

//Definisco il layout della finestra???????????
gameLayout.setColumns(8);
gameLayout.setRows(8);

setLayout(gameLayout);//?????????

setSize(45*this.dimOrizzVert,45*this.dimOrizzVert) ; //Definisce la dimensione della finestra dell'applet


}



}

leomeya
05-10-2005, 20:24
up

leomeya
05-10-2005, 23:24
up

byaur
06-10-2005, 18:50
se un progetto per un esame sforzati... mica ti possiamo commentare tutto il codice, un aiuto si, anche 2 e tre... ma fare integralmentee anche parte di un "progetto" (da quello che ho capito per qualche esame universitario o scolastico che sia)anche se solo il commento non mi sembra corretto nei confronti di quelli come te che si fanno il progetto da soli sbattendo la testa contro i manuali...
:nonono:
quindi il mio consiglio prendere un manuale e capire cosa fanno le istruzioni... :dh: :oVVoVe:

leomeya
06-10-2005, 20:04
ti ringrazio per l'aiuto mi mancano 4 crediti per iscrivermi all'anno successivo e con questo laboratorio ce la farei comunque grazie

byaur
06-10-2005, 20:34
quindi...
?
:messner:
devi considerare che non solo tu hai da fare...
qui ci sono altre persone che studiano come te(io), lavorano (anche io) e hanno una loro vita...
il fatto di aiutare una cosa che io e molti altri facciamo senza niente in cambio, lo facciamo appunto per aiutare...
ma aiutare a volte significa far capire che bisogna sbattere la testa sulle cose, specialmente commentare un file java che una cosa banalissima nell'epoca di internet, con manuali e aiuti da tutte le parti...
non una cosa che non sai fare ma che non hai voglia, almeno cosi penso... e non mi dire di no...!

ripeto: prova a vedere su un manuale. se trovi qualche istruzione che non capisci posta che ci sara sempre qualcuno pronto ad aiutarti, anche io(naturalmente se la suddetta cosa la s)...

e soprattuto non fare l'offeso e non prendere per i fondelli...
e grazie lo dico io.
:dh:

leomeya
06-10-2005, 21:03
ciccio se non trombi da tanto tempo fatti una sega :prrr:
secondo me non hai neanche guardato i file che ho postato, altrimenti avresti visto che ci sono gia' molti commenti e solo nelle righe che non ho capito non ci sono!

byaur
07-10-2005, 09:10
ricordati il rispetto caro...
penso che te la stai prendendo un p troppo...

purtroppo la maleducazione impera...
per me chiusa qui la questione, se vuoi un aiuto su qualcosa sempre disponibile, perch non mi piace parlare a vanvera e sparlare di gente che nemmeno conosco, come invece hai fatto tu...

non mi aspetto scuse per la prima frase che hai detto, sarebbe troppo. spero solo che quello che hai scritto sia stato un momento di rabbia.

byaur
07-10-2005, 09:23
a proposito:



//Poich prima stato dichiarato gameLayout come Grid Layout cosi dici di //impostare per questo, 8 colonne e 8 righe
gameLayout.setColumns(8);
gameLayout.setRows(8);

//setti il layout per il pannello come gameLayout(quindi un layout a griglia
//8x8)
setLayout(gameLayout);


...il fatto che ti volevo far capire (purtroppo non hai recepito), non che non eri capace di fare una cosa, ci mancherebbe, ma che GridLayout sta su qualsiasi manuale(o sito), anche del cacchio, riguardante Java. in 2 secondi, senza arrivare ad accuse pesanti, avresti trovato il risultato. cmq ripeto per me non successo niente.

io mi scuso di averti irritato...io.

Loading