Forum Informatica Unict

LAUREA TRIENNALE (D.M. 270/04) => Programmazione 1, 9 CFU => Topic started by: gedyz on 23-05-2011, 09:40:00



Title: 4° Prova
Post by: gedyz on 23-05-2011, 09:40:00
Ragazzi,
chi di voi ha il TacTix come quarta prova?
La strategia da usare per far giocare il pc è assurda...
qualcuno ha qualche idea...?
Naturalmente chi non ha il TacTix può buttare giù una qualunque soluzione... XD
Accetto tutto... ^_^

TacTix regole:
Campo da gioco 4x4...
Si possono prendere da 1 a 4 pedine...
O in senso X o in senso Y...
NON in diagonale e non si possono combinare i 2 sensi, se si inizia in X non posso prendere in Y...

o o o o
o o o o
o o o o
o o o o    CAMPO DA GIOCO


o o o o
o o o x
o o o o
o o o o    Mossa1(pedina8)


o o o o
o o o x
x o o o
x o o o    Mossa2(pedina9 - pedina13)


o x o o
o x o x
x x o o
x o o o    Mossa3(pedina2 - pedina6 - pedina10)


o x x x
o x o x
x x o o
x o o o    Mossa4(pedina3 - pedina4)


così via fin quando non rimane una sola pedina...
PERDE chi prende l'ULTIMA pedina...


Title: Re:4° Prova
Post by: mozart on 23-05-2011, 19:52:34
Io avevo TacTix, l'ho consegnato qualche settimana fa, la mia logica era divisa in tre parti molto semplici che se implementate bene portano il computer ha vincere in ogni caso, questa strategia vale solo se la prima mossa la fa l'umano:

1- controlla se si possono applicare dei casi base che portano alla vittoria

es.
oooo
oooo
ooox
xxxx

questo è un caso base perchè se il computer leva l'ultima riga l'umano ha sicuramente perso.

2- controlla se si può effettuare una mossa che sia l'inverso simmetricamente di quella dell'umano

es.

se la mossa dell'umano è

xxoo
oooo
oooo
oooo

(la prima e la seconda pedina)

la mossa del computer sarà

oooo
oooo
oooo
xxoo

3- effettua una mossa casuale estraendo la pedina da eliminare con una random.

spero di essere stato chiaro.



Title: Re:4° Prova
Post by: gedyz on 24-05-2011, 09:20:18
hai un pezzo di codice...
cmq sei stato chiaro...
tranne la visualizzazione delle pedine XD
hai usato i miei simboli, ma la contrario...XD


Title: Re:4° Prova
Post by: Seppho on 25-05-2011, 11:14:39
Ma scusate per l'Off topic, il progetto da consegnare consiste nel disegnare il diagramma UML di tutto il progetto, oppure il codice sorgente? In quest'ultimo caso, bisogna implementare anche un'interfaccia grafica?


Title: Re:4° Prova
Post by: mozart on 25-05-2011, 12:41:22
Ma scusate per l'Off topic, il progetto da consegnare consiste nel disegnare il diagramma UML di tutto il progetto, oppure il codice sorgente? In quest'ultimo caso, bisogna implementare anche un'interfaccia grafica?

Entrambi... devi consegnare il programma funzionante che permetta al prof. di giocare (possibilmente senza che escano fuori errori) e un grafico UML (anche cartaceo va bene) in modo che possa vedere com'è strutturato il programma.
L'interfaccia grafica è facoltativa, se la sai fare bene, altrimenti va bene lo stesso.


Title: Re:4° Prova
Post by: mozart on 25-05-2011, 12:45:01
hai un pezzo di codice...
cmq sei stato chiaro...
tranne la visualizzazione delle pedine XD
hai usato i miei simboli, ma la contrario...XD
Se vuoi ti faccio fare una partita a lezione... il codice è personale!!!


Title: Re:4° Prova
Post by: StephCT on 27-05-2011, 20:40:08
Ma scusate per l'Off topic, il progetto da consegnare consiste nel disegnare il diagramma UML di tutto il progetto, oppure il codice sorgente? In quest'ultimo caso, bisogna implementare anche un'interfaccia grafica?

Entrambi... devi consegnare il programma funzionante che permetta al prof. di giocare (possibilmente senza che escano fuori errori) e un grafico UML (anche cartaceo va bene) in modo che possa vedere com'è strutturato il programma.
L'interfaccia grafica è facoltativa, se la sai fare bene, altrimenti va bene lo stesso.

mozart se ti può interessare, x toglierti i dubbi, ho sentito gente che ha usato la JOptionPane, altri la GUI, altri la semplice System.out per un pò tutti i livelli di progetto....
io personalmente ho scelto la JOptionPane perchè la System.out mi dava fastidio per provare a giocare con Halma e xkè è l'unico espediente grafico che ci è stato spiegato nel corso di Prog.1.
cmq invece io chiedo se l'uml deve essere il semplice schema delle classi oppure bisogna inserire i commenti per tutti i metodi implementati, spiegando a voce come funzionano un pò tutti?


Title: Re:4° Prova
Post by: mozart on 27-05-2011, 22:17:07
Nel mio caso è bastato un semplice UML con tutte le classi del programma (ogni classe completa di metodi e attributi), non credo che ci sia bisogno di commentarlo, il prof. quando gli  consegni il progetto da prima un'occhiata all'UML facendoti delle domande su di esso(niente di particolare), e poi ti chiede come hai implementato l' IA.
A mio parere un progetto che ha una buona IA che permetta al computer di vincere con l'umano e che non da errori in esecuzione,  può lottare per i  tre punti massimi della prova.


Title: Re:4° Prova
Post by: StephCT on 28-05-2011, 12:43:12
a me basta che funzioni, mi basta anche un punto solo xD
grazie dell'info sull'uml :)