.dsy:it.
Show 150 posts per page

.dsy:it. (http://www.dsy.it/forum/)
- Fondamenti di architettura e programmazione (http://www.dsy.it/forum/forumdisplay.php?forumid=234)
-- [Info Generale] Progetto LA DAMA (http://www.dsy.it/forum/showthread.php?threadid=2403)


Posted by joker402 on 23-01-2003 08:56:

Progetto Info Generale: LA DAMA

Ciao! Scrivo questo thread per riunire in un solo posto tutti i pareri, i commenti, i suggerimenti, i dubbi ecc ecc ecc sul progetto che dovremo fare per Malchiodi (Informatica Generale ).
Scrivete se avete qualcosa da dire o chiedere in merito!!
Ciao!

__________________
Ogni uomo mente, ma dategli una maschera e sarà sincero.
~ joker402 ~


Posted by morf on 23-01-2003 10:12:

mha, non credo scriveranno in molti forse .. rischio copia o ruba idee ihih :D
cmq io avevo una curiosità: sul pdf di malchiodi le pedine sono disposte sulle caselle bianche e, muovendosi ovviamente solo in diagonale, non andranno mai sulle nere.
io però quando giocavo a dama negli anni passati ho spesso visto le pedine sulle caselle nere ... e non ricordo di averle viste sulle bianche.
ora: forse mi sbaglio io (molto probabile) ... voi?

__________________
mail, msn and steam account: morf@email.it
my blog: http://melien.blogspot.com
my shots: http://mr-anf.deviantart.com


" ... fear is how I fall ... "


Posted by Rifinitore on 23-01-2003 10:38:

Per la storia delle caselle, è vero che nei luci di Malchiodi c'è un errore: le regole sono che tutte le pedine (sia bianche che nere) devono stare solo negli spazi neri e non vanno mai in quelli bianchi. Cmq è lo stesso ... ha cambiato solo gli spazi neri con quelli bianchi !
Per il progettino io ho iniziato a fare qualcosa, ma ho molti problemi nella gestione dei movimenti e nell'array per gestire le caselle della scacchiera !
Lui ci ha detto di mettere le lettere nelle colonne e i numeri nelle righe, ma di che tipo dovrà essere questa array ? String o Int ?

__________________
Peppe
http://www.peppedotnet.it


Posted by morf on 23-01-2003 11:09:

nessuno conosce l'url di un buon sito dove c'è una specie di indice con tutti i comandi java?
forse c'è già nel pacchetto j2se che ho scaricato ma non lo trovo.
se qualcuno mi può dare una mano sarebbe gradita :D
thanks

__________________
mail, msn and steam account: morf@email.it
my blog: http://melien.blogspot.com
my shots: http://mr-anf.deviantart.com


" ... fear is how I fall ... "


Posted by Rifinitore on 23-01-2003 13:23:

Io ho trovato questo !
Sono tutti i package dell'ambiente Java, era questo che cercavi ?

__________________
Peppe
http://www.peppedotnet.it


Posted by Rifinitore on 23-01-2003 13:37:

Ah, un'altra cosa : noi i vettori li abbiamo trattati ?

__________________
Peppe
http://www.peppedotnet.it


Posted by joker402 on 23-01-2003 13:43:

beh, di certo non mi aspettavo che mi postassero il codice del programma già fatto...magari!:-D
Il thread era anche per dubbi più generici tipo consegne, interpretazione delle indicazioni del malkiod...
x morf: In dos il nero e il bianco sono relativi, caselle colorate risultano bianche, anche se magari le si colora per intenderle nere... insomma avete capito, no? E poi in sostanza, ovunque le metti basta che non vanno su quelle dell'altro colore!

Ciao!

__________________
Ogni uomo mente, ma dategli una maschera e sarà sincero.
~ joker402 ~


Posted by Rifinitore on 23-01-2003 14:08:

Ma ... per quell'array Joker ?

__________________
Peppe
http://www.peppedotnet.it


Posted by joker402 on 23-01-2003 14:22:

a dire il vero non ci ho ancora ragionato sopra, mi sembra difficile che debba essere fatto int... però non saprei esattamente come farlo, devo ancora vedere un po' di teoria nuova e vecchia.
I vettori non li abbiamo fatti, o almeno, a me non risulta.
ciao

__________________
Ogni uomo mente, ma dategli una maschera e sarà sincero.
~ joker402 ~


Posted by morf on 23-01-2003 19:38:

io la scacchiera in array l'ho fatta dopo qualche peripezia (ho aggiunto dettagli non richiesti, sono un pirletto :D).
cmq credo un array di stringhe sia più comodo che di interi ... a meno che fai una scacchiera graficamente con caratteri come 1 o 0 ... oppure fai array di interi, ci passi il codice unicode del carattere |, e stampi ... ma mi pare stupido :D:D

x rif: grazie per l'url ma quello l'avevo già trovato su http://java.sun.com ... io volevo più una lista generica di comandi e operatori, non tanto di classi e metodi. ma grazie per lo sbattimento cmq :D

__________________
mail, msn and steam account: morf@email.it
my blog: http://melien.blogspot.com
my shots: http://mr-anf.deviantart.com


" ... fear is how I fall ... "


Posted by 0m4r on 23-01-2003 22:23:

Originally posted by morf
nessuno conosce l'url di un buon sito dove c'è una specie di indice con tutti i comandi java?
forse c'è già nel pacchetto j2se che ho scaricato ma non lo trovo.
se qualcuno mi può dare una mano sarebbe gradita :D
thanks


java.sun.com
nella home page ci sono i link alla documentazione e li trovi tutto quello che ti serve.

__________________
http://www.twitter.com/0m4r


Posted by Rifinitore on 23-01-2003 22:52:

ok morf, sulla scacchiera ci sono anche io, ma per i movimenti ?

__________________
Peppe
http://www.peppedotnet.it


Posted by morf on 24-01-2003 11:43:

per il vector mi sono dimenticato di risponderti :D
malchiodi l'ha citato l'altro giorno dicendo "per esempio all'orale vi potrei chiedere: perchè avete usato un array e non un vector? e se vi vedo spaesati vi chiedo cosa è un vector" ... testuali parole ... porc :D!
io sinceramente non ricordo che sia stato trattato in modo approfondito, ma sono cmq andato sul libro a vedere ed è spiegato ... non l'ho usato cmq (buon vecchi e spigolosi array :)).

rif, i movimenti devo iniziarli oggi pomeriggio, visto che ho finite le classi scacchiera e pezzi vari. cmq non dovrebbe essere difficile (almeno, per come ho impostato io il mio progetto) ... è solo questione di cambiare le coordinate ai pezzi.

__________________
mail, msn and steam account: morf@email.it
my blog: http://melien.blogspot.com
my shots: http://mr-anf.deviantart.com


" ... fear is how I fall ... "


Posted by morf on 24-01-2003 12:44:

domanda: qualcuno sa se c'è un comando java che corrisponde al comando dos "cls" ? (cleanscreen, che appunto ripulisce lo schermo ... quello che in pascal era clrscr ... insomma, ci sarà pure in java!)

grazie :)

__________________
mail, msn and steam account: morf@email.it
my blog: http://melien.blogspot.com
my shots: http://mr-anf.deviantart.com


" ... fear is how I fall ... "


Posted by ^Angelus^ on 24-01-2003 20:21:

vedo se posso dare una mano a qualcuno con qualche (spero) dritta.

Per quanto riguarda i vettori:
la traduzione di array in italiano è vettore quindi quando si parla di vettori si può intendere 2 cose:

a) Un array (fisso, cioè la dimensione va specificata prima di eseguire il programma)

b) La classe Vector, che nn è nient'altro che un array dinamico (cioè che può variare il proprio numero di elementi durante l'esecuzione del programma, a seconda del fabisogno)


poi per quanto riguarda la matrice, (o array bidimensionale) nn vedo perchè farla String, è molto meglio farla int, di dimensione 8x8 dove ad esempio il 0 = cella vuota, 1 = pedina, 2 = dama

nn credo che in java ci sia il clear screen, una valida alternativa potrebbe essere di fare tot '\n' quanti sono le linee dello schermo (circa 24, poi dipende dalla finestra di visualizzazione), l'effetto è simile, forse un po' + lento, ma per questo programma va benissimo

beh spero di essere stato d'aiuto a qualcuno, purtroppo nn ho avuto ancora tempo di guardare bene il progetto, quindi nn posso ancora dare nessuno spunto

__________________
Empty your mind, be formless, shapeless, like water. If you put water into a cup it became a cup, if you put water into a bottle it became a bottle, if you put into a teapot it became a teapot. Water can flow or can crush. Be water my friend.

Nessuna via come via. Nessun limite come limite

- Bruce Lee -


Posted by ^Angelus^ on 24-01-2003 21:23:

vedo se posso dare una mano a qualcuno con qualche (spero) dritta.

Per quanto riguarda i vettori:
la traduzione di array in italiano è vettore quindi quando si parla di vettori si può intendere 2 cose:

a) Un array (fisso, cioè la dimensione va specificata prima di eseguire il programma)

b) La classe Vector, che nn è nient'altro che un array dinamico (cioè che può variare il proprio numero di elementi durante l'esecuzione del programma, a seconda del fabisogno)


poi per quanto riguarda la matrice, (o array bidimensionale) nn vedo perchè farla String, è molto meglio farla int, di dimensione 8x8 dove ad esempio il 0 = cella vuota, 1 = pedina, 2 = dama

nn credo che in java ci sia il clear screen, una valida alternativa potrebbe essere di fare tot '\n' quanti sono le linee dello schermo (circa 24, poi dipende dalla finestra di visualizzazione), l'effetto è simile, forse un po' + lento, ma per questo programma va benissimo

beh spero di essere stato d'aiuto a qualcuno, purtroppo nn ho avuto ancora tempo di guardare bene il progetto, quindi nn posso ancora dare nessuno spunto

__________________
Empty your mind, be formless, shapeless, like water. If you put water into a cup it became a cup, if you put water into a bottle it became a bottle, if you put into a teapot it became a teapot. Water can flow or can crush. Be water my friend.

Nessuna via come via. Nessun limite come limite

- Bruce Lee -


Posted by ^Angelus^ on 24-01-2003 22:17:

ops chiedo venia, ho appena guardato bene il progetto, penso che l'idea di usare un'array di interi, per quanto corretto logicamente, nn penso che malchiodi lo accetti, questo progetto serve per valutare la nostra capacità di utilizzare un linguaggio ad oggetti (Java in questo caso), quindi con l'ereditarietà, il polimorfismo ecc... quindi penso che sia + appropiato creare un array 8x8 di tipo pezzo (che potrà contenere quindi nelle proprie celle sia oggetti di tipo pedina che di tipo dama (proprietà del polimorfismo)). Poi la gestione del movimento delle pedine gestirlo tramite la classe scacchiera con appropriate funzioni e controlli. La classe pedina (o pezzo) dovrà contenere le informazioni di stato sui pezzi.

anche se ammetto che con questa gestione ci si complica un bel po la vita, aiuterebbe se dovesse usare la grafica, ma è orientata agli oggetti. L'idea che avevo prima invece era + orientato ad una programmazione strutturata (modello C o Pascal)

Cmq questa è solo una mia idea, nn è detto che sia giusta o che nn ci siano altre soluzioni o altre strade da percorrere. Ditemi cmq cosa ne pensate

__________________
Empty your mind, be formless, shapeless, like water. If you put water into a cup it became a cup, if you put water into a bottle it became a bottle, if you put into a teapot it became a teapot. Water can flow or can crush. Be water my friend.

Nessuna via come via. Nessun limite come limite

- Bruce Lee -


Posted by morf on 25-01-2003 08:16:

no bhe avrai chiarito dubbi a molti credo, sei stato molto chiaro.

per il comando cls che non ha corrispondenza in java, avevo pensato anche io a un tot \n però bisogna ammettere che è abbastanza squallido :D

e cmq la tua idea è in linea di massima molto buona perchè, come ti sei corretto tu nell'ultimo post, segue i grandi temi della programmazione ad oggetti che malchiodi preferirebbe vedere nel progetto. è ovvio che poi uno può scegliere di adottare alcuni accorgimenti ... ma la sostanza è quella.

__________________
mail, msn and steam account: morf@email.it
my blog: http://melien.blogspot.com
my shots: http://mr-anf.deviantart.com


" ... fear is how I fall ... "


Posted by ^Angelus^ on 25-01-2003 11:47:

:-D Bene, sono felice di essere stato d'aiuto. Comunque se qualcuno ha qualche altra idea per il progetto la dica pure, sarei felice di poterne discutere, anche perchè ultimamente nn mi vengono molte idee in quanto programmo da mattina a sera (causa lavoro) e alla sera ho molta voglia di programmare ancora

__________________
Empty your mind, be formless, shapeless, like water. If you put water into a cup it became a cup, if you put water into a bottle it became a bottle, if you put into a teapot it became a teapot. Water can flow or can crush. Be water my friend.

Nessuna via come via. Nessun limite come limite

- Bruce Lee -


Posted by morf on 25-01-2003 13:02:

da mattina a sera (causa lavoro) programmi in che? java?
se è così, avrai una dimestichezza davvero notevole ...

__________________
mail, msn and steam account: morf@email.it
my blog: http://melien.blogspot.com
my shots: http://mr-anf.deviantart.com


" ... fear is how I fall ... "


Posted by joker402 on 25-01-2003 13:48:

Per il cancellare lo schermo anche io mi stavo chiedendo come si potesse fare. Cercando in forum.java.sun.com ho appurato che in java c'è la clamorosa mancanza di un comando dedicato per cancellare lo schermo, e sempre leggendo lì ho visto alcune proposte di soluzione. Ne riporto due: 1)importare un programma scritto in c che cancelli lo schermo; 2)Utilizzare il comando Runtime.exec("cls") , che mi sembrerebbe perfetto, ma che non sono ancora riuscito a far funzionare (mi dà errore "non static method exec cannot be referenced from a static context" :bolted: , se qualcuno risolve l'errore siamo a cavallo! )
Ciao!

__________________
Ogni uomo mente, ma dategli una maschera e sarà sincero.
~ joker402 ~


Posted by Rifinitore on 25-01-2003 17:30:

ok, mi sono trovato davanti ad un errore e non so come corregerlo !
Ho creato un array di oggetti e ho dato ad ogni elemento di questo array due valori uno se nella casella c'era una pedina e il secondo per dare la posizione di quella casella ! Chiaramente in nelle caselle senza pedine ho messo " " cioè uno spazio !
Mi da questo errore quando vado a stampare l'array :

Exception in thread "Main" java.lang.nullPointerException

che è ?

__________________
Peppe
http://www.peppedotnet.it


Posted by ^Angelus^ on 25-01-2003 19:42:

Originally posted by morf
da mattina a sera (causa lavoro) programmi in che? java?
se è così, avrai una dimestichezza davvero notevole ...


No delphi :D

Per Rifinitore, l'errore che ti da è perchè nn hai instanziato l'oggetto (cioè nn hai fatto il new )

quindi nn basta mettere

Pezzo mioArray[8][8];

ma devi anche fare un ciclo che ti istanzi i vari oggetti, cioè:

for (int i = 0; i < 8; i ++)
for (int j = 0; j < 8; j ++)
mioArray [i][j] = new Pezzo ();

anche se a mio parere ti conviene instanziare solo 24 oggetti (cioè il numero delle pedine) e per controllare se la casella è vuota basta il semplice controllo

if (mioArray [i][j] == null) ...

__________________
Empty your mind, be formless, shapeless, like water. If you put water into a cup it became a cup, if you put water into a bottle it became a bottle, if you put into a teapot it became a teapot. Water can flow or can crush. Be water my friend.

Nessuna via come via. Nessun limite come limite

- Bruce Lee -


Posted by Rifinitore on 25-01-2003 20:17:

E sulla classe Pezzo devo aggiungere qualcosa di particolare ?
Cmq, come mi hai detto tu la parola "mioArray" la tratta come una variabile...

__________________
Peppe
http://www.peppedotnet.it


Posted by ^Angelus^ on 25-01-2003 22:10:

ops mi correggo era così

code:
Pezzo myArray; for (int i = 0; i < 8; i++) for (int j = 0; j < 8; j++) myArray[i][j] = new Pedina ();


poi dipende tutto da come tu lo gestisci, volendo pui mettere un costruttore dove gli indichi il colore del pezzo, o robe del genere, cmq il mio è solo uno spunto, una idea, nn serve copiare pari pari, anche perchè mancherebbero molte cose.

Si myArray è una variabile normalissima, solo che può contenere + valori

__________________
Empty your mind, be formless, shapeless, like water. If you put water into a cup it became a cup, if you put water into a bottle it became a bottle, if you put into a teapot it became a teapot. Water can flow or can crush. Be water my friend.

Nessuna via come via. Nessun limite come limite

- Bruce Lee -


Posted by morf on 26-01-2003 09:37:

scusa, non so se mi sbaglio ... ma se dichiari myArray con "Pezzo myArray" e dopo fai "myArray[i][j] ) new Pedina()" non so se va ... I mean, forse gliel'hai messo nel costruttore di Pezzo, ma non si specifica che myArray è, appunto, un array ... credevo si facesse qualcosa come:

Classe[][] nomeArray = new Classe[i][j];

e così veniva creato un array bidimensionale di oggetti.
io non sono molto ferrato in java :D, ma non capisco come possa accettare quella parte di codice riportato ... se sto sbagliando non deridetemi :D:D

__________________
mail, msn and steam account: morf@email.it
my blog: http://melien.blogspot.com
my shots: http://mr-anf.deviantart.com


" ... fear is how I fall ... "


Posted by Rifinitore on 26-01-2003 09:45:

Anche io avevo fatto così ! E poi avevo creato 24 elementi di questo array con un'array list e gli avevo inizializzati con b per pedina bianca e n per pedina nera, e avevo messo un altro elemento che era la posizione che occupavano questi oggetti nella scacchiera.
Ma su Pezzo cosa ci devo mettere ? Io ho nesso un costruttore che prendeva due parametri (colore e posizione) e basta ...
E mi dava quell'errore lì !

__________________
Peppe
http://www.peppedotnet.it


Posted by morf on 26-01-2003 11:19:

io attualmente ce l'ho così e non mi ha ancora creato problemi.
nel costruttore di pezzo ho distinto l'output grafico ("b" per esempio) dal valore del pezzo (0 per pedina, 1 per dama) ... così nel caso uno voglia cambiare la visualizzazione del pezzo, non è costretto a modificare tutti gli if in cui si certificava il valore del pezzo solo dall'output grafico.
ripeto, io in java sono un po incapace ... però ormai l'ho presa come una sfida con me stesso! :D:D

__________________
mail, msn and steam account: morf@email.it
my blog: http://melien.blogspot.com
my shots: http://mr-anf.deviantart.com


" ... fear is how I fall ... "


Posted by Rifinitore on 26-01-2003 14:57:

Io rimango sempre con quel problema !
Mi da un errore perchè quando vado a stampare tutti gli elementi dell'arry ci sono degli spazi vuoti !
Io ho fatto un controllo del genere :
if (mioarray[i][j] == null)
{
mioArray[i][j] = " ";
}
E mi da errore NullPointerException nella riga dell'if !!!!:ueee:

__________________
Peppe
http://www.peppedotnet.it


Posted by morf on 26-01-2003 15:31:

allora probabilmente hai inizializzato in modo errato mioarray[i][j].
ora purtroppo sono di fretta, ma ci penserò su, anche se non posso capire se non ho materiale sotto mano.
prova a controllare il costruttore della classe, sebbene non credo sia quello il prob.
al max posta la dichiarazione dell'array

__________________
mail, msn and steam account: morf@email.it
my blog: http://melien.blogspot.com
my shots: http://mr-anf.deviantart.com


" ... fear is how I fall ... "


Posted by Rifinitore on 26-01-2003 15:45:

Pezzo[][] scacchiera;
public void scacchiera()
{
Pezzo[][] scacchiera = new Pezzo[8][8];
}

__________________
Peppe
http://www.peppedotnet.it


Posted by ^Angelus^ on 26-01-2003 17:00:

si scusate, mi ero dimenticato i le quadre: prima bisogna indicarglielo così Pezzo [][]myArray;

__________________
Empty your mind, be formless, shapeless, like water. If you put water into a cup it became a cup, if you put water into a bottle it became a bottle, if you put into a teapot it became a teapot. Water can flow or can crush. Be water my friend.

Nessuna via come via. Nessun limite come limite

- Bruce Lee -


Posted by morf on 26-01-2003 18:11:

Originally posted by Rifinitore
Pezzo[][] scacchiera;
public void scacchiera()
{
Pezzo[][] scacchiera = new Pezzo[8][8];
}


allora :D ... prima di tutto, se questo è una vera parte del tuo codice, ti consiglio di cambiare il nome della variabile o del metodo ... lo stesso nome non crea problemi ma Mr. Malchiodi potrebbe storcere il naso.
poi ... è giusto che istanzi l'array bidimensionale con

Pezzo[][] scacchiera;

ma dopo, nel metodo, non c'è bisogno di riscrivere l'istanziazione, basta soltanto dargli il riferimento, cioè:

public void scacchiera()
{
scacchiera = new Pezzo[8][8];
}

fatto questo però, l'array è totalmente vuoto.
se infatti fai un doppio ciclo (un annidato all'altro), tipo (spero sia giusto :D:D):

for (i = 0; i<8; i++)
for (j = 0; j<8; j++)
System.out.println(scacchiera[i][j]);

dovresti vedere una bella fila di null
magari sono io scemetto e non ho capito che cmq da qualche parte hai riempito l'array ... se non l'hai fatto fallo :)

cmq l'unica cosa da dirti era appunto quella cosettina sull'inizializzazione, ma non è un errore ...

bho ... se ti dà quell'errore sui null è perchè forse non hai riempito l'array

__________________
mail, msn and steam account: morf@email.it
my blog: http://melien.blogspot.com
my shots: http://mr-anf.deviantart.com


" ... fear is how I fall ... "


Posted by Rifinitore on 26-01-2003 20:41:

Ma con cosa lo riempo l'array ? E' un array di oggetti pezzo. Non potrò mettermi a riempire ogni elemento ?!
Io metto le 24 pedine e il resto ?

__________________
Peppe
http://www.peppedotnet.it


Posted by morf on 26-01-2003 21:05:

cioè creare l'array e riempire l'array sono due cose diverse.
a ogni indice dell'array metti un oggetto che ha un suo valore (differenziando cosi pedina e dama) e la sua posizione.
se l'array rimane vuoto la sua utilità non c'è :D
attenzione ad usare l'ereditarietà però ...

__________________
mail, msn and steam account: morf@email.it
my blog: http://melien.blogspot.com
my shots: http://mr-anf.deviantart.com


" ... fear is how I fall ... "


Posted by Rifinitore on 26-01-2003 21:17:

e per gli spazi vuoti ?

__________________
Peppe
http://www.peppedotnet.it


Posted by morf on 26-01-2003 21:38:

gli spazi vuoti non c'entrano, c'entrano con la classe Scacchiera
un array di 24 oggetti corrisponde a 12 pezzi bianchi e 12 neri
gli spazi vuoti non devono stare in questo array bensì nella gestione della scacchiera, no ?

__________________
mail, msn and steam account: morf@email.it
my blog: http://melien.blogspot.com
my shots: http://mr-anf.deviantart.com


" ... fear is how I fall ... "


Posted by Rifinitore on 26-01-2003 21:51:

giusto !
Ma allora questa array di 24 elementi non c'è bisogno di farlo bidimensionale !

__________________
Peppe
http://www.peppedotnet.it


Posted by morf on 27-01-2003 08:47:

effettivamente è vero
dopo riguardo il mio codice e vedo se l'ho fatto effettivamente bidimensionale
la cosa che poteva confondere era che, utilizzando coordinate x e y, veniva normale pensare ad array bidimensionali.
ma l'array bidimensionale va usato per la scacchiera e non per i pezzi :D

__________________
mail, msn and steam account: morf@email.it
my blog: http://melien.blogspot.com
my shots: http://mr-anf.deviantart.com


" ... fear is how I fall ... "


Posted by morf on 27-01-2003 09:57:

La professoressa Agostini, nella sezione calendario di webcen (http://webcen.usr.dsi.unimi.it/2002...calendario.html) ha scritto che gli argomenti del terzo compitino sono dalla lezione 22 alla lezione 28.
la lezione 28, nella seconda parte, tratta però della ricorsione, argomento che mi pare la stessa professoressa abbia a voce e poi nel riassunto del 22 escluso dagli argomenti del compitino.
conferme, smentite?

__________________
mail, msn and steam account: morf@email.it
my blog: http://melien.blogspot.com
my shots: http://mr-anf.deviantart.com


" ... fear is how I fall ... "


Posted by Rifinitore on 27-01-2003 10:25:

Da come ha detto nell'incontro di mercoledì scorso gli argomenti sono questi :

1) passaggio di classi come parametri
2) ereditarietà
- uso di super()
- uso di this e this()
- overriding
3) gestione delle eccezioni
- intercettazione
- header di un metodo che non intercetta
4) gestione file
- uso file binari (read o write) con apertura
- uso file testuali (read o write) con apertua
- classi e file ( overloading metodi di write o read)
- classe StringTokenizer (per leggere un file testuale che ha una stringa e un numero)
- classe file

Io della ricorsione non ne ho sentito neanche parlare !

__________________
Peppe
http://www.peppedotnet.it


Posted by morf on 27-01-2003 11:08:

si si quell'elenco ce l'ho pure io scritto sui miei appunti :D
era solo per sapere la vostra opinione :)
ok, ho sentito altri e hanno confermato che la ricorsione è esclusa.

__________________
mail, msn and steam account: morf@email.it
my blog: http://melien.blogspot.com
my shots: http://mr-anf.deviantart.com


" ... fear is how I fall ... "


Posted by Rifinitore on 27-01-2003 21:14:

Semmai riuscirò a scrivere l'array, come pensi di trattare le mosse morf ?

__________________
Peppe
http://www.peppedotnet.it


Posted by ^Angelus^ on 28-01-2003 08:22:

se si fa una matrice 8x8 un idea potrebbe essere metere una variabile di stato booleana, pezzoAttivo ad esempio, che è true se il pezzo è presente, e false se lo spazio è vuoto, poi per i movimenti basta cambiare i lo stato del pezzo.

okkio ad usare il polimorfismo. Per chi nn abbia ancora capito cosa sia, detto in poche parole:

alla variabile di tipo pezzo può essergli assegna una variabile di tipo pedina o di tipo dama in quanto pedina e dama sono figlie di pezzo. nn è vero l'incontrario. Quindi

Pezzo p = new Pezzo();
Pedina ped = new Pedina();
Dama dam = new Dama();

p = ped; // OK
p = dam; // Ok

ped = p; // KO
ped = dam; // KO pedina nn è padre di dama

segue questo ragionamente:
una pedina è un pezzo, ma un pezzo nn è necessariamente una pedina (infatti può essere anche una dama)

è possibile quindi fare così

Pezzo mat[][] = new Pedina[8][8];

__________________
Empty your mind, be formless, shapeless, like water. If you put water into a cup it became a cup, if you put water into a bottle it became a bottle, if you put into a teapot it became a teapot. Water can flow or can crush. Be water my friend.

Nessuna via come via. Nessun limite come limite

- Bruce Lee -


Posted by PuDDu on 28-01-2003 09:04:

Ciao a tutti, anche io mi sto cimentando in questo progetto (non ce la farò mai... :( ). Grazie alle vostre risposte però mi sto facendo un'idea e mi siete molto utili.

Ho trovato una cosa che potrebbe fungere da cleanscreen ma non sembra funzionare: il comando \f che dovrebbe fare una nuova pagina, ma a me non funziona. Ne sapete qualcosa?

__________________
ÞµÐе
Fatti non foste a viver come bruti ma per seguir virtute e canoscenza
]=-----=[ ¿ Need Contact ? ]=------=[
]=-----=[ ~ ICQ ‡‡ E-mail ~ ]=------=[
]=-----=[ ¥ My DeviantArt ¥ ]=------=[


Posted by morf on 28-01-2003 09:23:

per rif: ho controllato il mio codice e l'array di pezzi l'ho fatto monodimensionale ... se mai ho parlato di bidimensionalità probabilmente mi sono confuso con l'array della scacchiera :D
per le mosse stavo pensando di fare un bel po di if annidati, e SOLO se sono soddisfatti tutti il programma procede, altrimenti bisogna reintrodurre una mossa.
e poi angelus ha ragione a usare il polimorfismo ... per esempio io l'ho usato nel codice ma non lo sapevo nemmeno :D:D
ho inizializzato l'array così pure io.
c'è anche la gestione dei turni da fare :)

__________________
mail, msn and steam account: morf@email.it
my blog: http://melien.blogspot.com
my shots: http://mr-anf.deviantart.com


" ... fear is how I fall ... "


Posted by Rifinitore on 28-01-2003 09:39:

ok, ma se faccio immettere da tastiera una stringa di questo tipo : a1-b2 che sarebbe la mossa che l'utente vuole fare, come faccio a trasformare a1 in scacchiera[0][0] e b2 in scacchiera[1][1] e eseguire lo spostamento ?

__________________
Peppe
http://www.peppedotnet.it


Posted by morf on 28-01-2003 09:54:

eheh :D
io ho fatto una bella equazione ... c'ho lavorato su un po' perchè ho fatto una scacchiera un po' diversa :D (lol)
cmq dovresti usare l'apposito metodo .charAt(x) dove x è l'indice per la posizione del carattere che vai a leggere nella stringa.
sfrutti il carattere che prendi per farlo combaciare con gli indici dell'array di scacchiera ...
cioè, credo si faccia così ... però te l'ho detto, non sono sicuro :)!

__________________
mail, msn and steam account: morf@email.it
my blog: http://melien.blogspot.com
my shots: http://mr-anf.deviantart.com


" ... fear is how I fall ... "


Posted by ^Angelus^ on 28-01-2003 10:19:

scusa morf, fammi capire, tu hai usato un'array bidimensionale per la scacchiera poi un altro array per i pezzi?

__________________
Empty your mind, be formless, shapeless, like water. If you put water into a cup it became a cup, if you put water into a bottle it became a bottle, if you put into a teapot it became a teapot. Water can flow or can crush. Be water my friend.

Nessuna via come via. Nessun limite come limite

- Bruce Lee -


Posted by morf on 28-01-2003 10:26:

il programma si può tranquillamente fare con un solo array (quello della scacchiera), ma non credo che Malchiodi sarebbe d'accordo.
se si usasse solo un array (quello bidi della scacchiera) si potrebbero gestire tutte le mosse, gli output grafici, certo ... ma non si userebbe polimorfismo ereditarietà etc etc.
anche se ultimamente mi sono nate alcune idee che forse potrebbero farmi evitare l'array di pezzi ma usare lo stesso queste "buone regole di programmazione".
il fatto è che purtroppo non posso più stare dietro al progetto, perchè devo preparare info ma anche fisica quindi non posso più dedicarmici ora :(

__________________
mail, msn and steam account: morf@email.it
my blog: http://melien.blogspot.com
my shots: http://mr-anf.deviantart.com


" ... fear is how I fall ... "


Posted by DarkMaster on 28-01-2003 17:39:

Unhappy

qualcuno ha un idea di come costringere il gicatore a fare la mangiata che fa guadagnare più punti? io ho crepato tutti i muri di casa mia a testate ma non ci sono ancora riuscito...

ps: non so voi ma solo per controllare che un pedone possa mangiare in un determinato punto mi è uscita una funzione mostruosa...


Posted by joker402 on 28-01-2003 20:23:

Per quello x me devi dopo ogni mossa verificare tutti i pezzi del tuo colore e vedere che non abbiano nelle caselle adiacenti (qui devi differenziare i pezzi pedina e i pezzi dama) pezzi (differenziare anche qui per evitare che una dama mangi una pedina) dell'altro colore. Se ne ha memorizzi la mossa "obbligata" e verifichi se è uguale a quella inserita il turno dopo dal giocatore. Mi sembra che come discorso fili, ma magari non ho pensato a delle cose e si inceppa...boh. Cmq tradurre queste 10 righe in codice è un gran bordello...
Ciao!

__________________
Ogni uomo mente, ma dategli una maschera e sarà sincero.
~ joker402 ~


Posted by joker402 on 28-01-2003 20:25:

DOMANDA:
Malkiod ha detto qualcosa su come fare il MANUALE relativo al programma da consegnargli??
Come si deve fare e che si deve scrivere?!?
Grazie

__________________
Ogni uomo mente, ma dategli una maschera e sarà sincero.
~ joker402 ~


Posted by morf on 29-01-2003 09:59:

malchiodi ha specificato che il manuale non deve essere troppo lungo, due pagine sarebbe l'ideale.
nel manuale ha detto che non va specificato perchè avete chiamato così un metodo o una classe ... ha fatto capire che il manuale deve proprio spiegare come si usa il programma.
per esempio: "sarà richiesto all'utente di introdurre una mossa. una mossa consiste nell'associare coordinate di partenza bla bla bla il programma riconoscerà che ... bla bla"

__________________
mail, msn and steam account: morf@email.it
my blog: http://melien.blogspot.com
my shots: http://mr-anf.deviantart.com


" ... fear is how I fall ... "


Posted by joker402 on 29-01-2003 10:06:

ok, grazie!

__________________
Ogni uomo mente, ma dategli una maschera e sarà sincero.
~ joker402 ~


Posted by Rifinitore on 31-01-2003 21:30:

Allora, sono arrivato a questo punto e ho questo quesito :
Io nella classe scacchiera ho:
il costruttore
un metodo mossa
e un metodo stampa

nel costruttore ho inizializzato l'array e nel metodo stampa l'ho stampato, e nel metodo mossa registro la mossa scelta dall'utente e faccio in modo che la casella dove c'era la pedina diventi vuota e quella dove la pedina è destinata diventi piena (in poche parole), ma quando il programma esegue il metodo stampa, il metodo mossa è come se venisse ignorato !
Dove sbaglio?

__________________
Peppe
http://www.peppedotnet.it


Posted by morf on 01-02-2003 12:07:

è strano, credo che il codice l'avrai gia letto e riletto.
io l'ho fatto diversamente, e forse dovrei correggerlo, perchè i metodi di scacchiera li ho fatti statici.
guarda se nel metodo mossa modifichi effettivamente le variabili che servono per ridisegnare la scacchiera.
basta un piccolo errore di battitura e crei una variabile che poi non viene usata :D
anche se non credo che tu abbia fatto sto errore ...

__________________
mail, msn and steam account: morf@email.it
my blog: http://melien.blogspot.com
my shots: http://mr-anf.deviantart.com


" ... fear is how I fall ... "


Posted by DarkMaster on 01-02-2003 12:21:

scusate il dubbio, ma secondo voi è meglio mettere la x e la y in ogni pezzo e poi creare un array monodimensionale di 24 pezzi e quindi scorrerlo tutte le volte che devo sapere se un pezzo si trova in un determinato posto oppure.
Non mettere le x e le y nei pezzi e fare una matrice di puntatori a pezzi dove meto a null il puntatore quando la casella è vuota e invece metto il riferimento all'oggetto dove dovrebbe esserci il pezzo, ricavando così la posizione dalla matrice e non mettendo praticamente niente se non il colore nella classe Pezzo???


Posted by morf on 01-02-2003 12:27:

io ho fatto la prima
array di 24 oggetti
ogni oggetti, oltre ad avere il suo colore, ha anche x e y
mi sembra più buono dal punto di vista della buona programmazione
poi non fidatevi di me :D

__________________
mail, msn and steam account: morf@email.it
my blog: http://melien.blogspot.com
my shots: http://mr-anf.deviantart.com


" ... fear is how I fall ... "


Posted by karma on 01-02-2003 20:46:

Cool Finalmente!!!

:muhehe:

Finalmente riesco a inserirmi in sto thread!!
GRazie morf per avrmi risposto su icq!!!
da ora i messaggi li mando qui!

in effetti ho rivisto un po' quello che avevo fatto e non è così disastroso!
Ma ho ancora molto a scrivere!
se vi interessa sapere qualcosa o regalarmi qualche dritta su come avete implementato la mangiata dei pezzi! vi sarei grato!
ciaociao

__________________
Non è vero che i videogiochi condizionano i bambini! se così fosse dopo anni di pac-man passeremmo il tempo in locali semi-oscuri mangiando pillole colorate e ascoltando musica elettronica ripetitiva.


Posted by Rifinitore on 03-02-2003 21:22:

Allora, sono a questo punto :
l'utente inserisce la mossa, il mio metodo la processa e ristampa la scacchiera con la nuova mossa (quindi la pedina si è spostata), poi il secondo utente inserisce la propria mossa, il mio metodo la processa e ristampa la scacchiera. Solamente che viene mossa solo la pedina del secondo utente e quella che aveva precedentemento mosso il primo utente viene rimessa al punto di partenza !
Dove sbaglio ?
C'è un modo per salvare i cambiamenti avvenuti all'array ?

__________________
Peppe
http://www.peppedotnet.it


Posted by karma on 04-02-2003 09:03:

Cool mah

Si potrebbero usare 2 array di pedine dove memorizzare le posizioni, ammesso che l'oggetto pedina contenga la posizione della pedina.
pero non riesco a far funzionare la scacchiera! :?
quindi non so se sia giusto!

__________________
Non è vero che i videogiochi condizionano i bambini! se così fosse dopo anni di pac-man passeremmo il tempo in locali semi-oscuri mangiando pillole colorate e ascoltando musica elettronica ripetitiva.


Posted by kokorina on 05-02-2003 15:30:

io sono del primo turno perciò non devo farlo...ma visto che volevo esercitarmi e provare a fare la dama qualcuno che l'ha fatto via pm se ha voglia può mandarmi il programma? Così vedo se proprio non sarei stata neanche capace di iniziarlo oppure qualche ragno dal buco lo avrei cavato...
Grazie in anticipo
kokorina

__________________
ogni mattina in africa quando sorge il sole una gazzella muore, cioè si sveglia ed è già morta perchè non stava tanto bene il giorno prima
in africa ogni mattina quando sorge il sole un leone si sveglia, appena sveglio inizia a correre per non fare la fine della gazzella non importa se sei crotalo o pavone, l'importante è che se muori me lo dici prima

"il tu che conosci è l'io che sono"

in RINO veritas


Posted by joker402 on 06-02-2003 14:31:

joker402&luca:

Domanda :
E' possibile chiamare in una classe un metodo di un'altra classe su un oggetto generale(nel senso dell'oggetto che istanzio al momento es. tipo col this. per la stessa classe)???
Non è facilissimo da capire però....
Grazie

__________________
Ogni uomo mente, ma dategli una maschera e sarà sincero.
~ joker402 ~


Posted by morf on 06-02-2003 16:27:

non ho capito benissimo dalla tua spiegazione :D cmq ... vuoi usare il metodo esempio() appartenente alla classe B su un oggetto (usando this.) in una classe A ... e vuoi richiamare quell'esempio senza dovere istanziare altri oggetti?
se è così ... l'unico modo per non mandare in errore java è fare un bel A extends B :)

__________________
mail, msn and steam account: morf@email.it
my blog: http://melien.blogspot.com
my shots: http://mr-anf.deviantart.com


" ... fear is how I fall ... "


Posted by joker402 on 06-02-2003 16:34:

Joker&luca:
No allora io ho un metodo mossaValida() nella classe Pedina e uno nella classe Dama. In un altra classe Scacchiera devo chiamare questo metodo riferito all'oggetto che mi interessa cioè ad un astrazione di questi oggetti. Non so se riesco a spiegarmi...

__________________
Ogni uomo mente, ma dategli una maschera e sarà sincero.
~ joker402 ~


Posted by Giada on 07-02-2003 11:01:

Ciao a tutti ho un prob. con le classi astratte.... ora vi spiego:
ho la classe astratta Pezzo che contiene 2 metodi astratti sposta() e mangia() dichiarati così:
public abstract void mangia();
public abstract void sposta();
Prima domanda: in questa classe abstract posso dichiarare un array e utilizzarlo in tutte le sue classi figlie?
inoltre ho dichiarato una classe figlio che appunto estende Pezzo e in cui ho dichiarato i metodi sposta e mangia assegnandoli anche dei parametri... preciso stesso ritorno cioè void, ma quando compilo mi dice che la classe figlio deve essere abstract anche lei perchè uno dei due metodi non è stato definito ma non è vero!!! cosa ho sbagliato?


Posted by morf on 07-02-2003 12:08:

effettivamente la risposta di java, cioè rendere astratta la classe figlio perchè i metodi non sono definiti, è proprio l'errore principale in cui si può incappare usando l'astrazione.
Mh ... teoricamente, a quando dice Java, non hai definito i metodi ereditati, ma tu dici di averlo fatto.
Non saprei, controlla bene, perchè alla fine senza vedere il codice e fidandomi di te il tuo discorso fila ... pero il prog non va :D asdasd

per l'array non so ... io in java non sono molto buono ... credo di si, basta che definisci tutto dopo nelle classi figlie.
spero che qualcuno ti possa aiutare piu di me :)

__________________
mail, msn and steam account: morf@email.it
my blog: http://melien.blogspot.com
my shots: http://mr-anf.deviantart.com


" ... fear is how I fall ... "


Posted by Giada on 07-02-2003 13:29:

Questa è la classe Padre

public abstract class Pezzo
{
protected String nome;
private final int lato=8;
public Pezzo [] [] scach=new Pezzo [lato] [lato];
protected int iA,jA,iP,jP,iM,jM;

public Pezzo( String newNome)
{ nome =newNome;
}

public abstract void sposta ();

public abstract void mangia ();

}

Nella classe figlio ho fatto:
public class Pedina extends Pezzo
{
public void sposta (int newxP,int newyP,int newxA,int newyA){
......}
public void mangia (int newxP,int newyP,int newyA){
.......}
che ne pensi morf....?


Posted by aesse on 07-02-2003 13:37:

Il problema deriva dal fatto che tu effettivamente non hai sovrascritto i metodi, ma li hai semplicemente sovraccaricati.

Per ridefinire i metodi della classe padre, devi scrivere nella classe figlio dei metodi che accettano esattamente lo stesso tipo di parametri nello stesso ordine..ad esempio dovresti nella classe figilo scrivere due metodi sposta() e mangia() che non hanno parametri (come non li hanno nella classe padre)

Ciao :)


Posted by Giada on 07-02-2003 13:44:

o semplicemente metto dei parametri nella classe padre? ok o poi
non sono + abstract


Posted by Giada on 07-02-2003 13:47:

ok risolto! grazie ma se dichiaro un array nella classe padre abstract posso usarlo nei figli e nei vari "nipoti" sfruttando l'ereditarietà???


Posted by Giada on 07-02-2003 13:49:

Risolto errore di scrittura.... risolto tutto grazie ancora dell'auito


Posted by morf on 07-02-2003 17:00:

ma dai .. non ho fatto tempo a postare :D
cmq la risposta di aesse è perfetta :)
stavi sovraccaricando e non ridefinendo.
good luck :D

__________________
mail, msn and steam account: morf@email.it
my blog: http://melien.blogspot.com
my shots: http://mr-anf.deviantart.com


" ... fear is how I fall ... "


Posted by Bruzzanboy on 09-02-2003 16:47:

non ce la farò mai a fare questa dama!
mi sa che faccio il prossimo appello anke perchè se no devo rifare lo scritto...
c'è qualcuno che, DOPO LA CONSEGNA (così siete sicuri che non ve lo copio), mi può spedire il programma? almeno vedo come andava fatto, tanto al prossimo appello ci daranno un progetto simile e magari sarò capace di farlo...

grazie in anticipo

__________________
http://www.myspace.com/bruzzband
va che spacchiamo i culicchi!


Posted by ^Angelus^ on 18-02-2003 15:20:

Ragazzi come vi è andata? Io ci ho rinunciato per mancanza di tempo, e sopratutto, di mezzi (causa PC fuso). farò l'appello sucessivo. Voi che cosa siete riusciti a fare? Sapete gia qualche risultato??

__________________
Empty your mind, be formless, shapeless, like water. If you put water into a cup it became a cup, if you put water into a bottle it became a bottle, if you put into a teapot it became a teapot. Water can flow or can crush. Be water my friend.

Nessuna via come via. Nessun limite come limite

- Bruce Lee -


Posted by Rifinitore on 18-02-2003 16:11:

io ho consegnato, dopo mille camicie sudate, e malchiodi, dopo aver testato il programma facendo qualche mossa sbagliata, mi ha detto che potevo presentarmi all'orale. punto !

__________________
Peppe
http://www.peppedotnet.it


Posted by morf on 18-02-2003 19:55:

io stessa cosa di rif :)

__________________
mail, msn and steam account: morf@email.it
my blog: http://melien.blogspot.com
my shots: http://mr-anf.deviantart.com


" ... fear is how I fall ... "


Posted by Marcolino82 on 06-02-2004 12:44:

Ragazzi non è che qualcuno di voi che ha fatto il progetto della dama potrebbe passarmi cortesemente i sorgenti?
grazie mille a tutti!!!
Marcolino82


All times are GMT. The time now is 06:31.
Show all 79 posts from this thread on one page

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