dc.contributor.advisor | Alepis, Efthimios | |
dc.contributor.advisor | Αλέπης, Ευθύμιος | |
dc.contributor.author | Dokouzis, Iason - Dimitrios | |
dc.contributor.author | Ντοκούζης, Ιάσων - Δημήτριος | |
dc.date.accessioned | 2024-09-18T09:50:34Z | |
dc.date.available | 2024-09-18T09:50:34Z | |
dc.date.issued | 2024-09 | |
dc.identifier.uri | https://dione.lib.unipi.gr/xmlui/handle/unipi/16752 | |
dc.identifier.uri | http://dx.doi.org/10.26267/unipi_dione/4174 | |
dc.description.abstract | Ο σκοπός αυτής της δημοσίευσης ήταν η δημιουργία ενός παιχνιδιού ερωταπαντήσεων, το οποίο θα επέτρεπε παίχτες σε ολόκληρο τον κόσμο να συνδεθούν, να περάσουν μέσα από quiz και να απαντάνε μαζί σε ερωτήσεις. Η απάντηση του κάθε παίχτη σε κάθε κουίζ έπρεπε να καταγραφόταν και να αποθηκευόταν σε έναν χώρο αποθήκευσης και οι παίχτες έπρεπε να έχουν την ικανότητα να δουν στατιστικά δεδομένα για τον εαυτό τους, ή και να δούνε παγκόσμια στατιστικά δεδομένα.
Η σημασία του Αντικειμενοστραφούς Προγραμματισμού κατά τη δημιουργία, συντήρηση ή επέκταση εφαρμογών θα εξηγηθεί πρώτα. Θα περιγραφούν προσεγγίσεις που μπορούν να ληφθούν υπόψη, καθώς και προοπτικές που πρέπει να εξεταστούν. Τέλος, θα εξηγηθούν πρακτικές που έχουν δημιουργηθεί από τον συγγραφέα με σκοπό τη συγγραφή καλά οργανωμένου κώδικα. Τα παραπάνω θέματα θα παρουσιαστούν στον αναγνώστη μέσω παραδειγματικών εφαρμογών, που έχουν δημιουργηθεί από τον συγγραφέα για τις ανάγκες αυτής της εργασίας. Οι παραδειγματικές εφαρμογές είναι εφαρμογές κονσόλας χωρίς στοιχεία διεπαφής χρήστη, με σκοπό την εμφάνιση και την εστίαση στη λογική της εφαρμογής και όχι στη διεπαφή χρήστη (UI) της.
Οι βασικές αρχές του σχεδιασμού γραφικών εφαρμογών με το Jetpack Compose θα εξηγηθούν στο επόμενο κεφάλαιο. Το Jetpack Compose επιτρέπει στους προγραμματιστές ή σχεδιαστές να αναπτύσσουν γραφικές διεπαφές για κινητές εφαρμογές με υψηλό βαθμό ελευθερίας, ταχύτητας και με ελάχιστο αριθμό σφαλμάτων. Το Jetpack Compose είναι ένα εργαλείο που προσφέρει έναν εντελώς νέο τρόπο για την ανάπτυξη σύγχρονων γραφικών διεπαφών χρήστη και επιτρέπει τη χρήση των τελευταίων τεχνολογιών. Οι βασικές αρχές της δημιουργίας διατάξεων, των τροποποιητών (Modifiers) και η σημασία της σειράς με την οποία εφαρμόζονται θα εξηγηθούν με παραδείγματα και εικόνες που ελπίζουμε να προσφέρουν στον αναγνώστη βαθιά κατανόηση αυτού του εργαλείου.
Το τελευταίο κεφάλαιο θα εξηγήσει τη δομή της εφαρμογής, τις κλάσεις της και το πώς συνδέονται, καθώς και τα δύο διαφορετικά εκτελέσιμα αρχεία που χρησιμοποιούνται για την παροχή της λειτουργικότητας εκτέλεσης. Θα εξηγηθούν προβλήματα σχεδίασης που βρέθηκαν και οι λύσεις που δόθηκαν για αυτά τα προβλήματα. Μέχρι το τέλος του κεφαλαίου, ο αναγνώστης θα έχει μια ολοκληρωμένη κατανόηση της γενικής δομής της εφαρμογής. | el |
dc.format.extent | 43 | el |
dc.language.iso | en | el |
dc.publisher | Πανεπιστήμιο Πειραιώς | el |
dc.title | Development of a prototype of a mobile quiz game using cutting-edge tools and practices | el |
dc.title.alternative | Εφαρμογή σύγχρονων εργαλείων και πρακτικών για τη δημιουργία ενός πρωτότυπου παιχνιδιού ερωταπαντήσεων | el |
dc.type | Master Thesis | el |
dc.contributor.department | Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών. Τμήμα Πληροφορικής | el |
dc.description.abstractEN | The purpose of this publication was to create a quiz game that would allow players from around the world to connect, go through quizzes and answer questions together. The answers would be graded by the application. Every player’s answer to every quiz needed to be recorded and stored in a storage space and players would have the ability to view statistical data about themselves, as well as worldwide statistical data.
The importance of Object-Oriented programming when creating, maintaining or expanding applications will be explained first. Approaches that can be taken into account, as well as perspectives that should be considered will be described. Finally, practices that have been created by the author for the purpose of writing well-organized code will be explained. The above aspects will be shown to the reader through example applications, created by the author for the purposes of this paper. The example applications are console applications without UI elements, in order to display and focus on the logic of the application, rather than its User Interface.
The basics of designing graphical applications with Jetpack Compose, will be explained in the next chapter. Jetpack Compose allows programmers or designers to develop user interfaces for mobile applications with a high degree of freedom, speed and with a minimal amount of bugs. Jetpack Compose is a toolkit that provides an entirely new way to develop modern graphical User Interfaces and it allows for the latest technologies to be used. The basics of layout creation, modifiers and the importance of the order in which they are applied will be explained with examples and images that will hopefully provide a deep understanding of the toolkit to the reader.
The last chapter will explain the structure of the application, its classes and how they are connected and the two different executables that are used to provide the runtime functionality. Design problems that were found and the solutions that were given for these problems will be explained. By the end of the chapter, the reader will have a comprehensive understanding of the general structure of the application. | el |
dc.contributor.master | Προηγμένα Συστήματα Πληροφορικής - Ανάπτυξη Λογισμικού και Τεχνητής Νοημοσύνης | el |
dc.subject.keyword | Jetpack Compose | el |
dc.subject.keyword | OOP | el |
dc.subject.keyword | Object-Oriented Programming | el |
dc.subject.keyword | Mobile application | el |
dc.subject.keyword | Class structure | el |
dc.subject.keyword | Quiz game | el |
dc.subject.keyword | User interface | el |
dc.subject.keyword | TCP | el |
dc.subject.keyword | UDP | el |
dc.subject.keyword | Transmission Control Protocol | el |
dc.subject.keyword | User Datagram Protocol | el |
dc.subject.keyword | Server synchronization | el |
dc.subject.keyword | Peer-to-peer | el |
dc.subject.keyword | Dedicated server | el |
dc.subject.keyword | Listen server | el |
dc.subject.keyword | Host migration | el |
dc.subject.keyword | Modifier | el |
dc.date.defense | 2024-09-13 | |