QR codes

81
QR codes και εφαρμογές

Transcript of QR codes

Page 1: QR codes

QR codes και εφαρμογές

Page 2: QR codes

Περιεχόμενα

•Τι είναι τα QR codes;

•Διαθέσιμες πλατφόρμες

•Διαθέσιμες εφαρμογές

•QRCode Game

2

Page 3: QR codes

Τι είναι τα QR Codes;

3

Page 4: QR codes

Τι είναι τα QR codes;

•Ονομάζονται και matrix barcodes / two-dimensional codes/ mobile barcodes

•Αρχικά χρησιμοποιήθηκαν για να ακολουθούν τμήματα από την παραγωγή οχημάτων.

•QR = Quick Response (επιτρέπουν αποκωδικοποίηση δεδομένων με υψηλή ταχύτητα)

•Ο κώδικας αποτελείται από μαύρες ψηφίδες τοποθετημένες σε ένα τετράγωνο άσπρο φόντο, το οποίο σκανάρεται από κινητό με κάμερα + σωστή εφαρμογή ανάγνωσης.

•Η εταιρία Denso Wave κατέχει τα δικαιώματα πατέντας αλλά προτίμησε να μη τα εξασκήσει. Δε χρειαζόμαστε άδεια χρήσης για τα QR codes.

•Τα QR codes υπόκεινται και καθορίζονται πλήρως από ISO standar.

•Κωδικοποιημένη πληροφορία: απλό κείμενο/ url/ contact information/ εικόνες/ άλλη πληροφορία

•Hardlink: QR codes που μεταφράζονται σε URLs

•Αναγνώσιμα από: QR scanners/ mobile with camera/ Smartphone

4

Page 5: QR codes

5

Μετάβαση από τα απλά barcodes στα QR Codes

5

Page 6: QR codes

6

Versions των QR codes

•Τα QR codes ποικίλουν από Version 1 έως Version 40.

•Κάθε version έχει διαφορετική διαμόρφωση των modules ή αριθμό modules.

•Το module αναφέρεται στις άσπρες και μαύρες κουκίδες που απαρτίζουν το QR code.

•Ενδεικτικά:

Version 1 (21 × 21 modules)

Version 40 (177 × 177 modules)

•Κάθε διαδοχική ανώτερη version περιλαμβάνει 4 επιπλέον modules σε κάθε πλευρά.

6

Page 7: QR codes

7 7

QR codes

Περιοχές των QR codes;

•Για να είναι ευανάγνωστο QR code από τα QR scanners πρέπει να πληρεί κάποιες προϋποθέσεις (όπως περιθώρια γύρω από το code).

7

Page 8: QR codes

Αποθήκευση, διόρθωση λαθών, Standards

•Πληροφορίες σχετικά με τη δυνατότητα αποθήκευσης δεδομένων:

•Error Correction: δυνατότητα ανάκτησης δεδομένων αν το code είναι κατεστραμμένο. 4 διαφορετικά επίπεδα διόρθωσης λαθών ανάλογα και με το περιβάλλον λειτουργίας (πχ εργοστάσια, εφημερίδα).

(+) προστασία από απώλεια δεδομένων

(-) αύξηση του μεγέθους του code

Τεχνική: Reed-Solomon Code

•Standard που καλύπτουν τη φυσική κωδικοποίηση των QR codes.

October 1997 — AIM International [5]

January 1999 — JIS X 0510

June 2000 — ISO/IEC 18004:2000

1 September 2006 — ISO/IEC 18004:2006

Αριθμητικά μόνο Max 7.089 χαρακτήρες

Αλφαριθμητικά Max 4.296 χαρακτήρες

Δυαδικά (8 bits) Max 2.953 bytes

Level L Περίπου 7%

Level Μ Περίπου 15%

Level Q Περίπου 25%

Level H Περίπου 30%

8

Page 9: QR codes

9 QR codes

Επιλογή μεγέθους των QR codes

Πώς αποφασίζουμε το μέγεθος του QR code;

9

Page 10: QR codes

Πλεονεκτήματα των QR codes;

1) Υψηλή χωρητικότητα κωδικοποίησης δεδομένων 2) Μικρό μέγεθος εκτύπωσης 3) Δυνατότητα κωδικοποίησης ιαπωνικών συμβολών (Kanji, Kana) 4) Ανοχή στη φθορά και στην ακαθαρσία 5) Αναγνώσιμα από οποιαδήποτε κατεύθυνση στις 360° 6) Χαρακτηριστικό προσαρτώμενων δομών

10

Page 11: QR codes

Μεγέθη, versions και επίπεδα διόρθωσης λαθών

Μέγεθος συμβόλου

21x21 – 177x177 modules

(το μέγεθος αυξάνεται κατά 4 modules/πλευρά)

Τύπος & Ποσότητα δεδομένων

(Ανάμεικτη χρήση είναι εφικτή.)

Αριθμητικά Μέγιστο 7089 χαρακτήρες

Αλφαριθμητικά Μέγιστο 4296 χαρακτήρες

8-bit bytes (δυαδικά) Μέγιστο 2953 χαρακτήρες

Kanji Μέγιστο 1817 χαρακτήρες

Διόρθωση λαθών

(ανάκτηση δεδομένων)

Επίπεδο L Αποθηκεύονται έως περίπου 7% codewords

Επίπεδο M Αποθηκεύονται έως περίπου 15% codewords

Επίπεδο Q Αποθηκεύονται έως περίπου 25% codewords

Επίπεδο H Αποθηκεύονται έως περίπου 30% codewords

Δομημένη προσάρτηση Μέγιστο 16 σύμβολα (εκτύπωση σε στενή περιοχή κ.ο.κ.)

11

Page 12: QR codes

12

Πλεονεκτήματα & Μειονεκτήματα

(+) Αποκωδικοποίηση υψηλής ταχύτητας και έύκολα

(+) Δε χρειάζεται να γράφουμε σημαντικές πληροφορίες με λεπτομέρεια. Ένα απλό σκανάρισμα μας δίνει τις απαραίτητες πληροφορίες.

(+) Συγκριτικά με τα barcodes, αποθηκεύουν δεδομένα σε πολύ μικρότερο χώρο.

(+) Επιτρέπουν ανάπτυξη εφαρμογών με ανωνυμία.

(-) Δε γνωρίζουν όλοι τί είναι τα QR codes.

(-) Δεν έχουν όλοι κινητό με κάμερα.

(-) Ακόμα και αρκετοί που έχουν κινητά τηλέφωνα με κάμερα δε μπορούν να βρουν λογισμικό για ανάγνωση των QR codes για τα κινητά τους. Μόνο τα Smartphones είναι τεχνικά εξοπλισμένα να αποκωδικοποιούν QR codes.

12

Page 13: QR codes

13

Παραλλαγές •Micro QR codes: μικρότερη έκδοση των QR codes για εφαρμογές που δε μπορούν να σκανάρουν μεγάλες εικόνες. (Αποθήκευση max 35 αριθμών)

•Design QR codes: έχουν την ικανότητα να αποθηκεύσουν εικόνα ή λογότυπο.

13

Page 14: QR codes

Διαθέσιμες πλατφόρμες

14

Page 15: QR codes

Διαθέσιμες πλατφόρμες

data QR Code

QR generators

QR readers (συνήθως ενσωματωμένοι σε κινητά τηλέφωνα.)

QR readers: •Smartphone •Blackberry •Android phones •Διαθέσιμοι QR readers για κινητά: •http://reader.kaywa.com/ με λίστα κινητών που υποστηρίζουν την εφαρμογή: http://reader.kaywa.com/phones

QR generators: •Υπάρχουν πολλές πλατφόρμες στο internet που επιτρέπουν τη δημιουργία και διαχείριση των QR codes. Ενδεικτικά: •http://qrcode.kaywa.com/ •http://keremerkan.net/qr-code-and-2d-code-generator/ •Πλήρης λίστα: http://2d-code.co.uk/qr-code-generators/

15

Page 16: QR codes

Διαθέσιμες πλατφόρμες

Μία δοκιμή με http://qrcode.kaywa.com/

16

Page 17: QR codes

Διαθέσιμες εφαρμογές

17

Page 18: QR codes

18 18

Διαθέσιμες Εφαρμογές

•QR codes στη διαδικασία παραγωγής: (εδώ πρωτοχρησιμοποιήθηκαν) Στην αυτοματοποιημένη βιομηχανία τα QR codes αποθηκεύουν στοιχεία του πελάτη, δεδομένα αποστολής, αριθμό προϊόντος, ποσότητα κτλ. Τα δεδομένα χρησιμοποιούνται για ταξινόμηση του προϊόντος και για σκανάρισμα.

•E-marketting, E-info: μηχανισμός tell-me-more. Δίπλα στο προϊόν δίνονται λίγες πληροφορίες. Τα διαθέσιμα QR codes δίπλα στο προϊόν δίνουν όλες τις συμπληρωματικές πληροφορίες.

•Ε-ticketing: όταν γίνει Online αγορά εισιτηρίων, ο χρήστης λαμβάνει QR code στο κινητό του, το οποίο σκανάρεται όταν πηγαίνει στο event.

(+) Εύκολη ανάκτηση αν γίνει κατά λάθος διαγραφή.

(+) Μόλις ο κωδικός σκαναριστεί στο μετρητή, χαρακτηρίζεται ως χρησιμοποιημένος.

•Έξυπνη διαφήμιση: Εδώ υπάρχει και η δυνατότητα του Dynamic QR code. To URL αποθηκεύεται στο βασικό Web Server και δεν ενσωματώνεται στο ίδιο το QR code. => To URL είναι δυναμικό και μπορεί να δείχνει σε διαδοχικές web pages, αποκαλύπτοντας λίγο λίγο στοιχεία της καμπάνιας.

18

Page 19: QR codes

Διαθέσιμες Εφαρμογές

•QR codes στην εκπαίδευση: links για συμπληρωματικές πληροφορίες. Επίσης θα ήτανε αποτελεσματικές αποθήκες γνώσεων και πληροφορίας στην επίλυση προβλημάτων όπως παιχνίδι ρόλων.

•QR codes και ATGs (Alternative Reality Games / εναλλασσόμενα πραγματικά παιχνίδια ): τα codes χρησιμοποιούνται για να κρύψουν στοιχεία από το εκτελούμενο παιχνίδι.

•QR codes στα τεστ: βεβαιώνουν για την ανωνυμία των μαθητών στη βαθμολόγηση.

•Εναλλακτικό paintball: Αντί για μπάλες με χρώμα, οι παίκτες φοράνε QR codes. Αντί για ρίψη μπάλας, έχουμε αποστολή μηνύματος στο κινητό τηλέφωνο του αντίπαλου ότι χτυπήθηκε.

•QR codes επισυναπτόμενα σε ιατρικές εξετάσεις ή δείγματα, αντί για όνομα, για λόγους εμπιστευτικότητας.

•QR codes για άνοιγμα forum και διαμοίραση ιδεών.

19

Page 20: QR codes

QR Code Game

20

Page 21: QR codes

Ορισμός παιχνιδιού • Το QR Code Game αποτελεί μία παραλλαγή του εξής παιχνιδιού: Σε ένα μεγάλο δωμάτιο

έχουμε διασκορπισμένα χαρτάκια με διάφορους πόντους. Οι παίκτες τα μαζεύουν οργανωμένοι είτε σε ομάδες είτε ατομικά. Στο τέλος του παιχνιδιού ο παίκτης ή η ομάδα που έχει συλλέξει τα περισσότερα ανακηρύσσεται νικητής / νικήτρια. Στην κλασσική έκδοση του παιχνιδιού, κάποιος πρέπει να αναλάβει την άθροιση των πόντων χειροκίνητα.

• Στο QR Code Game τα χαρτάκια αντικαθίστανται από QR Codes που σκανάρονται από κινητό εξοπλισμένο με κάμερα. Τα κινητά θα πρέπει να έχουν ενσωματωμένο QR code Reader, καθώς και σύνδεση στο internet. (Κάτι τέτοιο θα μπορούσε να γίνει εύκολα σε κινητά Android, Smartphone ή i-phone). Παρόμοια με την κλασική έκδοση, οι παίκτες θα μπορούσαν να είναι οργανωμένοι σε ομάδες είτε να παίζουν ατομικά. Οι πόντοι για κάθε παίκτη ή κάθε ομάδα συγκεντρώνονται σε μία βάση δεδομένων και από κει ανακηρύσσεται ο νικητής με τη λήξη του παιχνιδιού. Ο τερματισμός σηματοδοτείται με το πέρας κάποιου δεδομένου χρονικού διαστήματος είτε εάν έχουν συλλεχθεί όλα τα QR Codes είτε εάν ο συντονιστής διακόψει το παιχνίδι. Κάθε κωδικός έχει τη δυνατότητα να χρησιμοποιηθεί μόνο από ένα χρήστη μία φορά και μετά απενεργοποιείται, για να αποφευχθούν τα εξής σενάρια: 1) ένας παίκτης να σκανάρει συνέχεια τον ίδιο κωδικό και να συλλέγει περισσότερους πόντους, 2) δύο παίκτες να σκανάρουν τον ίδιο κωδικό.

• Να σημειωθεί ότι η χρήση του κινητού τηλεφώνου μπορεί να αντικατασταθεί από κάποιο υπολογιστή με κάμερα. Ο εξοπλισμός με κινητά ίσως να είναι αρκετά ακριβός ενώ σχεδόν όλα τα σχολεία σήμερα διαθέτουν ηλεκτρονικούς υπολογιστές και μία κάμερα είναι σχετικά φθηνή. 21

Page 22: QR codes

3 είδη χρηστών

• Γενικός διαχειρστής

• Συντονιστής

• Παίκτης

22

Page 23: QR codes

Γενικός διαχειριστής • Προσθήκη ερωτήσεων: καθορισμός βαθμού δυσκολίας, ηλικία για την οποία προορίζονται, καθορισμός

σωστής / αποδεκτής απάντησης, καθορισμός τομέα που αφορά η ερώτηση. • Αφαίρεση ερωτήσεων: Διαγραφή ερωτήσεων από το παιχνίδι που πιθανόν περιέχουν κάποιο λάθος ή

δεν ανήκουν ποια στην ύλη που διδάσκονται οι μαθητές. • Τροποποίηση ερωτήσεων: αλλαγή του βαθμού δυσκολίας, της ηλικίας για την οποία προορίζονται,

καθορισμός σωστής/ αποδεκτής απάντησης, αλλαγή τομέα που αφορά η ερώτηση. • Στατιστικά στοιχεία: προτιμήσεις των χρηστών αλλά και των συντονιστών, ποιες είναι οι επιδόσεις των

συμμετεχόντων συνολικά. • Σύνολο παικτών: παίκτες που είναι καταχωρημένοι στη Βάση Δεδομένων και οι επιδόσεις τους ατομικά.

Προβολή επίσης του πλήθους των παιχνιδιών στα οποία έχει συμμετάσχει ο κάθε παίκτης και των προτιμήσεών του.

• Προκαθορισμένες παρτίδες: παρτίδες που έχουν προκαθοριστεί αλλά δεν έχουν ακόμα ολοκληρωθεί. Ο γενικός διαχειριστής μπορεί να βλέπει ποιος είναι ο συντονιστής της παρτίδας, ποιοι οι συμμετέχοντες και ποιες ερωτήσεις έχουν επιλεγεί. Τέλος μπορεί να βλέπει την ώρα και μέρα διεξαγωγής της παρτίδας.

• Διαχείριση παλιών παρτίδων: διαγραφή παρτίδων που έχουν παιχθεί πριν από μεγάλο χρονικό διάστημα έτσι ώστε να μην έχουμε πρόβλημα χώρου με τη βάση δεδομένων.

• Διαχείριση παλιών χρηστών: διαγραφή χρηστών που δε χρειάζεται να είναι πλέον εγγεγραμμένοι στη βάση δεδομένων. Πρώτα γίνεται η προβολή των χρηστών και στη συνέχεια γίνεται η επιλογή των χρηστών που θέλουμε να διαγράψουμε.

• Επιβεβαίωση νέων συντονιστών: ο γενικός διαχειριστής εγκρίνει ένα νέο διαχειριστή δίνοντας του δικαιώματα προσθαφαίρεσης ερωτήσεων και εκκίνησης μίας νέας παρτίδας.

• Ενημέρωση βάσης δεδομένων: Προβολή των παρτίδων που έχουν ολοκληρωθεί αλλά δεν ανανεώθηκαν τα στατιστικά δεδομένα στη βάση και επιλογή ανανέωσης των στατιστικών. (Πρέπει να έχει απαντηθεί τουλάχιστον μία ερώτηση στο παιχνίδι για να γίνει η ανανέωση των στατιστικών.)

• Επεξεργασία προφίλ: αλλαγή e-mail ή/και κωδικού. • Έξοδος: Έξοδος από τον τρέχον λογαριασμό που έχει κάνει login.

23

Page 24: QR codes

Συντονιστής • Προσθήκη ερωτήσεων: καθορισμός βαθμού δυσκολίας, ηλικία για την οποία προορίζονται, καθορισμός σωστής/ αποδεκτής

απάντησης, καθορισμός τομέα που αφορά η ερώτηση.

• Αφαίρεση ερωτήσεων: Διαγραφή ερωτήσεων από το παιχνίδι που πιθανόν περιέχουν κάποιο λάθος ή δεν ανήκουν ποια στην ύλη που διδάσκονται οι μαθητές.

• Τροποποίηση ερωτήσεων: αλλαγή του βαθμού δυσκολίας, της ηλικίας για την οποία προορίζονται, καθορισμός σωστής / αποδεκτής απάντησης, αλλαγή τομέα που αφορά η ερώτηση.

• Στατιστικά στοιχεία: προτιμήσεις των χρηστών που έχουν συμμετάσχει στις παρτίδες του συγκεκριμένου συντονιστή, ποιες είναι οι επιδόσεις των συμμετεχόντων συνολικά και όσων έχουν συμμετάσχει σε παρτίδες του συγκεκριμένου συντονιστή.

• Σύνολο παικτών: παίκτες που είναι καταχωρημένοι στη Βάση Δεδομένων και έχουν συμμετάσχει σε κάποια από τις παρτίδες του συντονιστή. Από αυτούς ο συντονιστής έχει τη δυνατότητα να δει τις προτιμήσεις τους και τις επιδόσεις τους ατομικά, καθώς και το πλήθος των παιχνιδιών στα οποία έχει συμμετάσχει ο κάθε παίκτης.

• Προκαθορισμένες παρτίδες: παρτίδες που έχουν προκαθοριστεί αλλά δεν έχουν ακόμα ολοκληρωθεί. Ο συντονιστής μπορεί να βλέπει την ώρα και μέρα διεξαγωγής της παρτίδας.

• Νέα παρτίδα: α) Καθορισμός των παικτών που θα συμμετάσχουν στην παρτίδα. Η επιλογή τους για συμμετοχή σε μία νέα παρτίδα μπορεί να γίνει με διάφορα κριτήρια όπως οι προτιμήσεις των χρηστών ή η ηλικία των συμμετεχόντων. Οι παίκτες μπορεί να παίζουν ατομικά ή να είναι οργανωμένοι σε ομάδες. Αν ο συντονιστής επιλέξει να οργανώσει τους παίκτες σε ομάδες, το σύστημα χωρίζει τους παίκτες σε ομάδες τυχαία αναλόγως το πόσες ομάδες θέλει να έχει. β) Επιλογή των ερωτήσεων για την παρτίδα και εκτύπωση των αντίστοιχων QR Codes. Η επιλογή των ερωτήσεων μπορεί να γίνει επιλέγοντας μία ή περισσότερες κατηγορίες ερωτήσεων (μαθηματικά, ορθογραφία, εικαστικά, αγγλικά, …) και/ή επιλέγοντας κάποιες από τις ερωτήσεις που αντιστοιχούν στην κατηγορία, αναλόγως πάντα και με την ηλικία των συμμετεχόντων. γ) Καθορισμός της ημέρας και ώρας που θα διεξαχθεί το παιχνίδι και του χρονικού διαστήματος που αυτό θα διαρκέσει.

• Εξέλιξη παρτίδας: Πόσα QR Code υπάρχουν ακόμα ενεργά στο παιχνίδι και ποιος ο διαθέσιμος χρόνος για την ολοκλήρωση της παρτίδας. Μπορεί επίσης να επιλέξει να σταματήσει την παρτίδα (επιλέγοντας το πλήκτρο Stop), σε περίπτωση που οι συμμετέχοντες δεν επιθυμούν τη συνέχεια του παιχνιδιού. Επίσης βλέπει τον τρέχοντα νικητή ή την τρέχουσα νικήτρια ομάδα.

• Ακύρωση ή τροποποίηση της παρτίδας: Ο συντονιστής μπορεί να ακυρώνει τη διεξαγωγή μίας παρτίδας ή να τροποποιεί κάποια πεδία προσθαφαιρώντας συμμετέχοντες και ερωτήσεις και τροποποιώντας την ώρα διεξαγωγής της παρτίδας. Προϋπόθεση είναι η παρτίδα να μην έχει εκκινήσει.

• Ενημέρωση βάσης δεδομένων: Προβολή των παρτίδων που έχουν ολοκληρωθεί αλλά δεν ανανεώθηκαν τα στατιστικά δεδομένα στη βάση και επιλογή ανανέωσης των στατιστικών. (Πρέπει να έχει απαντηθεί τουλάχιστον μία ερώτηση στο παιχνίδι για να γίνει η ανανέωση των στατιστικών.)

• Επεξεργασία προφίλ: αλλαγή e-mail ή/και κωδικού.

• Έξοδος: Έξοδος από τον τρέχον λογαριασμό που έχει κάνει login.

24

Page 25: QR codes

Παίκτης • Εύρεση ενός νέου QR Code: απάντηση στην ερώτηση του code

και πιθανόν λήψη βοήθειας για την απάντηση. • Σκορ: Τρέχον σκορ ατομικό αν ο παίκτης παίζει μόνος του ή

ομαδικό αν οι παίκτες είναι οργανωμένοι σε ομάδες. • Διαθέσιμα QR Codes και Χρόνος: πόσα codes παραμένουν

ακόμα ενεργά στο παιχνίδι. • Ομάδα: αν οι παίκτες είναι οργανωμένοι σε ομάδες, ο παίκτης

θα μπορεί να δει τα μέλη της ομάδας του για την τρέχουσα παρτίδα.

• Νικητής: Προβολή του νικητή στην τελευταία ολοκληρωμένη παρτίδα στην οποία συμμετείχε ο παίκτης.

• Προτιμήσεις: εκδήλωση προτιμήσεων των χρηστών για μία παρτίδα, καταχώρηση σχολίων για ολοκληρωμένες παρτίδες.

• Επεξεργασία προφίλ: αλλαγή e-mail ή/και κωδικού. • Έξοδος: Έξοδος από τον τρέχον λογαριασμό που έχουν κάνει

login.

25

Page 26: QR codes

Βάση Δεδομένων 26

Page 27: QR codes

Αρχεία και η γενική δομή τους • Συνολικά το παιχνίδι αποτελείται από 44 βασικά αρχεία (περίπου ένα για κάθε

λειτουργία του παιχνιδιού) και κάποια επιπλέον για τη δημιουργία των QR Codes και για την υλοποίηση ημερολογίου.

• Η γενική δομή κάθε αρχείου είναι η εξής: Γίνεται έλεγχος της ύπαρξης του session. Αν το session υπάρχει ήδη, τότε γίνεται έλεγχος αν ο χρήστης είναι εξουσιοδοτημένος να επιτελέσει τη λειτουργία την οποία αιτείται. Αν ναι, εκτυπώνονται τα αποτελέσματα ή τα μηνύματα για αλληλεπίδραση με το παιχνίδι. Αλλιώς εκτυπώνεται μήνυμα ότι ο χρήστης δεν είναι εξουσιοδοτημένος για αυτή την ενέργεια και του ζητείται να επιλέξει μία άλλη ενέργεια από το μενού του. Έτσι ο γενικός διαχειριστής δε μπορεί να επιτελέσει μία ενέργεια που ανήκει αποκλειστικά στο συντονιστή ή σε κάποιο παίκτη. Ο παραπάνω έλεγχος επιτυγχάνεται με την ύπαρξη του session. To session αποθηκεύει μέσα του τις εξής πληροφορίες: το όνομα του χρήστη και το είδος του χρήστη (γενικός διαχειριστής, συντονιστής και παίκτης). Αν το session δεν υπάρχει, τότε ο χρήστης οδηγείται στην αρχική σελίδα του παιχνιδιού για να κάνει login.

• Για λόγους καλύτερης δόμησης του κώδικα, έχει επιλεγεί το μεγαλύτερο μέρος της κάθε λειτουργίας (αν όχι όλο) να βρίσκεται σε ένα μόνο αρχείο, έτσι ώστε να γίνονται πάντα έλεγχοι αν χρειάζεται να συμπληρωθεί μία φόρμα, αν έχει συμπληρωθεί σωστά. Ένας ακόμη λόγος για αυτή την επιλογή υπήρξε, το γεγονός ότι σε περίπτωση αποστολής στοιχείων για καταχώρηση στη ΒΔ, δε θέλουμε ποτέ να αποθηκεύουμε NULL τιμές. Τα αρχεία τμηματοποιήθηκαν σε περισσότερα αρχεία σε περιπτώσεις που απαιτείται Ajax.

27

Page 28: QR codes

Δημιουργία των QR Codes και πληροφορίες που φέρει καθένα από αυτά

• Τα QR Codes δημιουργούνται όταν ορίζεται μία νέα παρτίδα και τοποθετούνται στο φάκελο με όνομα /qrFolder. Διαγράφονται και καταστρέφονται όταν μία παρτίδα ακυρωθεί ή διαγραφεί για λόγους βιωσιμότητας του συστήματος. Η διαγραφή επιτυγχάνεται με την εντολή “unlink($qrcode);”.

• Η πληροφορία που φέρει μέσα του κωδικοποιημένη κάθε QR Code είναι της μορφής “http://200.100.1.8/QRCodeGame/findcode.php?gameid=6&id=9” όπου “200.100.1.8/QRCodeGame” είναι το link του παιχνιδιού.

• Αν θέλουμε να εκτελεστεί το παιχνίδι σε κάποιον άλλο χώρο, απλά πρέπει να αλλάξουμε αυτή την πληροφορία.

• Στη συνέχεια το “findcode.php” αντιστοιχεί στο όνομα του αρχείου που ελέγχει αν η ερώτηση υπάρχει και αντιστοιχεί στο συγκεκριμένο παιχνίδι και τέλος “?gameid=6&id=9” είναι οι παράμετροι που περνιούνται σαν όρισμα και θα αναγνωστούν με τη μέθοδο GET από το αρχείο findcode.php έτσι ώστε να προβληθεί η σωστή ερώτηση στον παίκτη για να μπορέσει να απαντήσει. Όπως φαίνεται, διαβάζεται το id του παιχνιδιού για να εξακριβωθεί ότι το παιχνίδι βρίσκεται σε εξέλιξη και σε συνδυασμό με το session να εξακριβωθεί ότι ο παίκτης συμμετέχει ή όχι σε αυτό και το id της ερώτησης για αν μπορέσει να προβληθεί.

28

Page 29: QR codes

Δημιουργία των QR Codes και πληροφορίες που φέρει καθένα από αυτά

Στο παιχνίδι το QR Code δημιουργείται με την εντολή “QRcode::png($qrcode, $name, 'L', 4, 2);”. Τα διαδοχικά ορίσματα της εντολής είναι: • $qrcode: αντιστοιχεί στην πληροφορία που κωδικοποιείται. Εδώ για id

παιχνιδιού 6 και για id ερώτησης 9 κωδικοποιείται η πληροφορία http://200.100.1.8/QRCodeGame/findcode.php?gameid=6&id=9

• $name: αντιστοιχεί στο όνομα του αρχείου που θα παραχθεί και σε ποιο φάκελο θα αποθηκευτεί. Στο παιχνίδι επιλέγεται η εξής μορφή ονόματος "qrFolder/$gameid_$questionid.png”.

• Το επόμενο όρισμα αντιστοιχεί στο επίπεδο διόρθωσης λαθών του QR Code που θα παραχθεί. Εδώ για τις ανάγκες του παιχνιδιού έχει επιλεγεί μέγεθος συμβόλου L καθώς το παιχνίδι προορίζεται για λειτουργία σε ένα χώρο που τα χαρτιά δε θα φθείρονται ούτε υπάρχει η απαίτηση να διατηρούνται για αρκετό καιρό μετά την ολοκλήρωση του παιχνιδιού.

• Το επόμενο όρισμα αντιστοιχεί στο μέγεθος του QR Code που θα παραχθεί. Εδώ για τις ανάγκες του παιχνιδιού έχει επιλεγεί μέγεθος συμβόλου 4.

29

Page 30: QR codes

Δημιουργία των QR Codes και πληροφορίες που φέρει καθένα από αυτά

• Να σημειωθεί ότι ο κώδικας για τη δημιουργία των QR Codes που συμπεριλαμβάνεται στο παιχνίδι βρέθηκε στην ηλεκτρονική διεύθυνση http://phpqrcode.sourceforge.net/#demo όπου υπάρχει και διατίθεται η ελεύθερη άδεια χρήσης του κώδικα. Τα σχετικά αρχεία είναι γραμμένα σε php και δεν απαιτείται να γίνει κάποιο είδος επιπλέον εγκατάστασης για να δουλέψει σωστά ο κώδικας. Η βασική εντολή για τη δημιουργία των QR Codes που πρέπει να συμπεριληφθεί στο αρχείο που θα δημιουργήσει τα QR Codes είναι η “QRcode::png($qrcode, $name, $ECL, $size, 2);” η οποία θα μπορούσε να παραμετροποιηθεί με χρήση JavaScript. Στην περίπτωση μας κάτι τέτοιο δεν είναι αναγκαίο καθώς όλα τα QR Codes παράγονται με τις ίδιες συνθήκες επιπέδου διόρθωσης λαθών και μεγέθους. Σε κάθε περίπτωση πρέπει διαφοροποιείται το όνομα του QR Code και η πληροφορία που αυτό φέρει.

30

Page 31: QR codes

index.php

Πρώτη σελίδα όταν ένας χρήστης μπαίνει στον παιχνίδι. Καλείται να συμπληρώσει τα στοιχεία του στη φόρμα, αν έχει ήδη λογαριασμό, αλλιώς πρέπει να επιλέξει Sign Up που βρίσκεται στα αριστερά του οριζοντίου μενού.

31

Page 32: QR codes

index.php

Αρχική σελίδα και μενού σε χρήστη με την ιδιότητα του γενικού διαχειριστή.

32

Page 33: QR codes

index.php

Αρχική σελίδα και μενού σε χρήστη με την ιδιότητα του συντονιστή.

33

Page 34: QR codes

index.php

Αρχική σελίδα και μενού σε χρήστη με την ιδιότητα του παίκτη.

34

Page 35: QR codes

index.php

35

Page 36: QR codes

rules.php

Κανόνες που προβάλλονται για έναν απλό παίκτη.

36

Page 37: QR codes

requirements.php

Ελάχιστες απαιτήσεις συστήματος για να λειτουργεί σωστά το παιχνίδι.

37

Page 38: QR codes

signup.php

Σενάριο εκτέλεσης για τη λειτουργία sign up, όπου το username “fokatsar” χρησιμοποιείται ήδη από κάποιον άλλο χρήστη. Η αναζήτηση στη ΒΔ για το αν το username χρησιμοποιείται ήδη γίνεται κάθε φορά που ο χρήστης πληκτρολογεί ένα χαρακτήρα και αφού έχει τυπώσει ήδη 3 χαρακτήρες.

38

Page 39: QR codes

profile.php

Επεξεργασία προφίλ. Γίνεται έλεγχος με JavaScript ότι οι φόρμες έχουν συμπληρωθεί. 39

Page 40: QR codes

exit.php

• Έξοδος από το παιχνίδι και καταστροφή του session.

• Η έξοδος του χρήστη επιτυγχάνεται επιλέγοντας «Έξοδος» από το οριζόντιο μενού

40

Page 41: QR codes

Αρχεία για το γενικό διαχειριστή

41

Page 42: QR codes

statisticsgd.php

Φάση 1 του αρχείου statisticsgd όπου ο γενικός διαχειριστής καλείται να επιλέξει την παρτίδα της οποία θέλει να προβάλει τα στατιστικά.

42

Page 43: QR codes

statisticsgd.php

Φάση 2 του αρχείου statisticsgd όπου ο γενικός διαχειριστής βλέπει τις ερωτήσεις που επιλέχθηκαν και τους παίκτες που συμμετείχαν στη συγκεκριμένη παρτίδα.

43

Page 44: QR codes

playersgd.php

Προβολή των παικτών βάσει ηλικίας από το αρχείο playersgd.php. Από αυτόυς επιλέγεται κάποιος για προβολή των αναλυτικών στατιστικών του.

44

Page 45: QR codes

playersgd.php

Προβολή της καρτέλας βαθμολογίας για ένα παίκτη το αρχείο playersgd.php

45

Page 46: QR codes

gamesgd.php

Προβολή των προκαθορισμένων παρτίδων από οποιοδήποτε συντονιστή βάσει του αρχείου gamesgd.php.

46

Page 47: QR codes

gamesgd.php

Προβολή των αναλυτικών στοιχείων μίας προκαθορισμένης παρτίδας βάσει του αρχείου gamesgd.php.

47

Page 48: QR codes

oldgames.php

Προβολή των παρτίδων που μπορούν να διαγραφούν από το αρχείο oldgames.php.

48

Page 49: QR codes

oldgames.php

Έχει επιλεγεί η διαγραφή της παρτίδας με id 3 Και με την επιλογή του πλήκτρου «Υποβολή» , όπως φαίνεται στην προηγούμενη εικόνα, εκτυπώνεται μήνυμα επιτυχούς διαγραφής της παρτίδας.

49

Page 50: QR codes

oldplayers.php

Προβολή όλων των χρηστών με ιδιότητα παίκτης ή συντονιστής από το αρχείο oldplayers.php

50

Page 51: QR codes

oldplayers.php

Έστω ότι από τους προηγούμενους χρήστες επιλέξαμε τη διαγραφή δύο συντονιστών με usernames nipapad και sokr. στην εικόνα φαίνονται τα αντίστοιχα μηνύματα που εκτυπώνονται.

51

Page 52: QR codes

submitsun.php

Προβολή των συντονιστών που δεν έχουν λάβει ακόμα έγκριση από το γενικό διαχειριστή από το αρχείο submitsun.php.

52

Page 53: QR codes

submitsun.php

Από τους παραπάνω συντονιστές επιλέχθηκαν οι συντονιστές με username nipapad και kyriaz, οι οποίοι εγκρίθηκαν, δημιουργώντας έτσι και τους αντίστοιχους πίνακες με όνομα το username του κάθε συντονιστή και παραχώρηση δικαιωμάτων δημιουργίας νέων παρτίδων, προσθαφαίρεσης και τροποποίησης ερωτήσεων.

53

Page 54: QR codes

Αρχεία για το συντονιστή

54

Page 55: QR codes

statisticssun.php

Δείχνει τα στατιστικά στοιχεία για όλες τις παρτίδες που έχουν ολοκληρωθεί για το συγκεκριμένο συντονιστή. Μοιάζει με το αρχείο statisticsgd.php αλλά ένας συντονιστής μπορεί να προβάλλει μόνο παιχνίδια τα οποία έχει συντονίσει ο ίδιος.

playerssun.php

Δείχνει τα στατιστικά στοιχεία για τους χρήστες που έχουν δημιουργήσει λογαριασμό στο παιχνίδι και έχουν συμμετάσχει σε κάποια παρτίδα του συγκεκριμένου συντονιστή.

55

Page 56: QR codes

gamessun.php

Προβολή των προκαθορισμένων παρτίδων από οποιοδήποτε συντονιστή βάσει του αρχείου gamessun.php. Ο συντονιστής έχει δικαίωμα να επιλέξει για ανάλυση μόνο παρτίδες που συντονίζει ο ίδιος. Στο συγκεκριμένο παράδειγμα είμαστε συνδεδεμένοι ως pamikrom.

56

Page 57: QR codes

gamessun.php

Προβολή των αναλυτικών στοιχείων μίας προκαθορισμένης παρτίδας βάσει του αρχείου gamessun.php. Να σημειωθεί ότι εδώ προβάλλονται και τα QR Codes που έχουν δημιουργηθεί για την παρτίδα και μπορούν να τυπωθούν.

57

Page 58: QR codes

newgame.php Χρησιμοποιήθηκε έτοιμος κώδικας http://www.triconsole.com/php/calendar_datepicker.php για ενσωμάτωση ημερολογίου και http://phpqrcode.sourceforge.net/index.php#demo για τη δημιουργία των QR Codes.

Για να λειτουργήσει σωστά το παιχνίδι σε ένα άλλο δίκτυο, πρέπει να αλλαχθεί η γραμμή 593 του αρχείου που περιέχει την εντολή: “$qrcode = '200.100.1.8/QRCodeGame/findcode.php?gameid='.$id.'&id='.$qarray[$i]; “ Αντί του “200.100.1.8/QRCodeGame” πρέπει να τοποθετηθεί το domain του εκάστοτε server που θα φιλοξενεί το παιχνίδι. Είναι η πιο αργή λειτουργία του συστήματος.

58

Page 59: QR codes

newgame.php

Αρχικά η φόρμα είναι κενή όπως προβάλλεται βάσει του αρχείου newgame.php.

59

Page 60: QR codes

newgame.php

Έχοντας επιλέξει τους παίκτες που θα συμμετάσχουν στην παρτίδα, τις ερωτήσεις που θα συμπεριληφθούν και την ημέρα και ώρα διεξαγωγής της παρτίδας.

60

Page 61: QR codes

newgame.php

Έχοντας επιλέξει όλους τους παίκτες που θα συμμετάσχουν στην παρτίδα και τις ερωτήσεις που θα συμπεριληφθούν (αν δηλαδή δεν αποσταλεί κενή φόρμα, οπότε και η διαδικασία της επιλογής πρέπει να επαναληφθεί), θα δημιουργηθούν οι αντίστοιχοι πίνακες για τους παίκτες και για τις ερωτήσεις και θα δημιουργηθεί η εγγραφή στον πίνακα games. Επίσης θα δημιουργηθούν και τα QR codes και θα καταχωρηθούν στο σωστό φάκελο.

61

Page 62: QR codes

modifygame.php

Με το αρχείο modifygame.php, αρχικά προβάλλονται όλες οι παρτίδες που συντονίζει ο συντονιστής. Από αυτές έχει τη δυνατότητα να επιλέξει ποια θα τροποποιήσει ή θα διαγράψει αν το επιθυμεί.

62

Page 63: QR codes

modifygame.php

Επιλέγοντας διαγραφή της παρτίδας, εκτυπώνεται το παραπάνω μήνυμα.

63

Page 64: QR codes

modifygame.php

Φόρμα για τροποποίηση μίας προκαθορισμένης παρτίδας.

64

Page 65: QR codes

progress.php

Φαίνεται η εξέλιξη της παρτίδας που εκτελείται αυτή τη χρονική στιγμή από το αρχείο progress.php.

65

Page 66: QR codes

Αρχεία για το γενικό διαχειριστή & το συντονιστή

66

Page 67: QR codes

addq.php

Φόρμα για την καταχώρηση μίας νέας ερώτησης στο παιχνίδι. Αν μία ερώτηση επιλεγεί ως ερώτηση επιλογής πρέπει οι δυνατές απαντήσεις - επιλογές να χωρίζονται με {id}.

67

Page 68: QR codes

modifyq.php

Προβολή όλων των ερωτήσεων που είναι καταχωρημένες στο παιχνίδι. Ο συντονιστής καλείται να επιλέξει ποια ερώτηση θέλει να τροποποιήσει.

68

Page 69: QR codes

modifyq.php

Επιλογή ερώτησης για τροποποίηση. Φαίνονται τα πεδία της ερώτησης που μπορούν να τροποποιηθούν.

69

Page 70: QR codes

deleteq.php

Φόρμα επιλογής των ερωτήσεων που θέλει να διαγράψει ο χρήστης.

70

Page 71: QR codes

deleteq.php

Στο προηγούμενο βήμα επιλέχθηκαν προς διαγραφή οι ερωτήσεις με id 51 και 53. Οι ερωτήσεις με αυτά τα id έχουν διαγραφεί.

71

Page 72: QR codes

updatedb.php

Μέρος από την ανανέωση που εκτελείται για ολοκληρωμένες παρτίδες από το αρχείο updatedb.php. Βλέπουμε ότι στην παρτίδα με id 6 που ναι μεν έχει ολοκληρωθεί, αλλά δεν έχει απαντηθεί καμία ερώτηση, τα στατιστικά δεν ανανεώθηκαν. Σε αντίθεση η παρτίδα με id 7 ανανεώνεται κανονικά.

72

Page 73: QR codes

Αρχεία για τους παίκτες

73

Page 74: QR codes

findcode.php

Τρόπος εμφάνισης μίας ερώτησης όχι πολλαπλής επιλογής που επιτρέπει και τη λήψη βοήθειας.

74

Page 75: QR codes

findcode.php

Ο παίκτης απάντησε σωστά στην παραπάνω ερώτηση και κερδίζει τους σχετικούς πόντους.

Τρόπος εμφάνισης μίας ερώτησης πολλαπλής επιλογής.

75

Page 76: QR codes

score.php

Προβολή του τρέχοντος σκορ της ομάδας στην οποία συμμετέχει ο παίκτης.

76

Page 77: QR codes

remain.php

Προβολή χρόνου και διαθέσιμων QR Codes ακόμα στο παιχνίδι για έναν απλό παίκτη.

77

Page 78: QR codes

team.php

Προβολή των μελών της ομάδας του παίκτη, μιας και το εκτελούμενο παιχνίδι είναι ομαδικό.

78

Page 79: QR codes

winner.php

Η τελευταία παρτίδα στην οποία συμμετείχε ο παίκτης ήτανε οργανωμένη σε ομάδες. Στη εικόνα φαίνεται η νικήτρια ομάδα καθώς και η μέρα και ώρα διεξαγωγής της παρτίδας.

79

Page 80: QR codes

preferences.php

Προβολή της φόρμας για την εκδήλωση προτιμήσεων χρήστη. Επιλέγοντας υποβολή, οι προτιμήσεις ανανεώνονται στη ΒΔ.

80

Page 81: QR codes

Τέλος παρουσίασης

Ευχαριστώ!

81