javagames

Java programming (games και games creation)

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


Εκπαιδευτική Βάση
- Η Java παρέχει μια καλή εισαγωγή στις βασικές αρχές προγραμματισμού, όπως οι δομές δεδομένων, οι αλγόριθμοι και οι αντικειμενοστραφείς έννοιες. Αυτά τα θεμελιώδη στοιχεία είναι κρίσιμα για την κατανόηση και την περαιτέρω εκμάθηση άλλων γλωσσών προγραμματισμού.

Πλατφόρμα-ανεξαρτησία
- Χάρη στη δυνατότητα εκτέλεσης Java εφαρμογών σε διαφορετικά λειτουργικά συστήματα μέσω της Java Virtual Machine (JVM), οι μαθητές μπορούν να εκτελούν τα προγράμματά τους σε οποιοδήποτε υπολογιστή χωρίς να ανησυχούν για τις διαφορές στο υλικό ή το λογισμικό.

Ευρεία Χρήση
- Η Java χρησιμοποιείται ευρέως στην ανάπτυξη εφαρμογών, ιστοσελίδων και συστημάτων μεγάλων εταιρειών. Η εξοικείωση με την Java ανοίγει πολλές επαγγελματικές ευκαιρίες στο μέλλον.


Δημιουργία παιχνιδιών με κώδικα

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


Ανάπτυξη Λογικής και Κριτικής Σκέψης
- Η ανάπτυξη παιχνιδιών απαιτεί από τους μαθητές να χρησιμοποιούν τη λογική και τη κριτική σκέψη για να επιλύσουν προβλήματα, να σχεδιάσουν επίπεδα και να προγραμματίσουν την αλληλεπίδραση μεταξύ χαρακτήρων και αντικειμένων.

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

Ομαδική Εργασία και Συνεργασία
- Τα παιχνίδια συχνά αναπτύσσονται σε ομάδες. Οι μαθητές μαθαίνουν να συνεργάζονται, να μοιράζονται ιδέες και να λύνουν προβλήματα συλλογικά.

Ενίσχυση της Εμπιστοσύνης
- Η διαδικασία ολοκλήρωσης ενός παιχνιδιού προσφέρει στους μαθητές μια αίσθηση επίτευξης και αυτοπεποίθησης, ενισχύοντας την πίστη στις ικανότητές τους.

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

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


Πριν αρχίσουμε

Τα βασικά του προγραμματισμού
Πρωτού ξεκινήσουμε το project και την εξερεύνηση της java θα πρέπει να γνωρίζουμε κάποια βασικά στοιχεία για τον προγραμματισμό και τις γλώσσες προγραμματισμού. Για αυτό έχουμε αφιερώσει την ενότητα του προγραμματισμού που θέτει τις βάσεις και για αυτή την ενότητα. Ετσι μπορείς να κάνεις ένα φρεσκάρισμα στις γνώσεις σου κάνοντας μια επίσκεψη στην ενότητα του προγραμματισμού.

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

Επίσης παρακάτω θα βρεις διαδικτυακούς συνδέσμους που θα σε βοηθήσουν στην ολοκλήρωση του project:

https://freefrontend.com/javascript-code-examples/
https://www.javatpoint.com/

Το Node.js® είναι ένα δωρεάν περιβάλλον χρόνου εκτέλεσης JavaScript, ανοιχτού κώδικα, πολλαπλών πλατφορμών που επιτρέπει στους προγραμματιστές να δημιουργούν διακομιστές, εφαρμογές ιστού, εργαλεία γραμμής εντολών και σενάρια.

Ιστορικά στοιχεία για javascript

Η JavaScript είναι μια δυναμική γλώσσα προγραμματισμού υψηλού επιπέδου που χρησιμοποιείται κυρίως για τη δημιουργία διαδραστικών web εφαρμογών διεπαφών χρήστη (UI).

Έχει στοιχεία scripting, functional και αντικειμενοστραφή προγραμματισμού. Δημιουργήθηκε από τον Brendan Eich κατά τη δεκαετία του 1990 και σήμερα αποτελεί μία από τις ευρέως χρησιμοποιούμενες γλώσσες προγραμματισμού.

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

Ο διερμηνευτής (interpreter) δημιουργεί έναν ενδιάμεσο κώδικα που δύναται να εκτελεστεί σε διάφορες μηχανές.

Παραδείγματα διερμηνευόμενων γλωσσών αποτελούν μεταξύ άλλων η Python και η Ruby.

Η JavaScript μπορεί να χρησιμοποιηθεί τόσο από την πλευρά του πελάτη (client-side) όσο και από την πλευρά του διακομιστή (server-side).

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

Ενώ η HTML και η CSS δομούν και σχεδιάζουν τον σκελετό μιας ιστοσελίδας, η JavaScript προσφέρει διαδραστικά στοιχεία, μετατρέποντας μιας ιστοσελίδα από στατική σε δυναμική, έτσι ώστε ο χρήστης να μπορεί να αλληλεπιδρά με αυτή.

Κάποια χαρακτηριστικά της JavaScript περιλαμβάνουν:

Δυναμικότητα: Μπορεί να αλλάζει δυναμικά το περιεχόμενο της ιστοσελίδας σε απόκριση στις ενέργειες του χρήστη.
Ευελιξία: Μπορεί να χρησιμοποιηθεί σε πολλές πλατφόρμες, συμπεριλαμβανομένων των ιστοσελίδων, των server (μέσω Node.js) και των εφαρμογών κινητών (μέσω frameworks όπως το React Native).
Αντικειμενοστραφής προγραμματισμός: Υποστηρίζει αντικείμενα, κλάσεις και κληρονομικότητα, κάνοντάς την κατάλληλη για πιο πολύπλοκες εφαρμογές.
Διακριτική ανακύκλωση μνήμης: Η JavaScript έχει ενσωματωμένη διαχείριση μνήμης, που ελαχιστοποιεί τον κίνδυνο διαρροών μνήμης.
Κοινότητα: Διαθέτει μια τεράστια και ενεργή κοινότητα προγραμματιστών που δημιουργούν και μοιράζονται βιβλιοθήκες και πλαίσια εργασίας (frameworks) που διευκολύνουν τον προγραμματισμό.

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


Less milk

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

https://www.lessmilk.com/dark-blue/



Super mario portal

Ένα αφιέρωμα στα αυθεντικά παιχνίδια Super Mario, αυτό το platformer προσφέρει 30 επίπεδα δράσης για τρέξιμο και άλμα. Κάθε επίπεδο εισάγει όλο και περισσότερους μηχανισμούς παιχνιδιού, κάνοντας το παιχνίδι εξαιρετικά διασκεδαστικό. Υπάρχει επίσης ένα πρόγραμμα δημιουργίας επιπέδων όπου μπορείτε να δημιουργήσετε τα δικά σας επίπεδα και να τα μοιραστείτε με φίλους.

https://js13kgames.com/games/super-chrono-portal-maker/index.html


OnOff

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

https://js13kgames.com/games/onoff/index.html



Everyone's sky

Το Everyone's Sky προσφέρει το κλασικό παιχνίδι σε στυλ Asteroid, αλλά με μια περιπέτεια και εξερεύνηση RPG. Πετάτε γύρω από το διάστημα και τα ηλιακά του συστήματα, επικοινωνώντας με άλλους πολιτισμούς και συλλέγοντας πόρους. Μπορείτε να επιλέξετε να ολοκληρώσετε τις αποστολές ειρηνικά, κάνοντας συμμάχους ή απλώς να επιτεθείτε σε οτιδήποτε βρεθεί στο δρόμο σας.

https://js13kgames.com/games/everyones-sky/index.html



System rewire

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

https://js13kgames.com/games/re-wire/index.html



Off the line

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

https://js13kgames.com/games/off-the-line/index.html


Spacecraft

Το Spacecraft είναι ένα ενδιαφέρον παιχνίδι όπου πρέπει να συλλέξετε όσα περισσότερα μάρκες μπορείτε από τους πλανήτες του Ηλιακού Συστήματος. Πρέπει να παραμείνετε σε καλό δρόμο, να αποφύγετε εμπόδια και αστεροειδείς και να ξοδέψετε σοφά τις μάρκες σας για να αναβαθμίσετε το πλοίο σας.

https://js13kgames.com/games/spacecraft/index.html


1024 moves

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

https://js13kgames.com/games/1024-moves/index.html



Φιδάκι

Αυτό είναι ένα βασικό παιχνίδι φιδιού φτιαγμένο με JavaScript για λογική και CSS για απόδοση. Χρησιμοποιήστε τα πλήκτρα βέλους ή το WASD για να ελέγξετε το φίδι. Μπορείτε να κάνετε θηλιά μέσα από τοίχους.

https://codepen.io/jackrugile/pen/bGRWbK
https://codepen.io/kudchikarsk/pen/GYKmdd
https://codepen.io/CaioPaiola/pen/nojJmQ



Μαθηματικός γρίφος

Προσθέστε τους αριθμούς 1 έως 9 στο πλέγμα (χρησιμοποιήστε μόνο 1 από κάθε αριθμό), ώστε οι υπολογισμοί να λειτουργήσουν και να εξισωθούν με τους αριθμούς εκτός του πλέγματος.

Σημείωση, το BIDMAS/PIMDAS αγνοείται: Το A + B × C είναι το ίδιο με το (A + B) × C, δουλεύοντας από αριστερά προς τα δεξιά, από πάνω προς τα κάτω.

Συμβουλή: ένα καλό μέρος για να ξεκινήσετε είναι να αναζητήσετε γραμμές όπου η απάντηση είναι ημι-πρώτος με σύμβολο πολλαπλασιασμού (ένας από τους παράγοντες πρέπει να είναι στο πλάι με ένα διάστημα)

https://codepen.io/z-/pen/ZMbLNM



Κατασκευή πύργου

Παιχνίδι κατασκευής πύργων. Τοποθετήστε μπλοκ κάνοντας κλικ, αγγίζοντας ή φραγή διαστήματος.

https://codepen.io/ste-vg/pen/ppLQNW



Jump n run

Μια απλή μηχανή παιχνιδιών πλατφόρμας, ο χάρτης είναι προσαρμόσιμος και με δυνατότητα σεναρίου. Ανατρέξτε στα σχόλια στη μεταβλητή "χάρτης" για οδηγίες.

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

https://codepen.io/dissimulate/pen/AGYEby



Rubik

Δείτε αν μπορείτε να λύσετε αυτό το κλασικό παιχνίδι παζλ του Rubik φτιαγμένο σε three.js.

https://codepen.io/bsehovac/pen/EMyWVv



Rabbit n wolf

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

https://codepen.io/Yakudoo/pen/YGxYej



Συλλογή παιχνιδιών

https://impactjs.com/games



Συλλογή παιχνιδιών με κώδικα

https://codeincomplete.com/games/

https://jakesgordon.com/



Συλλογή παιχνιδιών με κώδικα

https://www.marketjs.com/trivia-white-label-html5-game/



Συλλογή παιχνιδιών με κώδικα

https://codehs.com/projects/category/Games



Pacman crossword

https://www.masswerk.at/JavaPac/JS-CrosswordPacMan.html



Συλλογή παιχνιδιών με κώδικα

https://code-projects.org/c/app-projects/unity-projects/



Tic tac to

https://codepen.io/alvaromontoro/pen/vwjBqz



Βρες το δεινόσαυρο

https://codepen.io/dazulu/pen/rQQpgY