Αποστολέας Θέμα: KTurtle : Περιβάλλον Προγραμματισμού σε Logo  (Αναγνώστηκε 18841 φορές)

markakis

  • Working Dead
  • Βετεράνος
  • ****
  • Μηνύματα: 70
KTurtle : Περιβάλλον Προγραμματισμού σε Logo
« στις: 20 Σεπ 2008, 05:28:48 μμ »
Για όσους δεν το γνωρίζουν το KTurtle είναι ένα εκπαιδευτικό περιβάλλον προγραμματισμού σε Logo (μια παραλλαγή της την TurtleScript). Πρόκειται για Ελεύθερο Λογισμικό καθώς είναι εφαρμογή-τμήμα του Γραφικού Περιβάλλοντος KDE. Αυτό το κάνει άμεσα διαθέσιμο μέσα από τα αποθετήρια όλων των διανομών Linux αλλά και στα Windows μέσα από το "KDE on Windows Project" http://windows.kde.org.

Το περιβάλλον είναι εξελληνισμένο (από την έκδοση 3.x του KDE), όπως και οι εντολές της γλώσσας (από την έκδοση 4.0 του KDE). Πρόσφατα ολοκλήρωσα τη μετάφραση του εγχειριδίου χρήσης του KTurtle, όμως για τεχνικούς λόγους (απόσυρση συντονιστή την ελληνικής ομάδας μετάφρασης του KDE κ.α) δεν έχει ενσωματωθεί ακόμα στην ελληνική μετάφραση. Μέχρι να γίνει αυτό, πιθανό να ανεβάσω το εγχειρίδιο σε μορφή HTML.

Από τα εξελληνισμένα περιβάλλοντα, το προτιμώ όχι μόνο γιατί είναι ελεύθερο λογισμικό αλλά γιατί το θεωρώ πιο λειτουργικό και εύχρηστο από το "Χελωνόκοσμο". To Microworlds το απορρίπτω, καθώς όσα σχολεία δεν το διαθέτουν, θα πρέπει να πληρώσουν για να το αποκτήσουν, πράγμα ΑΠΑΡΑΔΕΚΤΟ για εκπαιδευτικό λογισμικό που αναφέρεται στις σελίδες του βιβλίου.

Νομίζω ότι καλύπτει με το παραπάνω τις ανάγκες του μαθήματος. Αν μη τι άλλο οι συνάδελφοι με Linux στα εργαστήρια πρέπει να σταματήσουν να προσπαθούν να τρέξουν το Microworlds με WINE...

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 5702
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Απ: KTurtle : Περιβάλλον Προγραμματισμού σε Logo
« Απάντηση #1 στις: 20 Σεπ 2008, 10:25:42 μμ »
Συμφωνώ απόλυτα, και από του χρόνου που θα αρχίσει (τυπικά) η διδασκαλία της Logo θα μου άρεσε να μαζευόμασταν κάποιοι συνάδελφοι και να "αντικαθιστούσαμε" τα σχετικά κεφάλαια του βιβλίου που αναφέρονται στο Microworlds με αντίστοιχες σημειώσεις για Kturtle... Λϊγες σελίδες είναι, και από το να αγοράζουμε το Microworlds καλύτερα να μοιράζουμε φωτοτυπίες στα παιδιά.

markakis

  • Working Dead
  • Βετεράνος
  • ****
  • Μηνύματα: 70
Απ: KTurtle : Περιβάλλον Προγραμματισμού σε Logo
« Απάντηση #2 στις: 05 Οκτ 2008, 05:14:21 μμ »
Επειδή διάβασα το post κάποιου συναδέλφου στο φόρουμ του Hellug που έψαχνε βοήθεια για τα ελληνικά, επανέρχομαι για να βοηθήσω όσους ενδιαφέρονται για το θέμα.

Έχω προσθέσει μερικές πληροφορίες και ένα "οδηγό εκκίνησης" στην παρακάτω διεύθυνση:
http://www.μαρκακης.gr/KTurtle

denix

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 137
Απ: KTurtle : Περιβάλλον Προγραμματισμού σε Logo
« Απάντηση #3 στις: 22 Φεβ 2010, 01:05:40 πμ »
Συμφωνώ απόλυτα, και από του χρόνου που θα αρχίσει (τυπικά) η διδασκαλία της Logo θα μου άρεσε να μαζευόμασταν κάποιοι συνάδελφοι και να "αντικαθιστούσαμε" τα σχετικά κεφάλαια του βιβλίου που αναφέρονται στο Microworlds με αντίστοιχες σημειώσεις για Kturtle... Λϊγες σελίδες είναι, και από το να αγοράζουμε το Microworlds καλύτερα να μοιράζουμε φωτοτυπίες στα παιδιά.

Έγινε. (αν και με 1,5 χρόνο καθυστέρηση...) ;)

mbot

  • Οπαδός
  • **
  • Μηνύματα: 10
Απ: KTurtle : Περιβάλλον Προγραμματισμού σε Logo
« Απάντηση #4 στις: 08 Μάι 2010, 12:01:36 μμ »
Καλησπέρα, είμαι φοιτητής του τμήματος Πληροφορικής & Τηλεπικοινωνιών και κάνω την πτυχιακή μου εργασία που αφορά τη σύγκριση Logo-Like περιβαλλόντων. Μόλις εγκατέστησα το kturtle και έχω κάποιες απορίες. :)
Στο microworlds pro ο χρήστης μπορεί να κάνει εισαγωγή σχημάτων από μια καρτέλα. Στο kturtle πως μπορεί να γίνει αυτό;
Επίσης, πως μπορώ να εισάγω εκτός από την αρχική χελώνα και άλλες στον καμβά;
Αυτά για αρχή!! :P

mbot

  • Οπαδός
  • **
  • Μηνύματα: 10
Απ: KTurtle : Περιβάλλον Προγραμματισμού σε Logo
« Απάντηση #5 στις: 17 Μάι 2010, 12:03:31 μμ »
Καλησπέρα, είμαι φοιτητής του τμήματος Πληροφορικής & Τηλεπικοινωνιών και κάνω την πτυχιακή μου εργασία που αφορά τη σύγκριση Logo-Like περιβαλλόντων. Μόλις εγκατέστησα το kturtle και έχω κάποιες απορίες. :)
Στο microworlds pro ο χρήστης μπορεί να κάνει εισαγωγή σχημάτων από μια καρτέλα. Στο kturtle πως μπορεί να γίνει αυτό;
Επίσης, πως μπορώ να εισάγω εκτός από την αρχική χελώνα και άλλες στον καμβά;
Αυτά για αρχή!! :P

Κάποιος;;; :(

markakis

  • Working Dead
  • Βετεράνος
  • ****
  • Μηνύματα: 70
Απ: KTurtle : Περιβάλλον Προγραμματισμού σε Logo
« Απάντηση #6 στις: 17 Μάι 2010, 01:32:37 μμ »
Στο microworlds pro ο χρήστης μπορεί να κάνει εισαγωγή σχημάτων από μια καρτέλα. Στο kturtle πως μπορεί να γίνει αυτό;
Επίσης, πως μπορώ να εισάγω εκτός από την αρχική χελώνα και άλλες στον καμβά;

Και στα δυο ερωτήματα η απάντηση είναι ότι δεν υπάρχουν αυτές οι δυνατότητες/λειτουργίες στο KTurtle.

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

mbot

  • Οπαδός
  • **
  • Μηνύματα: 10
Απ: KTurtle : Περιβάλλον Προγραμματισμού σε Logo
« Απάντηση #7 στις: 25 Μάι 2010, 06:35:02 μμ »
Και στα δυο ερωτήματα η απάντηση είναι ότι δεν υπάρχουν αυτές οι δυνατότητες/λειτουργίες στο KTurtle.

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

Καλησπέρα. Τα διάβασα τα παραπάνω και τα χρησιμοποίησα και βλέπω αρκετές ομοιότητες με το microworlds pro. Αλλά έχω το εξής πρόβλημα.. Στο microworlds pro είχα υλοποιήσει το παιχνίδι της τρίλιζας με δύο παίκτες. Δηλαδή είχα φτιάξει 9 τετράγωνα-χελώνες στις οποίες όταν γινόταν κλικ μετατρέπονταν σε Χ ή Ο ανάλογα με το ποιος έπαιζε. Όμως αφού εδώ δεν μπορούμε να βάλουμε νέες χελώνες και σχήματα στο kturtle πως μπορεί να υλοποιηθεί το παιχνίδι αυτό; Μια ιδέα θα μου ήταν πολύ χρήσιμη.

Επίσης, ήχο,εικόνα και βίντεο μπορούμε να εισάγουμε στο kturtle;

Ευχαριστώ πολύ!!!!  :)
« Τελευταία τροποποίηση: 25 Μάι 2010, 07:12:27 μμ από mbot »

denix

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 137
Απ: KTurtle : Περιβάλλον Προγραμματισμού σε Logo
« Απάντηση #8 στις: 26 Μάι 2010, 02:39:47 πμ »
Επίσης, ήχο,εικόνα και βίντεο μπορούμε να εισάγουμε στο kturtle;
Όχι...  :(
Καλησπέρα. Τα διάβασα τα παραπάνω και τα χρησιμοποίησα και βλέπω αρκετές ομοιότητες με το microworlds pro. Αλλά έχω το εξής πρόβλημα.. Στο microworlds pro είχα υλοποιήσει το παιχνίδι της τρίλιζας με δύο παίκτες. Δηλαδή είχα φτιάξει 9 τετράγωνα-χελώνες στις οποίες όταν γινόταν κλικ μετατρέπονταν σε Χ ή Ο ανάλογα με το ποιος έπαιζε. Όμως αφού εδώ δεν μπορούμε να βάλουμε νέες χελώνες και σχήματα στο kturtle πως μπορεί να υλοποιηθεί το παιχνίδι αυτό; Μια ιδέα θα μου ήταν πολύ χρήσιμη.
Ζωγραφίζοντας. Δες συνημμένα.

mbot

  • Οπαδός
  • **
  • Μηνύματα: 10
Απ: KTurtle : Περιβάλλον Προγραμματισμού σε Logo
« Απάντηση #9 στις: 26 Μάι 2010, 11:54:31 πμ »
Όχι...  :(Ζωγραφίζοντας. Δες συνημμένα.

Οκ. Μου εμφανίζει κάποια σφάλματα στον κώδικα.  :( Για παράδειγμα η πρώτη συνάρτηση είναι όπως παρακάτω:
μάθε πλέγμα {
  χσ 0,0,0
  πήγαινε 50,50
  επανάλαβε 4 {σδ 90 μπ 300}
  πήγαινε 150, 350 μπ 300
  πήγαινε 250, 350 μπ 300
  σδ 90
  πήγαινε 50, 150 μπ 300
  πήγαινε 50, 250 μπ 300
  σα 90
  κέντρο
}

δίπλα στο μάθε δηλαδή δεν καταλαβαίνει τι είναι. Το ίδιο συμβαίνει και στις επόμενες συναρτήσεις. Έκανα κάτι λάθος;;  :(

denix

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 137
Απ: KTurtle : Περιβάλλον Προγραμματισμού σε Logo
« Απάντηση #10 στις: 26 Μάι 2010, 04:26:10 μμ »
δίπλα στο μάθε δηλαδή δεν καταλαβαίνει τι είναι. Το ίδιο συμβαίνει και στις επόμενες συναρτήσεις. Έκανα κάτι λάθος;;  :(
Δες.
Κώδικας: [Επιλογή]
αρχικοποίησε
#################
μάθε πλέγμα {
  χσ 0,0,0
  πήγαινε 50,50
  επανάλαβε 4 {σδ 90 μπ 300}
  πήγαινε 150, 350 μπ 300
  πήγαινε 250, 350 μπ 300
  σδ 90
  πήγαινε 50, 150 μπ 300
  πήγαινε 50, 250 μπ 300
  σα 90
  κέντρο
}
μάθε ετικέτες {
χσ 0,255,0
$χ=50 $ψ=48 $α=1
  επανάλαβε 3 {
    επανάλαβε 3 {
      πήγαινε $χ, $ψ
      τύπωσε $α
      $α=$α+1
      $χ=$χ+100
    }
  $χ=50
  $ψ=$ψ+100
  }
}
μάθε καρέκλα {
  πήγαινε 375,200 κατ 0
}
μάθε ο $χ, $ψ {
  χσ 255,0,0
  πήγαινε $χ-4, $ψ+2
  σπ κατ 0 μπ 40 σδ 90 σκ
    επανάλαβε 30 {
      μπ 8 σδ 12
    }
  καρέκλα
}
μάθε χ $χ, $ψ {
  χσ 0,0,255
  πήγαινε $χ, $ψ
  σδ 45
  μπ 50 πι 100 μπ 50
  σα 90
  μπ 50 πι 100 μπ 50
  καρέκλα
}
# Ακέραια Διαίρεση
# ΜΟΝΟ για θετικούς >=1
μάθε αδ $α, $β {
  $π=στρογγυλοποίησε($α/$β-0.5)
  επίστρεψε $π
}
# Υπόλοιπο
# ΜΟΝΟ για θετικούς >=1
μάθε υπόλοιπο $α, $β {
  $υ=$α - $β * στρογγυλοποίησε($α/$β-0.5)
  επίστρεψε $υ
}

# Εμφάνιση πλέγματος
μσ 5
πλέγμα
ετικέτες
μσ 3
καρέκλα

# τεστ
# χ 100, 100
# ο 200, 200
# χ 300, 300
# ο 100, 200
# χ 300, 200
# ο 300, 100

# Δοκιμαστικό για θέσεις
επανάλαβε 4 {
  $πχ = ερώτηση "Παίκτης [Χ]: Δώσε θέση (από 1 ως 9)"
  $ι=υπόλοιπο ($πχ+2), 3
  $ι=($ι + 1) * 100
  $κ = (αδ ($πχ+2), 3) * 100
  χ $ι, $κ

  $πο = ερώτηση "Παίκτης [Ο]: Δώσε θέση (από 1 ως 9)"
  $ι=υπόλοιπο ($πο+2), 3
  $ι=($ι + 1) * 100
  $κ = (αδ ($πο+2), 3) * 100
  ο $ι, $κ
}


aspd

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 447
Απ: KTurtle : Περιβάλλον Προγραμματισμού σε Logo
« Απάντηση #11 στις: 15 Ιούν 2010, 11:15:32 μμ »
Χρησιμοποίησα το microworlds pro φέτος μέσα από wine σε ubuntu 9.04 περιβάλλον.
Τη νέα χρονιά λέω να χρησιμοποιήσω το kturtle.
Το υλικό που παραθέτεις και κυρίως η  προσαρμογή του κεφαλαίου 2 είναι ό, τι ακριβώς χρειαζόμουνα.
Ευχαριστώ πολύ

Προσπάθησα να εγκαταστήσω τα ελληνικά στο kturtle με βάση τις παρακάτω οδηγίες
1. Copy logokeywords.el_GR.xml to kdeedu/kturtle/src/data/keywords/

2. Copy logohighlightstyle.el_GR.xml to kdeedu/kturtle/src/data/highlightstyles/

3. Copy el_GR directory to kdeedu/kturtle/examples/



In Ubuntu these paths are:

1. /usr/share/apps/kturtle/data/

2. /usr/share/apps/katepart/syntax/

3. /usr/share/apps/kturtle/examples/

Δεν υπάρχουν τα παραπάνω paths για  ubuntu 9.04.
Έχω /usr/share/kde4/apps/kturtle, αλλά δεν ακολουθεί data ή examples

Τελικά έστησα την εξελληνισμένη έκδοση με βάση το
http://wiki.ubuntu-gr.org/Γυμνάσιο/kturtle/2.0.1 Εγκατάσταση σε Ubuntu, όπου δούλεψε κατευθείαν.

« Τελευταία τροποποίηση: 17 Ιούν 2010, 04:56:06 μμ από aspd »

mbot

  • Οπαδός
  • **
  • Μηνύματα: 10
Απ: KTurtle : Περιβάλλον Προγραμματισμού σε Logo
« Απάντηση #12 στις: 22 Ιούν 2010, 01:50:42 μμ »
Με βάση τον κώδικα που δώσατε πήρα και τροποποίησα την τρίλιζα για παιχνίδι με δύο παίκτες και παιχνίδι με υπολογιστή. Τα ανεβάζω να τα δείτε και να μου πείτε την άποψή σας και πιθανές ιδέες για βελτιώσεις.

Κώδικας: [Επιλογή]
#################
αρχικοποίησε
$χ1=-1
$χ2=-1
$χ3=-1
$χ4=-1
$χ5=-1
$χ6=-1
$χ7=-1
$χ8=-1
$χ9=-1
$σημαία=0
$σειρά=0 #ζυγά παίζει ο Χ,μονά ο Ο
$νικητής=0
$έλεγχος=0
#################

#Το πλέγμα φτιάχνει το σχήμα της τρίλιζας!
μάθε πλέγμα {
  χσ 0,0,0
  πήγαινε 50,50
  επανάλαβε 4 {σδ 90 μπ 300}
  πήγαινε 150, 350 μπ 300
  πήγαινε 250, 350 μπ 300
  σδ 90
  πήγαινε 50, 150 μπ 300
  πήγαινε 50, 250 μπ 300
  σα 90
  κέντρο
}
#################
#Βάζει τους αριθμούς στα τετράγωνα της τρίλιζας. Από 1 μέχρι 9
μάθε ετικέτες {
χσ 0,255,0
$χ=50 #συντεταγμένη χ
$ψ=48 #συντεταγμένη ψ
$α=1 #νούμερα από 1 μέχρι 9
  επανάλαβε 3
{
  επανάλαβε 3
{
    πήγαινε $χ, $ψ
      τύπωσε $α
      $α=$α+1
      $χ=$χ+100
   }
  $χ=50
$ψ=$ψ+100
  }
}
#################
#Μετακινεί τη χελώνα στη 375,200 για να μην παρεμβάλλεται στο σχήμα
μάθε καρέκλα {
  πήγαινε 375,200 κατ 0
}
#################
#Σχηματίζει το Ο στις συντεταγμένες που δινονται
μάθε ο $χ, $ψ {
  χσ 255,0,0
$σημαία=0
$έλεγχος=0
αν ($χ == 100) και ($ψ == 100)
{
αν $χ1==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ1==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ1=2
}
}
αν ($χ == 200) και ($ψ == 100)
{
αν $χ2==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ2==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ2=2
}
}
αν ($χ == 300) και ($ψ == 100)
{
αν $χ3==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ3==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ3=2
}
}
αν ($χ == 100) και ($ψ == 200)
{
αν $χ4==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ4==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ4=2
}
}
αν ($χ == 200) και ($ψ == 200)
{
αν $χ5==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ5==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ5=2
}
}
αν ($χ == 300) και ($ψ == 200)
{
αν $χ6==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ6==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ6=2
}
}
αν ($χ == 100) και ($ψ == 300)
{
αν $χ7==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ7==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ7=2
}
}
αν ($χ == 200) και ($ψ == 300)
{
αν $χ8==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ8==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ8=2
}
}
αν ($χ == 300) και ($ψ == 300)
{
αν $χ9==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ9==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ9=2
}
}
αν ($σημαία == 0)
{
πήγαινε $χ-4, $ψ+2
πήγαινε $χ, $ψ
  σπ κατ 0 μπ 40 σδ 90 σκ
    επανάλαβε 30
{
    μπ 8 σδ 12
    }
  καρέκλα
}
}
#################
#Σχηματίζει το Χ στις συντεταγμένες που δινονται
μάθε χ $χ, $ψ {
  χσ 0,0,255
$σημαία=0
αν ($χ == 100) και ($ψ == 100)
{
αν $χ1==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ1==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ1=1
}
}
αν ($χ == 200) και ($ψ == 100)
{
αν $χ2==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ2==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ2=1
}
}
αν ($χ == 300) και ($ψ == 100)
{
αν $χ3==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ3==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ3=1
}
}
αν ($χ == 100) και ($ψ == 200)
{
αν $χ4==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ4==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ4=1
}
}
αν ($χ == 200) και ($ψ == 200)
{
αν $χ5==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ5==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ5=1
}
}
αν ($χ == 300) και ($ψ == 200)
{
αν $χ6==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ6==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ6=1
}
}
αν ($χ == 100) και ($ψ == 300)
{
αν $χ7==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ7==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ7=1
}
}
αν ($χ == 200) και ($ψ == 300)
{
αν $χ8==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ8==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ8=1
}
}
αν ($χ == 300) και ($ψ == 300)
{
αν $χ9==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ9==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ9=1
}
}
αν ($σημαία == 0)
{
  πήγαινε $χ, $ψ
  σδ 45
  μπ 50 πι 100 μπ 50
  σα 90
  μπ 50 πι 100 μπ 50
  καρέκλα
}
}
#################
μάθε έλεγξε_νικητή
{
αν ( ($χ1==1) και ($χ4==1) και ($χ7==1))
{νικητήςΧ}
αλλιώς αν ( ($χ1==1) και ($χ2==1) και($χ3==1) ) {νικητήςΧ}
αλλιώς αν ( ($χ1==1) και ($χ5==1) και ($χ9==1) ) {νικητήςΧ}

αλλιώς αν ( ($χ1==2) και ($χ4==2) και ($χ7==2) ) {νικητήςΟ}
αλλιώς αν ( ($χ1==2) και ($χ2==2) και ($χ3==2) ) {νικητήςΟ}
αλλιώς αν ( ($χ1==2) και ($χ5==2) και ($χ9==2) ) {νικητήςΟ}

αλλιώς αν ( ($χ2==1) και ($χ5==1) και ($χ8==1) ) {νικητήςΧ}

αλλιώς αν ( ($χ2==2) και ($χ5==2) και ($χ8==2) ) {νικητήςΟ}

αλλιώς αν ( ($χ3==1) και ($χ6==1) και ($χ9==1) ) {νικητήςΧ}
αλλιώς αν ( ($χ3==1) και ($χ5==1) και ($χ7==1) ) {νικητήςΧ}

αλλιώς αν ( ($χ3==2) και ($χ6==2) και ($χ9==2) ) {νικητήςΟ}
αλλιώς αν ( ($χ3==2) και ($χ5==2) και ($χ7==2) ) {νικητήςΟ}

αλλιώς αν ( ($χ4==1) και ($χ5==1) και ($χ6==1) ) {νικητήςΧ}
αλλιώς αν ( ($χ4==2) και ($χ5==2) και ($χ6==2) ) {νικητήςΟ}

αλλιώς αν ( ($χ7==1) και ($χ8==1) και ($χ9==1) ) {νικητήςΧ}
αλλιώς αν ( ($χ7==2) και ($χ8==2) και ($χ7==2) ) {νικητήςΟ}
}
#################
μάθε νικητήςΧ
{
$νικητής="Χ"
μήνυμα "Ο Παίχτης με το X κερδίζει!!! Για να ξαναπαίξετε κάντε κλικ στο κουμπί Εκτέλεση"
}
#################
μάθε νικητήςΟ
{
$νικητής="Ο"
μήνυμα "Ο Παίχτης με το Ο κερδίζει!!! Για να ξαναπαίξετε κάντε κλικ στο κουμπί Εκτέλεση"
}
#################

# Εμφάνιση πλέγματος
μσ 5
πλέγμα
ετικέτες
μσ 3
καρέκλα

όσο ($σειρά <9) και ($νικητής == 0)
{
αν (($σειρά==0) ή($σειρά==2)   ή($σειρά==4) ή ($σειρά==6) ή ($σειρά==8))
{
  $πχ = ερώτηση "Παίκτης [Χ]: Δώσε θέση (από 1 ως 9)"
αν ($πχ==1)
{
$χχ=100
$ψψ=100
}
αλλιώς αν ($πχ==2)
{
$χχ=200
$ψψ=100
}
αλλιώς αν ($πχ==3)
{
$χχ=300
$ψψ=100
}
αλλιώς αν ($πχ==4)
{
$χχ=100
$ψψ=200
}
αλλιώς αν ($πχ==5)
{
$χχ=200
$ψψ=200
}
αλλιώς αν ($πχ==6)
{
$χχ=300
$ψψ=200
}
αλλιώς αν ($πχ==7)
{
$χχ=100
$ψψ=300
}
αλλιώς αν ($πχ==8)
{
$χχ=200
$ψψ=300
}
αλλιώς αν ($πχ==9)
{
$χχ=300
$ψψ=300
}
# μήνυμα "χχ="+$χχ+" ψψ="+$ψψ
  χ $χχ, $ψψ
έλεγξε_νικητή
}
αλλιώς αν (($σειρά==1) ή($σειρά==3)   ή($σειρά==5) ή ($σειρά==7) ή ($σειρά==9))
{
  $πο = ερώτηση "Παίκτης [Ο]: Δώσε θέση (από 1 ως 9)"
  αν ($πο==1)
{
$χχ=100
$ψψ=100
}
αλλιώς αν ($πο==2)
{
$χχ=200
$ψψ=100
}
αλλιώς αν ($πο==3)
{
$χχ=300
$ψψ=100
}
αλλιώς αν ($πο==4)
{
$χχ=100
$ψψ=200
}
αλλιώς αν ($πο==5)
{
$χχ=200
$ψψ=200
}
αλλιώς αν ($πο==6)
{
$χχ=300
$ψψ=200
}
αλλιώς αν ($πο==7)
{
$χχ=100
$ψψ=300
}
αλλιώς αν ($πο==8)
{
$χχ=200
$ψψ=300
}
αλλιώς αν ($πο==9)
{
$χχ=300
$ψψ=300
}
# μήνυμα "χχ="+$χχ+" ψψ="+$ψψ
  ο $χχ, $ψψ
έλεγξε_νικητή
}
αν ($έλεγχος!=1)
{
$σειρά = $σειρά + 1
# μήνυμα "Σειρά = " +$σειρά
}
}
αν $νικητής==0
{
μήνυμα "Ισοπαλία. Για να ξαναπαίξετε κάντε κλικ στο κουμπί Εκτέλεση"
}[pre][/pre]

mbot

  • Οπαδός
  • **
  • Μηνύματα: 10
Απ: KTurtle : Περιβάλλον Προγραμματισμού σε Logo
« Απάντηση #13 στις: 22 Ιούν 2010, 01:51:43 μμ »
Και ο κώδικας για το παιχνίδι με τον υπολογιστή:

Κώδικας: [Επιλογή]
#################
αρχικοποίησε
$χ1=-1
$χ2=-1
$χ3=-1
$χ4=-1
$χ5=-1
$χ6=-1
$χ7=-1
$χ8=-1
$χ9=-1
$σημαία=0
$σειρά=0 #ζυγά παίζει ο Χ,μονά ο Ο
$νικητής=0
$έλεγχος=0
#################

#Το πλέγμα φτιάχνει το σχήμα της τρίλιζας!
μάθε πλέγμα {
  χσ 0,0,0
  πήγαινε 50,50
  επανάλαβε 4 {σδ 90 μπ 300}
  πήγαινε 150, 350 μπ 300
  πήγαινε 250, 350 μπ 300
  σδ 90
  πήγαινε 50, 150 μπ 300
  πήγαινε 50, 250 μπ 300
  σα 90
  κέντρο
}
#################
#Βάζει τους αριθμούς στα τετράγωνα της τρίλιζας. Από 1 μέχρι 9
μάθε ετικέτες {
χσ 0,255,0
$χ=50 #συντεταγμένη χ
$ψ=48 #συντεταγμένη ψ
$α=1 #νούμερα από 1 μέχρι 9
  επανάλαβε 3
{
  επανάλαβε 3
{
    πήγαινε $χ, $ψ
      τύπωσε $α
      $α=$α+1
      $χ=$χ+100
   }
  $χ=50
$ψ=$ψ+100
  }
}
#################
#Μετακινεί τη χελώνα στη 375,200 για να μην παρεμβάλλεται στο σχήμα
μάθε καρέκλα {
  πήγαινε 375,200 κατ 0
}
#################
#Σχηματίζει το Ο στις συντεταγμένες που δινονται
μάθε υπολογιστής
{
αν (($χ1==2) και ($χ4==2) και ($χ7==-1))
{ο 100,300}
αλλιώς αν (($χ1==2) και ($χ4==-1) και ($χ7==2))
{ο 100,200}
αλλιώς αν (($χ1==-1) και ($χ4==2) και ($χ7==2))
{ο 100,100}

αλλιώς αν (($χ1==2) και ($χ2==2) και ($χ3==-1))
{ο 300,100}
αλλιώς αν (($χ1==2) και ($χ2==-1) και ($χ3==2))
{ο 200,100}
αλλιώς αν (($χ1==-1) και ($χ2==2) και ($χ3==2))
{ο 100,100}

αλλιώς αν (($χ1==2) και ($χ5==2) και ($χ9==-1))
{ο 300,300}
αλλιώς αν (($χ1==2) και ($χ5==-1) και ($χ9==2))
{ο 200,200}
αλλιώς αν (($χ1==-1) και ($χ5==2) και ($χ9==2))
{ο 100,100}

αλλιώς αν (($χ2==2) και ($χ5==2) και ($χ8==-1))
{ο 200,300}
αλλιώς αν (($χ2==2) και ($χ5==-1) και ($χ8==2))
{ο 200,200}
αλλιώς αν (($χ2==-1) και ($χ5==2) και ($χ8==2))
{ο 200,100}

αλλιώς αν (($χ3==2) και ($χ6==2) και ($χ9==-1))
{ο 300,300}
αλλιώς αν (($χ3==2) και ($χ6==-1) και ($χ9==2))
{ο 300,200}
αλλιώς αν (($χ3==-1) και ($χ6==2) και ($χ9==2))
{ο 300,100}

αλλιώς αν (($χ3==2) και ($χ5==2) και ($χ7==-1))
{ο 100,300}
αλλιώς αν (($χ3==2) και ($χ5==-1) και ($χ7==2))
{ο 200,200}
αλλιώς αν (($χ3==-1) και ($χ5==2) και ($χ7==2))
{ο 300,100}

αλλιώς αν (($χ4==2) και ($χ5==2) και ($χ6==-1))
{ο 300,200}
αλλιώς αν (($χ4==2) και ($χ5==-1) και ($χ6==2))
{ο 200,200}
αλλιώς αν (($χ4==-1) και ($χ5==2) και ($χ6==2))
{ο 100,200}

αλλιώς αν (($χ7==2) και ($χ8==2) και ($χ9==-1))
{ο 300,300}
αλλιώς αν (($χ7==2) και ($χ8==-1) και ($χ9==2))
{ο 200,300}
αλλιώς αν (($χ7==-1) και ($χ8==2) και ($χ9==2))
{ο 100,300}
#########################################
αλλιώς αν (($χ1==1) και ($χ4==1) και ($χ7==-1))
{ο 100,300}
αλλιώς αν (($χ1==1) και ($χ4==-1) και ($χ7==1))
{ο 100,200}
αλλιώς αν (($χ1==-1) και ($χ4==1) και ($χ7==1))
{ο 100,100}

αλλιώς αν (($χ1==1) και ($χ2==1) και ($χ3==-1))
{ο 300,100}
αλλιώς αν (($χ1==1) και ($χ2==-1) και ($χ3==1))
{ο 200,100}
αλλιώς αν (($χ1==-1) και ($χ2==1) και ($χ3==1))
{ο 100,100}

αλλιώς αν (($χ1==1) και ($χ5==1) και ($χ9==-1))
{ο 300,300}
αλλιώς αν (($χ1==1) και ($χ5==-1) και ($χ9==1))
{ο 200,200}
αλλιώς αν (($χ1==-1) και ($χ5==1) και ($χ9==1))
{ο 100,100}

αλλιώς αν (($χ2==1) και ($χ5==1) και ($χ8==-1))
{ο 200,300}
αλλιώς αν (($χ2==1) και ($χ5==-1) και ($χ8==1))
{ο 200,200}
αλλιώς αν (($χ2==-1) και ($χ5==1) και ($χ8==1))
{ο 200,100}

αλλιώς αν (($χ3==1) και ($χ6==1) και ($χ9==-1))
{ο 300,300}
αλλιώς αν (($χ3==1) και ($χ6==-1) και ($χ9==1))
{ο 300,200}
αλλιώς αν (($χ3==-1) και ($χ6==1) και ($χ9==1))
{ο 300,100}

αλλιώς αν (($χ3==1) και ($χ5==1) και ($χ7==-1))
{ο 100,300}
αλλιώς αν (($χ3==1) και ($χ5==-1) και ($χ7==1))
{ο 200,200}
αλλιώς αν (($χ3==-1) και ($χ5==1) και ($χ7==1))
{ο 300,100}

αλλιώς αν (($χ4==1) και ($χ5==1) και ($χ6==-1))
{ο 300,200}
αλλιώς αν (($χ4==1) και ($χ5==-1) και ($χ6==1))
{ο 200,200}
αλλιώς αν (($χ4==-1) και ($χ5==1) και ($χ6==1))
{ο 100,200}

αλλιώς αν (($χ7==1) και ($χ8==1) και ($χ9==-1))
{ο 300,300}
αλλιώς αν (($χ7==1) και ($χ8==-1) και ($χ9==1))
{ο 200,300}
αλλιώς αν (($χ7==-1) και ($χ8==1) και ($χ9==1))
{ο 100,300}
#########################################
αλλιώς αν ($χ1==-1)
{ο 100,100}
αλλιώς αν ($χ2==-1)
{ο 200,100}
αλλιώς αν ($χ3==-1)
{ο 300,200}
αλλιώς αν ($χ4==-1)
{ο 100,200}
αλλιώς αν ($χ5==-1)
{ο 200,200}
αλλιώς αν ($χ6==-1)
{ο 300,200}
αλλιώς αν ($χ7==-1)
{ο 100,300}
αλλιώς αν ($χ8==-1)
{ο 200,300}
αλλιώς αν ($χ9==-1)
{ο 300,300}

}
μάθε ο $χ, $ψ {
  χσ 255,0,0
$σημαία=0
$έλεγχος=0
αν ($χ == 100) και ($ψ == 100)
{
αν $χ1==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ1==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ1=2
}
}
αν ($χ == 200) και ($ψ == 100)
{
αν $χ2==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ2==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ2=2
}
}
αν ($χ == 300) και ($ψ == 100)
{
αν $χ3==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ3==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ3=2
}
}
αν ($χ == 100) και ($ψ == 200)
{
αν $χ4==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ4==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ4=2
}
}
αν ($χ == 200) και ($ψ == 200)
{
αν $χ5==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ5==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ5=2
}
}
αν ($χ == 300) και ($ψ == 200)
{
αν $χ6==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ6==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ6=2
}
}
αν ($χ == 100) και ($ψ == 300)
{
αν $χ7==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ7==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ7=2
}
}
αν ($χ == 200) και ($ψ == 300)
{
αν $χ8==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ8==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ8=2
}
}
αν ($χ == 300) και ($ψ == 300)
{
αν $χ9==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ9==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ9=2
}
}
αν ($σημαία == 0)
{
πήγαινε $χ-4, $ψ+2
πήγαινε $χ, $ψ
  σπ κατ 0 μπ 40 σδ 90 σκ
    επανάλαβε 30
{
    μπ 8 σδ 12
    }
  καρέκλα
}
}
#################
#Σχηματίζει το Χ στις συντεταγμένες που δινονται
μάθε χ $χ, $ψ {
  χσ 0,0,255
$σημαία=0
αν ($χ == 100) και ($ψ == 100)
{
αν $χ1==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ1==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ1=1
}
}
αν ($χ == 200) και ($ψ == 100)
{
αν $χ2==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ2==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ2=1
}
}
αν ($χ == 300) και ($ψ == 100)
{
αν $χ3==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ3==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ3=1
}
}
αν ($χ == 100) και ($ψ == 200)
{
αν $χ4==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ4==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ4=1
}
}
αν ($χ == 200) και ($ψ == 200)
{
αν $χ5==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ5==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ5=1
}
}
αν ($χ == 300) και ($ψ == 200)
{
αν $χ6==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ6==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ6=1
}
}
αν ($χ == 100) και ($ψ == 300)
{
αν $χ7==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ7==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ7=1
}
}
αν ($χ == 200) και ($ψ == 300)
{
αν $χ8==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ8==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ8=1
}
}
αν ($χ == 300) και ($ψ == 300)
{
αν $χ9==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ9==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ9=1
}
}
αν ($σημαία == 0)
{
  πήγαινε $χ, $ψ
  σδ 45
  μπ 50 πι 100 μπ 50
  σα 90
  μπ 50 πι 100 μπ 50
  καρέκλα
}
}
#################
μάθε έλεγξε_νικητή
{
αν ( ($χ1==1) και ($χ4==1) και ($χ7==1))
{νικητήςΧ}
αλλιώς αν ( ($χ1==1) και ($χ2==1) και($χ3==1) ) {νικητήςΧ}
αλλιώς αν ( ($χ1==1) και ($χ5==1) και ($χ9==1) ) {νικητήςΧ}

αλλιώς αν ( ($χ1==2) και ($χ4==2) και ($χ7==2) ) {νικητήςΟ}
αλλιώς αν ( ($χ1==2) και ($χ2==2) και ($χ3==2) ) {νικητήςΟ}
αλλιώς αν ( ($χ1==2) και ($χ5==2) και ($χ9==2) ) {νικητήςΟ}

αλλιώς αν ( ($χ2==1) και ($χ5==1) και ($χ8==1) ) {νικητήςΧ}

αλλιώς αν ( ($χ2==2) και ($χ5==2) και ($χ8==2) ) {νικητήςΟ}

αλλιώς αν ( ($χ3==1) και ($χ6==1) και ($χ9==1) ) {νικητήςΧ}
αλλιώς αν ( ($χ3==1) και ($χ5==1) και ($χ7==1) ) {νικητήςΧ}

αλλιώς αν ( ($χ3==2) και ($χ6==2) και ($χ9==2) ) {νικητήςΟ}
αλλιώς αν ( ($χ3==2) και ($χ5==2) και ($χ7==2) ) {νικητήςΟ}

αλλιώς αν ( ($χ4==1) και ($χ5==1) και ($χ6==1) ) {νικητήςΧ}
αλλιώς αν ( ($χ4==2) και ($χ5==2) και ($χ6==2) ) {νικητήςΟ}

αλλιώς αν ( ($χ7==1) και ($χ8==1) και ($χ9==1) ) {νικητήςΧ}
αλλιώς αν ( ($χ7==2) και ($χ8==2) και ($χ7==2) ) {νικητήςΟ}
}
#################
μάθε νικητήςΧ
{
$νικητής="Χ"
μήνυμα "Ο Παίχτης με το X κερδίζει!!! Για να ξαναπαίξετε κάντε κλικ στο κουμπί Εκτέλεση"
}
#################
μάθε νικητήςΟ
{
$νικητής="Ο"
μήνυμα "Ο Παίχτης με το Ο κερδίζει!!! Για να ξαναπαίξετε κάντε κλικ στο κουμπί Εκτέλεση"
}
#################

# Εμφάνιση πλέγματος
μσ 5
πλέγμα
ετικέτες
μσ 3
καρέκλα

όσο ($σειρά <9) και ($νικητής == 0)
{
αν (($σειρά==0) ή($σειρά==2)   ή($σειρά==4) ή ($σειρά==6) ή ($σειρά==8))
{
  $πχ = ερώτηση "Παίκτης [Χ]: Δώσε θέση (από 1 ως 9)"
αν ($πχ==1)
{
$χχ=100
$ψψ=100
}
αλλιώς αν ($πχ==2)
{
$χχ=200
$ψψ=100
}
αλλιώς αν ($πχ==3)
{
$χχ=300
$ψψ=100
}
αλλιώς αν ($πχ==4)
{
$χχ=100
$ψψ=200
}
αλλιώς αν ($πχ==5)
{
$χχ=200
$ψψ=200
}
αλλιώς αν ($πχ==6)
{
$χχ=300
$ψψ=200
}
αλλιώς αν ($πχ==7)
{
$χχ=100
$ψψ=300
}
αλλιώς αν ($πχ==8)
{
$χχ=200
$ψψ=300
}
αλλιώς αν ($πχ==9)
{
$χχ=300
$ψψ=300
}
# μήνυμα "χχ="+$χχ+" ψψ="+$ψψ
  χ $χχ, $ψψ
έλεγξε_νικητή
}
αλλιώς αν (($σειρά==1) ή($σειρά==3)   ή($σειρά==5) ή ($σειρά==7) ή ($σειρά==9))
{
  υπολογιστής
}
αν ($έλεγχος!=1)
{
$σειρά = $σειρά + 1
# μήνυμα "Σειρά = " +$σειρά
}
}
αν $νικητής==0
{
μήνυμα "Ισοπαλία. Για να ξαναπαίξετε κάντε κλικ στο κουμπί Εκτέλεση"
}

mbot

  • Οπαδός
  • **
  • Μηνύματα: 10
Απ: KTurtle : Περιβάλλον Προγραμματισμού σε Logo
« Απάντηση #14 στις: 24 Ιούν 2010, 04:46:49 μμ »
Αυτή είναι η τελική μορφή της τρίλιζας, η οποία δίνει τη δυνατότητα στο χρήστη να επιλέξει στην αρχή του παιχνιδιού αν θα παίξει τρίλιζα με τον υπολογιστή ή με τρίλιζα με δύο παίκτες.
Θα ήθελα να ακούσω τις απόψεις σας για το πως σας φαίνεται. Ευχαριστώ πολύ.

Κώδικας: [Επιλογή]
#################
αρχικοποίησε
$χ1=-1
$χ2=-1
$χ3=-1
$χ4=-1
$χ5=-1
$χ6=-1
$χ7=-1
$χ8=-1
$χ9=-1
$σημαία=0
$σειρά=0 #ζυγά παίζει ο Χ, μονά ο Ο
$νικητής="ΚΑΝΕΙΣ"
$έλεγχος=0
$λάθος=1
$απάντηση=0
#################
#Το πλέγμα φτιάχνει το σχήμα της τρίλιζας!
μάθε πλέγμα {
χσ 0,0,0                                   #θέτει χρώμα στυλό το μαύρο

πήγαινε 50,50                         #πηγαίνει στη θέση με συντεταγμένες 50,50

επανάλαβε 4 {σδ 90 μπ 300}  #δημιουργεί τετράγωνο πλευράς 300

πήγαινε 150, 350 μπ 300        #πηγαίνει στη θέση με συντεταγμένες 150,350 και στη συνέχεια προχωράει μπροστά 300 εικονοστοιχεία. Αποτέλεσμα αυτού είναι η δημιουργία της 1ης στήλης του τετραγώνου.

πήγαινε 250, 350 μπ 300       # πηγαίνει στη θέση με συντεταγμένες 250,350 και στη συνέχεια προχωράει μπροστά 300 εικονοστοιχεία. Αποτέλεσμα αυτού είναι ο διαχωρισμός του τετραγώνου σε 3 στήλες.

σδ 90                                     #στρίβει δεξιά 90 μοίρες
πήγαινε 50, 150 μπ 300        #πηγαίνει στη θέση με συντεταγμένες 50,150 και στη συνέχεια προχωράει μπροστά 300 εικονοστοιχεία. Αποτέλεσμα αυτού είναι η δημιουργία της 1ης γραμμής του τετραγώνου.

πήγαινε 50, 250 μπ 300        #πηγαίνει στη θέση με συντεταγμένες 50,250 και στη συνέχεια προχωράει μπροστά 300 εικονοστοιχεία. Αποτέλεσμα αυτού είναι ο διαχωρισμός του τετραγώνου σε 3 γραμμές.

σα 90                                   #στρίβει αριστερά 90 μοίρες
κέντρο                                #μετακινείται στο κέντρο
}
#################
μσ 5                           #αλλάζει το μέγεθος στυλό σε 5.
πλέγμα
#Βάζει τους αριθμούς στα τετράγωνα της τρίλιζας. Από 1 μέχρι 9
μάθε ετικέτες {
χσ 0,255,0              #θέτει χρώμα στυλό πράσινο.
$χ=50                    #συντεταγμένη χ           
$ψ=48                   #συντεταγμένη ψ
$α=1                     #νούμερα από 1 μέχρι 9. Το α θα τυπώνουμε
επανάλαβε 3
{
         επανάλαβε 3   # σε αυτήν την επανάληψη τυπώνονται τα νούμερα τις γραμμές. Στην αρχή 1,2,3 μετά 4,5,6 και τέλος 7,8,9.
         {
              πήγαινε $χ, $ψ     #πηγαίνει στη θέση που θέλουμε
              τύπωσε $α            #τυπώνει το α
              $α=$α+1             #το αυξάνει κατά 1
              $χ=$χ+100          #μετακινείται δεξιά κατά 100 εικονοστοιχεία
         }
         $χ=50
         $ψ=$ψ+100              #μετακινείται κάτω κατά 100 εικονοστοιχεία
}
}
#################
ετικέτες
#Μετακινεί τη χελώνα στη 375,200 για να μην παρεμβάλλεται στο σχήμα
μάθε καρέκλα {
πήγαινε 375,200 κατ 0
}
#################
μσ 3                   # αλλάζει το μέγεθος στυλό σε 3.
καρέκλα
#Σχηματίζει το Χ στις συντεταγμένες που δίνονται
μάθε χ $χ, $ψ {                             #καλείται χ και συντεταγμένηΧ,συντεταγμένηΨ
χσ 0,0,255                                     #θέτει χρώμα στυλό μπλε
$σημαία=0
$έλεγχος=0
αν (($χ == 100) και ($ψ == 100))     #αν είμαστε στο πάνω αριστερά τετράγωνο
{
αν $χ1==1                                    # και η μεταβλητή χ1 είναι 1 το τετράγωνο έχει επιλεγεί ήδη από τον παίκτη με το «Χ»
{
$σημαία=1                                 #η σημαία γίνεται 1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"  #εκτυπώνεται μήνυμα
$έλεγχος=1                                #και η τιμή της μεταβλητής έλεγχος γίνεται 1
}
αλλιώς αν $χ1==2                     #αλλιώς αν η μεταβλητή χ1 είναι 2 το τετράγωνο έχει επιλεγεί ήδη από τον παίκτη με το «Ο»
{
$σημαία=1                                #η σημαία γίνεται 1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"   #εκτυπώνεται μήνυμα
$έλεγχος=1                               #και η τιμή της μεταβλητής έλεγχος γίνεται 1
}
αλλιώς                                      #αλλιώς το χ1 είναι ίσο με -1, και θα επιλεγεί από τον παίκτη με το «Χ»
{
$χ1=1                                       #και για αυτό η τιμή της μεταβλητή χ1 γίνεται 1
}
}
αλλιώς αν (($χ == 200) και ($ψ == 100))
{
αν $χ2==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ2==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ2=1
}
}
αλλιώς αν (($χ == 300) και ($ψ == 100))
{
αν $χ3==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ3==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ3=1
}
}
αλλιώς αν (($χ == 100) και ($ψ == 200))
{
αν $χ4==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ4==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ4=1
}
}
αλλιώς αν (($χ == 200) και ($ψ == 200))
{
αν $χ5==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ5==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ5=1
}
}
αλλιώς αν (($χ == 300) και ($ψ == 200))
{
αν $χ6==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ6==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ6=1
}
}
αλλιώς αν (($χ == 100) και ($ψ == 300))
{
αν $χ7==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ7==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ7=1
}
}
αλλιώς αν (($χ == 200) και ($ψ == 300))
{
αν $χ8==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ8==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ8=1
}
}
αλλιώς αν (($χ == 300) και ($ψ == 300))
{
αν $χ9==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ9==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ9=1
}
}
αν ($σημαία == 0)               #αν η σημαία είναι 0 τότε το τετράγωνο δεν έχει επιλεγεί και μπορούμε να ζωγραφίσουμε το Χ στο τετράγωνο αυτό.
{
πήγαινε $χ, $ψ                    #πηγαίνουμε στις συντεταγμένες που δίνονται
σδ 45                                 #και σχεδιάζουμε το Χ
μπ 50 πι 100 μπ 50
σα 90
μπ 50 πι 100 μπ 50
καρέκλα
}
}
#################
#Σχηματίζει το Ο στις συντεταγμένες που δίνονται
μάθε ο $χ, $ψ {                              #καλείται ο και συντεταγμένηΧ,συντεταγμένηΨ
χσ 255,0,0                                     #θέτει χρώμα στυλό κόκκινο
$σημαία=0
$έλεγχος=0
αν ($χ == 100) και ($ψ == 100)     #αν είμαστε στο πάνω αριστερά τετράγωνο
{
αν $χ1==1                                    # και η μεταβλητή χ1 είναι 1 το τετράγωνο έχει επιλεγεί ήδη από τον παίκτη με το «Χ»
{
$σημαία=1                                     #η σημαία γίνεται 1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"    #εκτυπώνεται μήνυμα
$έλεγχος=1                                   #και η τιμή της μεταβλητής έλεγχος γίνεται 1
}
αλλιώς αν $χ1==2                         #αλλιώς αν η μεταβλητή χ1 είναι 2 το τετράγωνο έχει επιλεγεί ήδη από τον παίκτη με το «Ο»
{
$σημαία=1                                    #η σημαία γίνεται 1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"    #εκτυπώνεται μήνυμα
$έλεγχος=1                                   #και η τιμή της μεταβλητής έλεγχος γίνεται 1
}
αλλιώς                                          #αλλιώς το χ1 είναι ίσο με -1, και θα επιλεγεί από τον παίκτη με το «Ο»
{
$χ1=2                                          #και για αυτό η τιμή της μεταβλητή χ1 γίνεται 2
}
}
αλλιώς αν (($χ == 200) και ($ψ == 100))
{
αν $χ2==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ2==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ2=2
}
}
αλλιώς αν (($χ == 300) και ($ψ == 100))
{
αν $χ3==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ3==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ3=2
}
}
αλλιώς αν (($χ == 100) και ($ψ == 200))
{
αν $χ4==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ4==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ4=2
}
}
αλλιώς αν (($χ == 200) και ($ψ == 200))
{
αν $χ5==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ5==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ5=2
}
}
αλλιώς αν (($χ == 300) και ($ψ == 200))
{
αν $χ6==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ6==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ6=2
}
}
αλλιώς αν (($χ == 100) και ($ψ == 300))
{
αν $χ7==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ7==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ7=2
}
}
αλλιώς αν (($χ == 200) και ($ψ == 300))
{
αν $χ8==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ8==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ8=2
}
}
αλλιώς αν (($χ == 300) και ($ψ == 300))
{
αν $χ9==1
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Χ"
$έλεγχος=1
}
αλλιώς αν $χ9==2
{
$σημαία=1
μήνυμα "Ήδη επιλεγμένο τετράγωνο από τον παίκτη με το Ο"
$έλεγχος=1
}
αλλιώς
{
$χ9=2
}
}
αν ($σημαία == 0)                       #αν η σημαία είναι 0 τότε το τετράγωνο δεν έχει επιλεγεί και μπορούμε να ζωγραφίσουμε το Χ στο τετράγωνο αυτό.

{
πήγαινε $χ, $ψ                            #πηγαίνουμε στις συντεταγμένες που δίνονται
σπ κατ 0 μπ 40 σδ 90 σκ               #και σχεδιάζουμε το Χ
επανάλαβε 30
{
μπ 8 σδ 12
}
καρέκλα
}
}
#################
μάθε έλεγξε_νικητή
{
αν ( ($χ1==1) και ($χ4==1) και ($χ7==1)){νικητήςΧ}
αλλιώς αν ( ($χ1==1) και ($χ2==1) και($χ3==1) ) {νικητήςΧ}
αλλιώς αν ( ($χ1==1) και ($χ5==1) και ($χ9==1) ) {νικητήςΧ}
αλλιώς αν ( ($χ1==2) και ($χ4==2) και ($χ7==2) ) {νικητήςΟ}
αλλιώς αν ( ($χ1==2) και ($χ2==2) και ($χ3==2) ) {νικητήςΟ}
αλλιώς αν ( ($χ1==2) και ($χ5==2) και ($χ9==2) ) {νικητήςΟ}

αλλιώς αν ( ($χ2==1) και ($χ5==1) και ($χ8==1) ) {νικητήςΧ}
αλλιώς αν ( ($χ2==2) και ($χ5==2) και ($χ8==2) ) {νικητήςΟ}

αλλιώς αν ( ($χ3==1) και ($χ6==1) και ($χ9==1) ) {νικητήςΧ}
αλλιώς αν ( ($χ3==1) και ($χ5==1) και ($χ7==1) ) {νικητήςΧ}
αλλιώς αν ( ($χ3==2) και ($χ6==2) και ($χ9==2) ) {νικητήςΟ}
αλλιώς αν ( ($χ3==2) και ($χ5==2) και ($χ7==2) ) {νικητήςΟ}

αλλιώς αν ( ($χ4==1) και ($χ5==1) και ($χ6==1) ) {νικητήςΧ}
αλλιώς αν ( ($χ4==2) και ($χ5==2) και ($χ6==2) ) {νικητήςΟ}

αλλιώς αν ( ($χ7==1) και ($χ8==1) και ($χ9==1) ) {νικητήςΧ}
αλλιώς αν ( ($χ7==2) και ($χ8==2) και ($χ7==2) ) {νικητήςΟ}
}
#################
μάθε νικητήςΧ
{
$νικητής="Χ"
μήνυμα "Ο Παίχτης με το X κερδίζει!!! Για να ξαναπαίξετε κάντε κλικ στο κουμπί Εκτέλεση!"
τέλος
}
#################
μάθε νικητήςΟ
{
$νικητής="Ο"
μήνυμα "Ο Παίχτης με το Ο κερδίζει!!! Για να ξαναπαίξετε κάντε κλικ στο κουμπί Εκτέλεση!"
τέλος
}

συνεχίζεται και στο επόμενο μήνυμα..