Εφαρμογή Διαχείρισης Αγώνων Ταεκβοντο

[#][το κείμενο βρίσκεται σε κατάσταση ενημέρωσης σε τακτά χρονικά διαστήματα
Τελευταία ενημέρωση: 09/11/2011]

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


Για οποιαδήποτε απορία, ενημέρωση, παρατήρηση θέλετε να μας πείτε, μπορείτε να να μας αποστείλετε μήνυμα στην ηλεκτρονική μας διεύθυνση:



ή μπορείτε να γράψετε κάποιο σχόλιο (δείτε στο τέλος της ανάρτησης)


Η βασική ιδέα είναι να δημιουργηθεί ένα σύστημα διαχείρισης των αγώνων ταεκβοντο "κομμένο και ραμμένο" στις παραμέτρους που χαρακτηρίζουν μια διοργάνωση αγώνων. Ο σκοπός του είναι να βοηθήσει τους διοργανωτές σε όλη την διαχείριση των επιμέρους διαδικασιών που απαιτούνται για την άψογη (οργανωτικά και σχεδιαστικά) εκτέλεση αγώνων.

Υπάρχουν 3 βασικές κατηγορίες αγώνων: 
1) Φιλικοί αγώνες
2) Πρωταθλήματα (Kyorugi) και 
3) Τεχνικοί αγώνες (Poomsae).

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

Ας αναλύσουμε τις παραμέτρους της 1ης κατηγορίας, για να εντοπίσουμε τις δυσκολίες και τις λεπτομέρειες μιας τέτοιου είδους διοργάνωσης.

ΦΙΛΙΚΟΙ ΑΓΩΝΕΣ:

1) Ως Φιλικοί Αγώνων ορίζονται οι αγώνες εκείνοι που διοργανώνονται με την συμμετοχή συλλόγων (σχετικά μικρού αριθμού), μια διασυλλογική διοργάνωση με την συμμετοχή μικρών αθλητών. Για την ακρίβεια οι αθλητές και οι αθλήτριες που συμμετέχουν είναι σχετικά μικρής ηλικίας και δεν έχουν ακόμα την εμπειρία των κανονικών αγώνων. Με την διοργάνωση τέτοιου είδους αγώνων θέλουμε να έρθουν σε μια πρώτη επαφή οι αθλητές με όλο το σκηνικό και την διαδικασία των κανονικών αγώνων.

2) Οι αγώνες γίνονται με προσαρμοζόμενες κατηγορίες και οι αθλητές θέλουμε να "παίξουν" από 2 τουλάχιστον αγώνες ο καθένας.

3) Δεν καταγράφεται το σκορ, ούτε και υπάρχουν νικητές και ηττημένοι. Όλοι οι αθλητές παίρνουν μετάλλιο και έπαινο συμμετοχής.

4) Τα τερέν είναι πιο απλά διαμορφωμένα με έναν κεντρικό διαιτητή, έναν γραμματέα (όχι απαραίτητα, χρειάζεται όμως κάποιος να κρατάει το χρονόμετρο), με θέσεις για τους δυο προπονητές και συνήθως με τις ίδιες διαστάσεις στο ταπί (8x8μέτρα αγωνιστικός χώρος, το τερέν).

5) Η διάρκεια και ο αριθμός των γύρων του αγώνα είναι μικρότερης διάρκειας (πχ. 2 γύροι από 1 με 1,5 λεπτό ο κάθε ένας και με 30 δευτ. διάλειμμα)

Βασική παράμετρος και δυσκολία για την οργάνωση αυτών των αγώνων είναι οι προσαρμοζόμενες κατηγορίες. Στην δημιουργία των κατηγοριών λαμβάνονται υπόψιν οι εξής παράμετροι:

α) Φύλλο (Άρρεν/Θήλυ). 
Πάντα αγωνίζονται ξεχωριστά και ποτέ μεταξύ τους.

β) Ηλικία (το Έτος γέννησης). Γίνονται συνήθως μικρές ομαδοποιήσεις ανά 2 χρόνια, πχ. 2001 και 2002 να αγωνιστούν μαζί κτλ.

γ) Κιλά (Ζυγισμένα κιλά). 
Δεν υπάρχουν στάνταρ κατηγορίες από~εώς όπως γίνεται με τις στάνταρ κατηγορίες στα Π/Κ, Ε/Ν και Α/Γ. Οι κατηγορίες των κιλών διαμορφώνονται από τα διαφορετικά κιλά που θα προκύψουν από τις συμμετοχές και γίνεται σε δεύτερο χρόνο μια ομαδοποίηση τους, πχ. ανά τρία κιλά μια ομάδα, 30 και 31 και 32 κιλά θα αγωνιστούν μεταξύ τους ως μια ομάδα-κατηγορία.

δ) Ζώνη (KUP/DAN). 
Από τις συμμετοχές προκύπτουν οι διαφορετικές ζώνες που έχουν οι αθλητές, και γίνεται ομαδοποίηση, συνήθως μπαίνουν το 10ο KUP έως και 7ο KUP μια ομάδα, 6ο KUP έως και 3ο KUP μια άλλη ομάδα και 2ο KUP έως και 2ο DAN μια τρίτη ομάδα.

ε) Επίπεδο (Αγωνιστικής ικανότητας). 
Οι κατηγορίες σε αυτή την παράμετρο χωρίζονται σε Α,Β,Γ,Δ,Ε,Ζ έως και Κ δηλαδή 1ο, 2ο, 3ο, 4ο, 5ο, 6ο έως και 10ο επίπεδο. Η διαβάθμιση των επιπέδων είναι μια κλίμακα που έχει τους εξής τίτλους: Πολύ καλός, Καλός, Αρκετά Καλός, Πάνω από το Μέτριο, Μέτριος, Κάτω από το Μέτριο, Πάνω από Αρχάριος, Αρχάριος, Κάτω από Αρχάριος κτλ. Αυτή είναι και η μόνη παράμετρος που καθορίζεται από τον δάσκαλο του αθλητή, είναι ένα είδος βαθμονόμησης της Αγωνιστικής Ικανότητας του μικρού αθλητή που βγαίνει από την συνολική εικόνα που έχει ο δάσκαλος για τον μικρό αθλητή του σε σχέση με το πως θα μπορούσε να σταθεί ο αθλητής του αγωνιστικά μέσα στο τερέν.

Μια πρώτη δυσκολία στην οργάνωση των αθλητών/αθλητριών σε κατηγορίες είναι το ότι ΔΕΝ υπάρχουν στάνταρ κατηγορίες και δεν υπάρχουν γιατί οι κατηγορίες θα προκύψουν από τις ίδιες τις συμμετοχές και το ποιες θα είναι οι συνολικές παράμετροι από τα 5 στοιχεία που προαναφέραμε.

Η εφαρμογή, μετά την εισαγωγή όλων των στοιχείων από τις δηλώσεις συμμετοχών των αθλητών/αθλητριών των συλλόγων (δες προς το τέλος του κειμένου) που θα συμμετέχουν στην διοργάνωση, αναλαμβάνει να διεκπεραιώσει διαδραστικά (σε 6 βήματα, με την επέμβαση και αρωγή του χρήστη) όλες τις διαδικασίες που απαιτούνται για την τελική παραγωγή των pull των αγώνων.

1ο ΒΗΜΑ) Καθορισμός των κατηγοριών και ομαδοποιήσεις κατηγοριών από τις συμμετοχές.
Με αυτόματο τρόπο η εφαρμογή καθορίζει ποιες είναι οι διάφορες κατηγορίες που προκύπτουν από τις συμμετοχές. Δηλ. Σύνολο Αθλητών, Σύνολο Αθλητριών, πόσες και ποιες κατηγορίες έχουμε για μια παράμετρο από τις 5 παραμέτρους σε ξεχωριστές λίστες για κάθε μια παράμετρο και σε μοναδικές εμφανίσεις τους μαζί με τον αριθμό των αθλητών και αθλητριών που βρέθηκαν για την κάθε παράμετρο. 

Πχ.

Έχουμε 154 Αθλητές και 52 Αθλήτριες συνολικά

Βρέθηκαν στο Έτος Γέννησης 9 διαφορετικές κατηγορίες:
Α/Α Έτος (από~έως) Α  Θ
1   1998 ~ 1998    1  6
2   1999 ~ 1999    3  3
3   2000 ~ 2000   21 21
4   2001 ~ 2001   23  5
5   2002 ~ 2002   31 13
6   2003 ~ 2003   25  6
7   2004 ~ 2004   26  5
8   2005 ~ 2005   22  2
9   2006 ~ 2006    2  0

Βρέθηκαν στα Κιλά (Ζυγισμένα κιλά και όχι στάνταρ κατηγορίες) 43 διαφορετικές κατηγορίες:
Α/Α Κιλά (από~έως) Α Θ
1   17 ~ 17        1 0
2   19 ~ 19        1 0
3   20 ~ 20        1 0
4   21 ~ 21        4 1
5   22 ~ 22        1 2
6   23 ~ 23        6 1
... ... ...        ...
40  60 ~ 60        1 0
41  63 ~ 63        1 1
42  65 ~ 65        1 0
43  70 ~ 70        1 0

Βρέθηκαν στις Ζώνες 10 διαφορετικές κατηγορίες:
Α/Α Ζώνη (από~έως)   Α  Θ
1   8o KUP ~ 8o KUP  22  7
2   7o KUP ~ 7o KUP  26  7
3   6o KUP ~ 6o KUP  16  3
4   5o KUP ~ 5o KUP   9  5
5   4o KUP ~ 4o KUP  14  5
6   3o KUP ~ 3o KUP  23  5
7   2o KUP ~ 2o KUP  17  3
8   1o KUP ~ 1o KUP  16  7
9   1o DAN ~ 1o DAN   9 13
10  2o DAN ~ 2o DAN   2  0

Βρέθηκαν στα Επίπεδα 4 διαφορετικές κατηγορίες:
Α/Α Επίπεδο (από~έως) Α  Θ
1   Α~Α              16 13
2   Β~Β              36 14
3   Γ~Γ              67 16
4   Δ~Δ              35 9

Σύνολο διαφορετικών συλλόγων: 7
Σύνολο Αθλητών/Αθλητριών, Συμμετοχές: 206

Από αυτές της κατηγορίες και ως πρώτο βήμα που πρέπει να γίνει από την μεριά του χρήστη είναι, η ομαδοποίηση σε ευρύτερες κατηγορίες αυτών των κατηγοριών που βρέθηκαν (μιας και οι κατηγορίες αυτές είναι στην στενότερη δυνατή κλίμακα δηλ. Ανά ένα έτος, ανά ένα κιλό, ανά μία ζώνη και ανά ένα επίπεδο). 
Με την βοήθεια των συνόλων αθλητών και αθλητριών που υπάρχουν για την κάθε κατηγορία, ο χρήστης επιλέγει ανά δυο κατηγορίες για να κάνει τις ομαδοποιήσεις. Μια πιο ευρύτερη ομαδοποίηση των παραπάνω κατηγοριών θα μπορούσε να είναι πχ. αυτή:

Ομαδοποίηση των κατηγοριών στο Έτος γέννησης, σε 4 κατηγορίες :
Α/Α Έτος (από~έως) Α  Θ
1   1998 ~ 1999    4  9
2   2000 ~ 2002   75 30
3   2003 ~ 2004   51 11
4   2005 ~ 2006   24  2

Ομαδοποίηση των κατηγοριών στα Κιλά, σε 10 κατηγορίες :
Α/Α Κιλά (από~έως) Α  Θ
1   17 ~ 21        7  1
2   22 ~ 26       32 10
3   27 ~ 31       36  7
4   32 ~ 36       17  8
5   37 ~ 41       26 12
6   42 ~ 46       15 10
7   47 ~ 51        7  1
8   52 ~ 56        8  1
9   58 ~ 63        4  2
10  65 ~ 70        2  0

Ομαδοποίηση των κατηγοριών στις Ζώνες, σε 3 κατηγορίες :
Α/Α Ζώνη (από~έως)   Α  Θ
1   8o KUP ~ 7o KUP  48 11
2   6o KUP ~ 3o KUP  62 18
3   2o KUP ~ 2o DAN  44 23

Στις κατηγορίες με το Επίπεδο συνήθως δεν κάνουμε ομαδοποιήσεις (εκτός αν έχουμε πολλά και αναλυτικά επίπεδα), οπότε οι κατηγορίες μας παραμένουν όπως ήταν:
Βρέθηκαν στα Επίπεδα, 4 διαφορετικές κατηγορίες:
Α/Α Επίπεδο (από~έως) Α  Θ
1   Α~Α              16 13
2   Β~Β              36 14
3   Γ~Γ              67 16
4   Δ~Δ              35  9

Τώρα και πάλι με αυτόματο τρόπο η εφαρμογή μπορεί να παράγει καταστάσεις (λίστες) με τις τελικές συνδυαστικές κατηγορίες που προκύπτουν από τις ανά παράμετρο κατηγορίες. Δηλαδή, κάθε αθλητής και αθλήτρια έχει έναν συνδυασμό των 5 διαφορετικών παραμέτρων και των κατηγοριών που έχει η κάθε μια παράμετρος, η εφαρμογή βρίσκει όλους τους μοναδικούς συνδυασμούς που υπάρχουν και φτιάχνει μια λίστα για τους Α και μια ξεχωριστή λίστα για τις Θ με όλους αυτούς τους μοναδικούς συνδυασμούς κατηγοριών. Η διαδικασία παραγωγής βασίζεται πάνω στα στοιχεία που έχει ο κάθε αθλητής και αθλήτρια και στις ομαδοποιημένες κατηγορίες που φτιάξαμε προηγουμένως.

Εκτός από τις λίστες η εφαρμογή δίνει και μια αναφορά με το τι βρήκε:
Στους Α βρήκε Σύνολο 81 συνδυαστικές κατηγορίες:
1[ 50] 2[ 11] 3[ 11] 4[ 4] 5[ 1] 6[ 1] 7[ 2] 8[ 1] 9[ 0] 10[ 0] >10[ 0]

Στις Θ βρήκε σύνολο 41 συνδυαστικές κατηγορίες:
1[ 34] 2[ 3] 3[ 4] 4[ 0] 5[ 0] 6[ 0] 7[ 0] 8[ 0] 9[ 0] 10[ 0] >10[ 0]

Ο αριθμός πριν από κάθε [ είναι ο αριθμός των συμμετοχών δηλ. το 1[ σημαίνει συνδυαστική κατηγορία με 1 (μια) συμμετοχή, ενώ ο αριθμός που υπάρχει μέσα στα [ και ] είναι ο αριθμός των συμμετοχών που βρήκε που έχουν συνδυαστική κατηγορία με 1 αθλητή ή αθλήτρια. Δηλαδή στους Α έχουμε 50 (διαφορετικές συνδυαστικές κατηγορίες) που έχουν μόνο 1 (μια) συμμετοχή, 11 με 2 συμμετοχές, 11 με 3 συμμετοχές, κτλ.

Βλέπουμε πως παρόλο που έχουμε ομαδοποιήσει τις αρχικές κατηγορίες μας, προκύπτουν και πάλι πάρα πολλές κατηγορίες με λίγες συμμετοχές, η κάθε μία τους (σημείωση: προσπαθούμε να φτιάξουμε τέτοιες κατηγορίες έτσι ώστε να έχουμε από 3 συμμετοχές και πάνω για να μπορέσουν οι συμμετέχοντες να κάνουν από 2 αγώνες τουλάχιστον ο κάθε ένας. Ο αριθμός των αγώνων για μια κατηγορία από 3 συμμετοχές και πάνω είναι ίσος με τον αριθμό των συμμετοχών δηλ. με 3 αθλητές θα γίνουν 3 αγώνες, από 2 αθλητές που έχει κάθε αγώνας μας κάνει 6 αθλητές δηλ. οι τρεις αθλητές θα κάνουν από 2 αγώνες ο καθένας). 
Το βήμα αυτό ολοκληρώνεται με την επιλογή της αυτόματης παραγωγής από την εφαρμογή της λίστας POOL(A).

Αν καταλήξουμε πως δεν γίνεται κάποια άλλη ομαδοποίηση σε κάποια από τις κατηγορίες των παραμέτρων μας, τότε θα πάμε στο επόμενο βήμα που είναι η “χειρωνακτική” ομαδοποίηση των κατηγοριών σε groups.



2ο ΒΗΜΑ) Σε αυτό το δεύτερο βήμα έχουμε την δυνατότητα να φτιάξουμε εμείς τα groups με τις κατηγορίες που θέλουμε από τις μοναδικές συνδυαστικές κατηγορίες (ΜΣΚ) που βρέθηκαν από την εφαρμογή. 
Εμφανίζεται η λίστα με τους αθλητές ή τις αθλήτριες ξεχωριστά (μιας και δεν υπάρχει η περίπτωση να βάλουμε σε κάποιον αγώνα Α και Θ να αγωνιστούν μαζί) εμφανίζονται μόνο οι αθλητές ή οι αθλήτριες της τρέχουσας επιλεγμένης ΜΣΚ, η αντίστοιχη Α ή Θ λίστα με όλες τις ΜΣΚ (εμφανίζεται η λίστα για τους Α και είναι ήδη επιλεγμένη η 1η), η λίστα με τα groups (κενή στην αρχή μιας και δεν έχουμε φτιάξει κάποιο group ακόμα) και η λίστα με τους Α ή Θ που υπάγονται στο τρέχον επιλεγμένο group (κενή γιατί δεν υπάρχει ακόμα κάποιο group) καθώς και η λίστα με τις ΜΣΚ που περιέχονται στο τρέχον επιλεγμένο group (κενή και αυτή αφού δεν υπάρχει ακόμα κάποιο group για να έχει και ΜΣΚ).
Οι διαδικασίες που υπάρχουν σε αυτό βήμα και μπορώ να εκτελέσω είναι (επιγραμματικά):
  • Μεταφορά μιας μοναδικής συνδυαστικής κατηγορίας (ΜΣΚ) σε νέο group (φτιάχνεται αυτόματα ένα νέο group και αποδίδεται όλη η ΜΣΚ σε αυτό), η ΜΣΚ διαγράφεται από την λίστα με τις ΜΣΚ αφού πλέον ανήκει σε κάποιο group. Υπάρχει και το ανάποδο δηλ. διαμελισμός ενός group στην ή στις ΜΣΚ που περιέχει και διαγραφή του group, η/οι ΜΣΚ του group επαναγράφονται στην λίστα με τις ΜΣΚ αφού πλέον δεν ανήκουν σε κάποιο group)

  • Μεταφορά μιας ΜΣΚ σε ένα υπάρχον group, η ΜΣΚ αποδίδεται στο επιλεγμένο group και διαγράφεται από την λίστα των ΜΣΚ. Υπάρχει και το ανάποδο δηλ. αποδέσμευση μια ΜΣΚ από ένα group, η ΜΣΚ φεύγει από το group (αν είναι και η μόνη ΜΣΚ που είχε το group, τότε το group διαγράφεται αυτόματα) και η ΜΣΚ ξαναγράφεται πίσω στην λίστα με τις ΜΣΚ.
Με αυτές τις διαδικασίες μπορούμε να “ομαδοποιήσουμε” κατά το δοκούν και όπως θέλουμε τις διάφορες ΜΣΚ που υπάρχουν. Βασική αρχή είναι να μπορέσουμε να ομαδοποιήσουμε τις ΜΣΚ με 1 ή 2 συμμετοχές, έτσι ώστε να καταλήξουμε σε groups με ΜΣΚ που θα έχουν από 3 συμμετοχές και πάνω. 
Συνήθως τις ΜΣΚ που έχουν από 3 συμμετοχές πάνω ήδη τις φτιάχνουμε αμέσως και σε ξεχωριστό group την κάθε μια (υπάρχει και η σχετική δυνατότητα να γίνει αυτό από την εφαρμογή αυτόματα και συνήθως γίνεται μια φορά για τους Α και μια μια φορά για τους Θ στην αρχή, για να μας μείνουν μόνο οι ΜΣΚ με 1 ή 2 συμμετοχές για να τις ομαδοποιήσουμε στην συνέχεια είτε σε κάποιο group που θα υπάρχει ήδη είτε σε ένα group που θα φτιάξουμε εμείς για αυτό το σκοπό ώστε να ομαδοποιήσουμε τέτοιες ΜΣΚ). 
Οι κανόνες ομαδοποίησης πλέον είναι στο “χέρι” και στην κρίση του χρήστη, η εφαρμογή δεν απαγορεύει να γίνει οποιαδήποτε ομαδοποίηση, γιαυτό θα πρέπει να προσέχουμε τις ακραίες ομαδοποιήσεις πχ. να βάλουμε στο ίδιο group μια κατηγορία με 50 κιλά μαζί με μια κατηγορία με 70 κιλά, αν τυχόν κάνουμε κάτι τέτοιο θα βρεθούμε να γίνει αγώνας ανάμεσα σε δυο αθλητές που θα έχουν μεταξύ τους 20 κιλά διαφορά στο βάρος τους!!!

Η διαδικασία ολοκληρώνεται μόνο όταν όλες οι ΜΣΚ και από τους Α και από τις Θ έχουν μπει σε κάποιο group (οπότε οι λίστες με τις ΜΣΚ θα αδειάσουν) και όλα τα group που έχουν προκύψει είναι με 3 συμμετοχές και πάνω το κάθε ένα. 
Επιλέγουμε (αν είναι όλα εντάξει) να γίνει η παραγωγή από την εφαρμογή αυτόματα της λίστας POOL(B) που είναι και το τελικό POOL (σημαίνει “πισίνα” στα αγγλικά και έχει την έννοια συγκέντρωσης όμοιων “πραγμάτων” σε ξεχωριστές συγκεντρώσεις-ομάδες δηλ. σε “πισίνες”).

Σε αυτό το βήμα με τα groups υπάρχει και μια έξτρα διαδικασία όπου μπορούμε να καθορίσουμε κάποιους “δικούς” μας αθλητές ως “μπαλαντέρ” και να τους τοποθετήσουμε σε μια λίστα αναφοράς. 
Ο σκοπός αυτής της λίστας και αυτών των αθλητών/αθλητριών είναι για να “γεμίσουμε” τυχόν “τρύπες” που θα προκύψουν από την ομαδοποίηση των ΜΣΚ σε group. Όταν δηλαδή είναι αδύνατο να φτιάξουμε από κάποιες ΜΣΚ ένα group ή να τις ενσωματώσουμε σε ένα υπάρχον group, μπορούμε να τοποθετήσουμε εμβόλιμα έναν αθλητή “μπαλαντέρ” για φτάσουμε τον “μαγικό αριθμό” 3 στις συμμετοχές ενός group. 
Οι αθλητές/αθλήτριες “μπαλαντέρ” εκ προοιμίου θα “παίξουν” πάνω από 2 αγώνες ο κάθε ένας. Με αυτό τον τρόπο δεν θα συμβεί το φαινόμενο να έρθει κάποιος αθλητής ενός συλλόγου από μακριά και να μην παίξει τουλάχιστον 2 αγώνες. Οι αθλητές “μπαλαντέρ” επιλέγονται από τον σύλλογο διοργανωτή με συγκεκριμένα κριτήρια ανάλογα με τις “τρύπες” που θα εμφανιστούν και αν φυσικά χρειάζονται.
Σημείωση: είναι καλό ο διοργανωτής να ενημερώσει και να συνεννοηθεί με τους άλλους συλλόγους που θα συμμετέχουν, να έχουν και αυτοί τους δικούς αθλητές/αθλήτριες “μπαλαντέρ” ή “αντικαταστάτες” ώστε αν κάποια από τις συμμετοχές τους δεν έρθει τελικά στους αγώνες να μπορούν να τοποθετήσουν στην θέση της κάποιον από τους “μπαλαντέρ – αντικαταστάτες” τους και δεν θα δημιουργηθούν έτσι κενά στους αγώνες που θα έχουν ήδη καθοριστεί για κάθε έναν από τους αθλητές/αθλήτριες των συλλόγων που θα περιμέναμε να έρθουν στην διοργάνωση.

Μετά την ολοκλήρωση των “ομαδοποιήσεων” σε groups με τουλάχιστον 3 συμμετοχές και πάνω για το κάθε ένα, μπορούμε να προχωρήσουμε στο επόμενο βήμα που είναι διαμόρφωση των αγώνων (δυάδες) για κάθε group ξεχωριστά.



3ο ΒΗΜΑ) Εδώ η εφαρμογή αυτόματα, παράγει τις δυάδες αγώνων για κάθε ένα group ξεχωριστά έτσι ώστε κάθε αθλητής στο κάθε group να παίξει σε 2 αγώνες και να μην αγωνίζονται σε κάθε δυάδα που θα προκύψει αθλητές από τον ίδιο σύλλογο (όσο αυτό είναι εφικτό βέβαια). 
Μετά την αυτόματη παραγωγή, ο χρήστης μπορεί να διαχειριστεί τις δυάδες που προέκυψαν για κάθε ένα group ξεχωριστά κάθε φορά και αν θέλει να επανατοποθετήσει όποιον αθλητή θέλει σε άλλον αγώνα με ανταλλαγή θέσεων (swap) ανάμεσα σε δυο διαφορετικούς αθλητές μέσα πάντα στις δυάδες του κάθε group ξεχωριστά. 
Η περίπτωση όπου σε ένα group έτυχε να υπάρχουν πολλοί αθλητές από έναν σύλλογο και έτσι δεν είναι δυνατό να τηρηθεί η αρχή που λέει πως δεν πρέπει να αγωνιστούν μαζί αθλητές από τον ίδιο σύλλογο, είναι και μία από τις περιπτώσεις που χρειάζονται για έναν επιπλέον λόγο οι αθλητές “μπαλαντέρ” που προαναφέραμε. Τοποθετώντας αθλητές “μπαλαντέρ” αθροιστικά στους αθλητές του group με το πρόβλημα, δίνουμε την δυνατότητα στην εφαρμογή να “ξανά-υπολογίσει” τις δυάδες και να φτιάξει έτσι αγώνες με δυάδες αθλητών που δεν θα είναι από τον ίδιο σύλλογο, όταν κάτι τέτοιο είναι βέβαια εφικτό σε τελική ανάλυση. 
Από αυτή την διαδικασία (όταν καταλήξουμε ότι έχει ολοκληρωθεί με τον καλύτερο δυνατό τρόπο) παράγουμε την λίστα PULLS(A) (η λέξη pull σημαίνει “τραβώ” και εδώ έχει την έννοια της “συγκεκριμένης τοποθέτησης βάση κανόνων”).

Όταν ολοκληρωθεί και η διαχείριση (ο έλεγχος) των δυάδων των αγώνων για το κάθε ένα από τα group και είμαστε βέβαιοι ότι όλα είναι εντάξει με τις δυάδες μας, μπορούμε να προχωρήσουμε στο επόμενο βήμα που είναι: Η τοποθέτηση των αγώνων στα τερέν.



4ο ΒΗΜΑ) Η τοποθέτηση των αγώνων στα τερέν έχει πολλές βοηθητικές διαδικασίες. Σκοπός της τοποθέτησης των αγώνων στα τερέν είναι:
  • Να καθοριστεί ο αριθμός των τερέν που θα έχουμε “στήσει” στο στάδιο για τους αγώνες μας
  • Να τοποθετηθούν οι αγώνες που είναι να γίνουν σε συγκεκριμένη σειρά και με συγκεκριμένο τρόπο, στα τερέν, ώστε να έχουμε το βέλτιστο “στήσιμο” των αγώνων για να γίνει η ομαλή και απρόσκοπτη διεξαγωγή τους.
Οι “κανόνες” τοποθέτησης των αγώνων είναι διάφοροι και αρκετά διαφορετικοί μεταξύ τους και είναι ανάλογοι με το τι “στήσιμο” θέλουμε να κάνουμε. 
Πχ. για την τοποθέτηση των αγώνων σε “στοίβες”, δηλαδή κάθε group να ολοκληρώνεται (οι αγώνες του) σε ένα τερέν, που είναι ένας από τους απλούς τρόπους, θα πρέπει όλοι οι αγώνες ενός group να μπουν στο ίδιο τερέν και να μην έχουμε συνεχόμενους αγώνες του ίδιου group που να έχουν την συμμετοχή του ίδιου αθλητή (να μην παίξει δηλαδή ένας αθλητής συνεχόμενους αγώνες τον ένα μετά τον άλλο), να μην “απλωθούν” όμως και πάρα πολύ οι αγώνες ενός group μαζί και ανάμεσα στους αγώνες ενός άλλου group έτσι ώστε να χρειαστεί να “περιμένουν” και πολύ ώρα οι αθλητές για τον επόμενο αγώνα τους (μια καλή αρχή είναι, εφόσον ο κάθε αθλητής στις περισσότερες περιπτώσεις θα παίξει ακριβώς 2 αγώνες, είναι να τοποθετηθούν έτσι οι αγώνες που ο κάθε αθλητής να “τελειώνει” τους αγώνες του μέσα σε τρεις συνεχόμενους αγώνες δηλ. να παίξει τον 1ο αγώνα του μετά να γίνει ένας αγώνας με άλλους αθλητές και μετά να ξαναπαίξει στον 2ο και τελευταίο του αγώνα και να αποδεσμευτεί από την διοργάνωση μιας και θα έχει ολοκληρώσει όλους τους αγώνες που έχει να κάνει). 
Επίσης μια άλλη παράμετρος (όχι όμως και αναγκαστική) είναι να μην “πέφτουν” στον ίδιο αριθμό αγώνα σε διαφορετικό τερέν δυο ή και παραπάνω αγώνες με αθλητές από τον ίδιο σύλλογο, οπότε και ο προπονητής θα χρειαστεί να βρεθεί για να “κοουτσάρει” σε δυο και περισσότερους αγώνες (στα διαφορετικά τερέν που θα αγωνίζονται οι αθλητές του συλλόγου του) ταυτόχρονα. 
Αυτή η παράμετρος μπορεί να αντιμετωπιστεί και με τον διαφορετικό “χρονισμό” των αγώνων ανάμεσα στα τερέν, αυτό όμως είναι στο επόμενο βήμα, οπότε θα το δούμε παρακάτω. 
Επίσης, σε αυτόν τον τρόπο τοποθέτησης θα πρέπει τα τερέν να “γεμίζουν” με τον ίδιο αριθμό αγώνων (όσο αυτό είναι δυνατό) ώστε να μην βρεθούμε να έχουμε ένα τερέν πχ. με 20 αγώνες και κάποιο άλλο να έχει μόνο 10 αγώνες. Στην περίπτωση που κάτι τέτοιο δεν είναι δυνατό, πχ. λόγω του ότι τα group είναι τόσο ανομοιογενή και αταίριαστα ώστε με όποιο τρόπο και να μπουν στα τερέν πάντα κάποιο από αυτά θα έχει είτε λίγους, είτε πολλούς αγώνες, εδώ υπάρχει η δυνατότητα να μεταφέρουμε αγώνες από το ένα τερέν στο άλλο και έτσι να τα εξισώσουμε αριθμιτικά.


Υπάρχει και η τοποθέτηση των αγώνων σε οριζόντια σειρά, να μπουν δηλαδή με “άπλωμα” των αγώνων του κάθε group σε όλα τα τερέν “ταυτόχρονα”. Αυτός ο τρόπος προτιμάτε όταν θέλει ο διοργανωτής να τοποθετήσει έτσι τους αγώνες ώστε από κάθε group να ολοκληρώνονται οι αγώνες του σε συγκεκριμένη σειρά στα group και μετά να ξεκινά το επόμενο group κ.ο.κ. αν θέλουμε παραδείγματος χάριν να γίνουν οι αγώνες σε “πακέτα” ανά χρονολογία (κατά έτος ή έτη γέννησης) αυτός είναι ο τρόπος με τον οποίο μπορεί να γίνει κάτι τέτοιο, έτσι μπορούμε να ρυθμίσουμε την προσέλευση των αθλητών/αθλητριών (που θα έρθουν με τους γονείς τους και όχι με τον σύλλογο) να έρθουν συγκεκριμένη ώρα προσέλευσης, πχ. οι αθλητές που είναι γεννημένοι το 2000-2001 θα αρχίζουν να παίζουν αγώνες στις 10:00πμ, οι 2002-2003 στις 12:00πμ, οι 2004-2005 στις 2:00μμ κτλ.
Σε αυτόν τον τρόπο οι κανόνες είναι διαφορετικοί, πχ. δεν θα πρέπει ο ίδιος αθλητής να έχει αγώνα σε διαφορετικό τερέν στον ίδιο αριθμό αγώνα, αλλά ούτε και σε πολύ κοντινούς αριθμούς αγώνα (για να μην πέσουν μαζί οι δυο αγώνες του, λόγο καθυστερήσεων σε κάποιο τερέν ή “βιασύνης” σε κάποιο άλλο), οι αγώνες θα πρέπει να τελειώνουν στην ώρα τους για να μην καθυστερήσει όλο το πρόγραμμα, να αργήσει δηλαδή να ολοκληρωθεί ένα “πακέτο” και έτσι να καθυστερήσει να αρχίσει το επόμενο “πακέτο”.

Η εφαρμογή μπορεί αυτόματα να τοποθετήσει τους αγώνες με τον έναν ή τον άλλον τρόπο τηρώντας τους κανόνες για τον κάθε τρόπο (στο μέτρο του εφικτού). 
Ο χρήστης απλά καθορίζει τον αριθμό των τερέν που θα υπάρχουν (από 2 έως και 8 τερέν) και επιλέγει και το τρόπο της τοποθέτησης (stack ή across). Μετά την ολοκλήρωση της αυτόματης τοποθέτησης και αρίθμησης των αγώνων σε κάθε τερέν, από την εφαρμογή, ο χρήστης έχει τις εξής δυνατότητες ανατοποθέτησης για τον κάθε αγώνα (δυάδα):

- Αλλαγή θέσης μέσα στο τερέν, κατά μια θέση κάθε φορά προς τα επάνω (αν δεν είναι ο 1ος αγώνας του τερέν) ή προς τα κάτω (αν δεν είναι ο τελευταίος αγώνας) , η εφαρμογή προειδοποιεί για το αν μετά την ανταλλαγή θα προκύψει παραβίαση κάποιου από τους κανόνες και δίνει την δυνατότητα στον χρήστη να επιλέξει για το αν θέλει να γίνει τελικά η ανταλλαγή ή όχι.
- Ανταλλαγή αγώνων από-προς ανάμεσα στα τερέν (επιλέγοντας τον έναν και μετά τον άλλον αγώνα γίνεται η ανταλλαγή μεταξύ τους), η εφαρμογή προειδοποιεί για το αν μετά την ανταλλαγή θα προκύψει παραβίαση κάποιου από τους κανόνες και δίνει την δυνατότητα στον χρήστη να επιλέξει για το αν θέλει να γίνει τελικά η ανταλλαγή ή όχι.
- Μετακίνηση αγώνα από το PULLS(A) στο τέλος σε κάποιο από τα τερέν. Ο αγώνας διαγράφεται από το PULLS(A) και τοποθετείτε στην τελευταία θέση του τερέν που έχουμε επιλέξει.
- Μαζικός έλεγχος για τον αν παραβιάζεται κάποιος κανόνας και ανάλογο μαρκάρισμα, για να μεριμνήσει ο χρήστης ώστε να το διορθώσει.

Όταν πλέον ολοκληρώσουμε και την τοποθέτηση (θα πρέπει όλοι οι αγώνες που υπήρχαν στο PULLS(Α) να βρίσκονται πλέον στα τερέν), μπορούμε να πάμε στο επόμενο και στο τελευταίο βήμα που είναι το χρονοδιάγραμμα των αγώνων.

5ο ΒΗΜΑ) Στο χρονοδιάγραμμα των αγώνων καθορίζουμε κάποιες παραμέτρους και προγραμματίζουμε χρονικά όλους τους αγώνες επίσης εδώ μπορούμε να βγάλουμε και τις τελικές εκτυπώσεις από την τελική λίστα PULLS(B). Οι παράμετροι που χρειάζεται να καθορίσουμε για το χρονοδιάγραμμα είναι:
  • Ώρα έναρξης αγώνων (για κάθε τερέν ξεχωριστά ή δίνουμε μια ώρα έναρξης για όλα τα τερέν)
  • Αριθμός γύρων για κάθε αγώνα (από 2 έως και 4)
  • Χρονική διάρκεια για τον γύρο (σε δευτερόλεπτα, η εφαρμογή εμφανίζει και την διάρκεια σε λεπτά της ώρας, αυτόματα)
  • Χρονική διάρκεια διαλείμματος, ανάμεσα στους γύρους (σε δευτερόλεπτα, εμφανίζετε και σε λεπτά)
  • Ώρα έναρξης μεσοδιαλλείματος και διάρκεια (πχ. για το φαγητό το μεσημέρι)

Αφού πλέον έχουμε δώσει τις απαραίτητες παραμέτρους, η εφαρμογή μπορεί να υπολογίσει και να μαρκάρει με τους κατάλληλους χρόνους τους αγώνες, να υπολογίσει την διάρκεια όλων των αγώνων ανά τερέν, την ώρα λήξης της διοργάνωσης κτλ.
Μπορούμε να αλλάξουμε τις παραμέτρους και να επανυπολογίσουμε όσες φορές θέλουμε το χρονοδιάγραμμα.
Όταν πλέον καταλήξουμε σε κάποιο τελικό χρονοδιάγραμμα, μπορούμε πλέον να δώσουμε και τις τελικές εκτυπώσεις για την διοργάνωση και αυτές είναι:
  • Λίστα με τους αγώνες για το κάθε τερέν
  • Μαζική λίστα με τους αγώνες όλων των τερέν (θα εκτυπωθούν το ένα μετά το άλλο συνεχόμενα)
  • Λίστα αγώνων για κάθε σύλλογο (βγαίνουν λίστες με τους αγώνες για κάθε τερέν ξεχωριστά και για κάθε σύλλογο ξεχωριστά, στις δυάδες των αγώνων ο αθλητής του συλλόγου εκτυπώνεται με έντονα γράμματα για να είναι ευδιάκριτος)
  • Tickets αγώνων για όλους τους αγώνες από όλα τα τερέν ή κατά επιλογή (ένας αγώνας ή για ένα τερέν ή για έναν σύλλογο). Τα tickets είναι ουσιαστικά τα “φύλλα αγώνα” όπου αναγράφονται όλα τα στοιχεία του αγώνα και υπάρχει θέση για την αναγραφή του διαιτητή, του γραμματέα του αγώνα κτλ. Τα tickets μπορούν να εκτυπωθούν (εις διπλούν, ένα για τον κάθε ένα αθλητή του αγώνα) και να δοθούν και στους συλλόγους για να τα μοιράσουν στους αθλητές τους, έτσι θα έχουν οι αθλητές έναν οδηγό για το που θα πρέπει να πάνε, πότε και με τι χρώμα θώρακα για να αγωνιστούν. Επίσης μπορούν να χρησιμοποιηθούν και ως έγγραφο επικοινωνίας ανάμεσα στην κεντρική γραμματεία και στις επιμέρους γραμματείες των τερέν για να γίνονται οι καταχωρήσεις και να υπάρχει η δυνατότητα ελεγχόμενης διαχείρισης στην εξέλιξη των αγώνων καθώς αυτοί θα γίνονται ο ένας μετά τον άλλον στα τερέν.
6ο ΒΗΜΑ) Το τελευταίο βήμα διαχείρισης και σχεδιασμού μιας διοργάνωσης είναι η γραμματεία των αγώνων όταν αυτοί γίνονται, όπου υπάρχουν διάφορα εργαλεία παρακολούθησης και καταχώρησης στοιχείων για την εξέλιξη και την πρόοδο των αγώνων και της όλης διαδικασίας της εκτέλεσης πλέον, της διοργάνωσης την ημέρα των αγώνων.
Με το πέρας των αγώνων, σχεδιάζουμε να, τοποθετήσουμε κάποια εργαλεία από όπου θα βγαίνουν στατιστικά στοιχεία και το τελικό χρονοδιάγραμμα για τα τι και τα πως όλης της διοργάνωσης και το πως αυτή ολοκληρώθηκε βήμα-βήμα.


[Βοηθητική συνοδευτική εφαρμογή] 

ΔΗΛΩΣΕΙΣ ΣΥΜΜΕΤΟΧΩΝ από τους ΣΥΛΛΟΓΟΥΣ προς τον ΔΙΟΡΓΑΝΩΤΗ

Μια άλλη δυσκολία στον σχεδιασμό και την εκτέλεση μιας διοργάνωσης αγώνων, είναι και οι δηλώσεις των συμμετοχών από τους συλλόγους. Να μπορεί δηλαδή ένας σύλλογος εύκολα, άμεσα και μέχρι την τελευταία στιγμή (μια με δυο ημέρες πριν τους αγώνες) να "στείλει" την κατάσταση με τις συμμετοχές των αθλητών και αθλητριών του. Μέσω των δυνατοτήτων που μας δίνει πλέον το internet και οι Η/Υ αυτή η διαδικασία μπορεί να γίνει εύκολα, αξιόπιστα και γρήγορα. 
Για να αντιμετωπιστεί αυτή η δυσκολία, η εφαρμογή έχει μια μικρότερη βοηθητική εφαρμογή που δίνεται σε κάθε σύλλογο. Η βοηθητική αυτή εφαρμογή είναι μια μικρή βάση δεδομένων και το ανάλογο διαχειριστικό της εργαλείο, όπου ο κάθε σύλλογος μπορεί να καταχωρεί του αθλητές τους και να ετοιμάζει-αποστέλλει τις λίστες με τις συμμετοχές του για και σε κάποια διοργάνωση. 
Εκτός του ότι η βοηθητική εφαρμογή διευκολύνει την καταχώρηση και την δημιουργία στις λίστες για τις δηλώσεις συμμετοχών, ελέγχει ταυτόχρονα και την "σωστή" συμπλήρωση των στοιχείων, επίσης στην βάση δεδομένων της κρατάει όλα τα στοιχεία που καταχωρούνται και μπορούμε να τα ξανα χρησιμοποιήσουμε πολλές φορές, να καταρτίζουμε δηλαδή λίστες (με κάποιες διορθώσεις ή αλλαγές κάθε φορά) και να τις αποστέλλουμε ως δηλώσεις συμμετοχής σε αγώνες. 
Επίσης με την ίδια διαδρομή θα μπορεί ο κάθε σύλλογος να λαμβάνει από τον κεντρικό Η/Υ των διοργανωτών και όλα τα σχετικά έντυπα που χρειάζονται για την ενημέρωση του πάνω στα pull των αγώνων, δηλ. πότε, σε ποιο τερέν και με ποιον αντίπαλο θα αγωνιστεί ο κάθε ένας από τους αθλητές/αθλήτριες που δήλωσε ότι θα συμμετέχει στην κάθε διοργάνωση, για να σχεδιάζει από πριν και όλα όσα χρειάζονται για την μετακίνηση, την άφιξη στο στάδιο και την πληροφόρηση των γονέων των αθλητών του και των αθλητών των ίδιων.

[Επίλογος - τρέχουσα κατάσταση]
Αυτή την στιγμή η ολοκλήρωση της εφαρμογής είναι κοντά στο 90% και ελπίζουμε πως τις επόμενες ημέρες θα μπορέσουμε να κάνουμε τις τελικές δοκιμές και τον τελικό έλεγχο και να την κάνουμε διαθέσιμη στους ενδιαφερόμενους.

Για τις διοργανώσεις των κατηγοριών 2) Πρωταθλήματα (Kyorugi) και 3) Τεχνικοί αγώνες (Poomsae) σχεδιάζουμε να ολοκληρώσουμε την εφαρμογή πριν από το τέλος του 2011, σίγουρα για την 2) αλλά αν προλάβουμε και για την 3).

2 σχόλια:

  1. πολυ καλη εφαρμογη...εχει ολοκληρωθει?

    ΑπάντησηΔιαγραφή
  2. @taeki
    Το 90% είναι έτοιμο, έχω να βάλω ακόμα κάποια "εργαλεία" αναταξινόμησησης στις διάφορες λίστες και στην τελική με τα τερέν, τις τελικές εκτυπώσεις και είναι έτοιμο για τους φιλικούς αγώνες... Για τους κανονικούς... θα δούμε εν καιρώ

    ΑπάντησηΔιαγραφή

Σχολιάστε