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.