Istituto Tecnico Industriale Don Orione Fano
Esame di Stato 2014-2015
Candidato: Alessandro Borione – Tesina: Pop-Up Card Duel
Pop-Up Card Duel
Realizzazione di un videogioco di carte in JAVA
Alessandro Borione
Istituto Tecnico Industriale Don Orione Fano
Esame di Stato 2014-2015
Candidato: Alessandro Borione – Tesina: Pop-Up Card Duel
L’evoluzione dei videogiochi
Fin dal secondo dopoguerra, i videogiochi si sono sviluppati e hanno iniziato ad
entrare a far parte della vita delle persone.
Chiunque ricorda le mascotte delle grandi case produttrici di videogiochi affermatesi
negli anni ‘80.
• Pac-Man (NAMCO)
• Super Mario (Nintendo)
• Sonic (SEGA)
Istituto Tecnico Industriale Don Orione Fano
Esame di Stato 2014-2015
Candidato: Alessandro Borione – Tesina: Pop-Up Card Duel
Il progetto
Lo scopo di questo progetto è realizzare un videogioco multiplayer online.
Lo sviluppo del progetto prevede l’utilizzo della seguente tecnologia informatica:
• Database MySQL
• JAVA
• PHP
Istituto Tecnico Industriale Don Orione Fano
Esame di Stato 2014-2015
Candidato: Alessandro Borione – Tesina: Pop-Up Card Duel
Realizzazione del DataBase
Il progetto prevede l’utilizzo di un database per la memorizzazione dei dati quali:
• Carte
• Giocatori
Schema logico database
• Mazzi
• Esiti dei duelli
Istituto Tecnico Industriale Don Orione Fano
Esame di Stato 2014-2015
Candidato: Alessandro Borione – Tesina: Pop-Up Card Duel
Trigger
Il DataBase è fornito di trigger, in modo che ogni volta che un nuovo giocatore si
registra, egli riceve 3 carte, che si aggiungono alla sua collezione e formano il suo
primo mazzo base.
Istituto Tecnico Industriale Don Orione Fano
Esame di Stato 2014-2015
Candidato: Alessandro Borione – Tesina: Pop-Up Card Duel
Classifica
La classifica settimanale è generata da una query che conta il numero di duelli che ogni
giocatore ha vinto durante l’ultima settimana, e ordina i giocatori in modo decrescente.
SELECT player, COUNT(gamewon) AS totalgamewon
FROM (
SELECT player1 AS player, COUNT(player1) AS gamewon
FROM ’duels’
WHERE result LIKE ’WIN1’ AND
duels.date >= (CURDATE() − INTERVAL 7 DAY)
GROUP BY player1
UNION ALL
SELECT player2 AS player, COUNT(player2) AS gamewon
FROM ’duels’
WHERE result LIKE ’WIN2’ AND
duels.date >= (CURDATE() − INTERVAL 7 DAY)
GROUP BY player2
) AS tmp1
GROUP BY player
ORDER BY totalgamewon DESC;
Istituto Tecnico Industriale Don Orione Fano
Esame di Stato 2014-2015
Candidato: Alessandro Borione – Tesina: Pop-Up Card Duel
Procedura di realizzazione
Dopo avere realizzato il database ed averlo correttamente popolato, è stato realizzato il
programma in JAVA, consistente in tre progetti con funzione di Client, Server e
libreria comune, ospitati sulla piattaforma online GitHub.
Istituto Tecnico Industriale Don Orione Fano
Esame di Stato 2014-2015
Candidato: Alessandro Borione – Tesina: Pop-Up Card Duel
Il Client
Il Client di gioco è stato realizzato in JAVA, e permette il login inserendo username e
password.
Dalla schermata che appare, è possibile avviare una nuova partita.
Istituto Tecnico Industriale Don Orione Fano
Esame di Stato 2014-2015
Candidato: Alessandro Borione – Tesina: Pop-Up Card Duel
Il Client
Per la creazione della finestra che permette la scelta del mazzo da utilizzare il battaglia, si è usato
un oggetto che eredita da JDialog; il costruttore crea la finestra e la rende visibile, mentre un
altro metodo si occupa di attendere fino a quando l’utente non ha selezionato il mazzo
desiderato, per poi ritornare il mazzo al menù principale.
Istituto Tecnico Industriale Don Orione Fano
Esame di Stato 2014-2015
Candidato: Alessandro Borione – Tesina: Pop-Up Card Duel
Il Server
Il Server è stato realizzato in interfaccia testuale. Esso rimane in ascolto sulla porta
31415, dalla quale si aspetta di ricevere richieste dal Client. Le principali richieste sono:
• REGISTER
• LOGIN
• LOGOUT
• START_BATTLE
Istituto Tecnico Industriale Don Orione Fano
Esame di Stato 2014-2015
Candidato: Alessandro Borione – Tesina: Pop-Up Card Duel
PHP
PHP è stato utilizzato unicamente per creare la descrizione delle carte raccogliendo
dati dal DataBase. È stata creata una pagina che prende in ingresso, tramite l’array
super-globale $_GET, l’id della carta di cui deve restituire la descrizione.
Ad esempio, raggiungendo la pagina 37.59.123.99/popup/cardDescription.php?card=6, è
possibile vedere la descrizione della carta con id = 6.
Istituto Tecnico Industriale Don Orione Fano
Esame di Stato 2014-2015
Candidato: Alessandro Borione – Tesina: Pop-Up Card Duel
Risultati
Il prodotto finale risulta ancora incompleto, infatti non è possibile portare avanti un
duello. Sono stati però realizzati i sistemi che permettono il login e il logout, la
registrazione di un nuovo account, e la richiesta di una nuova partita in singleplayer.
Si è inoltre pensato al procedimento da seguire nelle battaglie che saranno realizzate in
seguito.
Istituto Tecnico Industriale Don Orione Fano
Esame di Stato 2014-2015
Candidato: Alessandro Borione – Tesina: Pop-Up Card Duel
Conclusione e sviluppi futuri
Il sistema presentato in questa tesina è stato ampiamente testato, nonostante presenti
ancora diversi bug da risolvere.
Sviluppi futuri riguardano modifiche nell’algoritmo del login, per permettere un
accesso più sicuro, l’aggiunta di suoni e di un negozio in cui acquistare nuove carte.
Scarica

Istituto Tecnico Industriale Don Orione Fano