Παιχνίδι Pong2
Σελίδα 1 από 1
Παιχνίδι Pong2
Το γράφουμε σε αρχείο gsb (Σ "pong2.gsb" και επικόλληση και Esc και μετά Load pong2 και τρέχει άμεσα)
MODULE A {\\ Πρόγραμμα Μοναχός - Παιχνίδι τύπου Pong
\\ Version 2
γραμματοσειρά "Tahoma"
δυσκολια=2 \\ 3 περισσότερο
Σβήσε
Τύπος 18, 8000,2400
Κίνηση Κέντρο
Τμήμα Χτύπος {
Φωνή 2, 100,"g"
Παίξε 2, 127
}
Διαμέσου Συναρτήσεις
Περιθώριο 12 {
Ανανέωση 5000
Πίνακας Ψ$()
Ψ$()=Αρ$()
Οθόνη 5,0
Πένα 14
Ανανέωση 50
α$=""
β$=""
β1$=""
Θέση 0,0
Βάψε 300,Υ.σημεία, 15
θέση 0,0
Αντέγραψε 300,300 στο α$
Αντέγραψε 300,1800 στο β$
Αντέγραψε 300,Υ.σημεία στο β1$
Πάλι:
Δείκτη.Μορφή Κρύψε
οθόνη #222222,0
Τύπωσε @(5,5),
Πένα 7 {
Αναφορά {Παιχνίδι Μοναχός
Πάτησε P/Π για παύση
Πάτησε διάστημα...
...για τερματισμό
}
}
Για ι=0 έως Υ.σημεία ανά ύψος.σημείου*2 { Θέση 0,ι : Χάραξε Χ.σημεία, 0, #555555 }
χκ=αΚ(χ.σημεία/2-150)
χκ0=χ.σημεία/2
χκ03=χ.σημεία/3
χκ1=χκ-300*7
χκ2=χκ+900
χα0=850
χα00=0
χα2=χα0+150
χα1=400
χδ1=χ.σημεία-1000
χδ2=χδ1+600
Για ι=0 έως Υ.σημεια-300 ανά 600 { Αντέγραψε χκ, ι με α$ }
Σκορ1=0
Σκορ2=0
Αντέγραψε χκ1, 900 με ψ$(Σκορ1)
Αντέγραψε χκ2, 900 με ψ$(Σκορ2)
Υα=-900
Υα1=Υα-Υ.σημεία/4
Υα2=Υα1+Υ.σημεία/2
Υβ=Υ.σημεία+900
Υαβ=30
Παίκτης 1, 850,Υα Με β1$
Παίκτης 2, χδ1,10000 Με β$
Παίκτης 3, 850,Υβ Με β1$
Υ2=Υ.Σημεια-900-1000
Χμ=Χκ
Υμ=3000+τυχαίος(2,5)*300
Παίκτης 4, Χμ,Υμ Με α$,1,0, 45 μέγεθος 2
Για ι=1 εως 4 { Παίκτης ι Δείξε }
Υ3=Υ.Σημεία-300
Χ3=Χ.Σημεία-300
Υ4=Υ.Σημεία/2
Τχ=120
Τμ=120
Υπ=Δείκτης.Υ
Υ=ΥΠ
Νήμα {
Υπ=Υ : Υ=Δείκτης.Υ
} ως Νμ κάθε 25
Αναμονή 100
Σκορ=Ψευδές
Νήμα {
Αν Υ<1900 τότε { Υ=1900: Υπ=1900 } αλλιώς.αν Υ>Υ2 τότε Υ=Υ2: Υπ=Υ2
Αν Υμ<300 τότε { Τμ-! : Υμ+=Τμ } αλλιώς.αν Υμ>Υ3 τότε Τμ-! : Υμ+=Τμ
Αν σύγκρουση(4, 80, χα1,Υα+Υ4, χα2, Υβ-Υ4) ή Σκορ τότε {
Σκορ=Αληθές
} Αλλιως.Αν σύγκρουση(4, 100, χα1,Υα-Υ4, χα2, Υα+Υ4) τότε {
Τχ-! : Χμ=χα2+500
Τχ*=1.5
Χτύπος
} αλλιώς.αν σύγκρουση(4, 100, χα1,Υβ-Υ4, χα2, Υβ+Υ4) τότε {
Τχ-! : Χμ=χα2+500
Τχ*=1.5
Χτύπος
} αλλιώς.αν σύγκρουση(4, 100, χδ1,Υ-900, χδ2, Υ+900) τότε {
Τχ=-Απολ(Τχ) : Χμ+=Τχ*δυσκολια
Τχ=μικρό.σειράς(-ακ(Λογ(Απολ(Υ-Υπ)+2))*45*δυσκολία, Τχ/2, -120)
Τμ=Σημ(Υμ-Υ)*Απολ(Ακ((Υμ-Υ)/10))+Σημ(Τμ)*30*δυσκολια
Χτύπος
}
Σημ 1 : δρομέας 0,ύψος-1 : Τύπωσε πάνω $(,8),Χμ, Υμ , Απολ(Υ-Υπ), Τχ, Τμ
Παίκτης 2,,Υ
'Παίκτης 4, Χμ,Υμ
Παίκτης 4, Χμ,Υμ Με α$,1,0, χμ υπολ 360 μέγεθος (2*χκ-απολ(χμ-χκ))/χκ
Χμ+=Τχ
Υμ+=Τμ
} ως Μπ κάθε 10
Νήμα {
Πένα 7 {
δρομέας 0,0 : Τύπωσε μέρος $(6,8),@(πλάτος -7), ~(Πένα,#555555),Γραφή$(Τώρα,"hh:mm:ss")
}
} ως Ττ κάθε 1000
Νήμα {
Αν Χμ>χκ0 και χα00=0 τότε {
χα00=πλάτος.σημείου*20
}
} ως Δδ κάθε 10000
Ανανέωση 50
Κρ=Αληθές
τέρμα=Ψευδές
Κύριο.Έργο 100 {
Αν Κρ Τότε {
Υα+=Υαβ
Υβ+=Υαβ
Αν Υα>Υα2 Τότε { Υαβ-! } Αλλιώς.Αν Υα<Υα1 τότε Υαβ-!
χα0+=χα00
Αν χα0>χκ03 τότε {
Αν Τχ>0 ή Χκ0 <χμ τότε {
Νήμα Δδ Κράτα
χα00=0
} αλλιώς χα00=-πλάτος.σημείου*20 : Νήμα Δδ Ξεκίνα
}
Αν χα0<850 τότε χα0=850 : χα00=0
χα2=χα0+150
Παίκτης 1,χα0,Υα
Παίκτης 3,χα0,Υβ
Σημ 2 : δρομέας 0,ύψος-1 : Τύπωσε πάνω $(,8), Υα, Υβ, Σκορ
}
Αν χμ>Χ3 ή χμ<850 τότε {
Σκορ=Ψευδές
Τχ=0
Τμ=0
Αν χμ>Χ3 τότε {
Σκορ1++
Αντέγραψε χκ1, 900 με ψ$(Σκορ1)
} αλλιώς {
Σκορ2++
Αντέγραψε χκ2, 900 με ψ$(Σκορ2)
}
Αν Σκορ1=10 ή Σκορ2=10 τότε διέκοψε
Χμ=Χκ
Υμ=3000+τυχαίος(2,5)*150
Παίκτης 4, Χμ,Υμ
Υπ=Υμ
Τχ=60*τυχαίος(2,5)/3+120
Τμ=Τχ-60
Σκορ=Ψευδές
}
Επίλεξε με Ενκομ$
Με "π","p","Π","P"
{
Αν Κρ τότε {
Νήμα Μπ Κράτα
Επίπεδο {
Οθόνη 0, 0
Πένα 15 {
Δρομέας 0, ύψος/2-1
Τύπωσε Πάνω $(6),"Πάτα το πλήκτρο P ή Π για συνέχεια.."
Τύπωσε Υπό
Τύπωσε Πάνω $(6)," ή διάστημα για να τερματίσω"
}
Άναψε
}
} Αλλιώς {
Επίπεδο {
Σβήσε
Οθόνη 5
}
Νήμα Μπ ξεκίνα
}
Κρ~
}
Με " "
{ Αν όχι κρ τότε Επίπεδο {Σβήσε }: κρ~
Νήμα Μπ Κράτα
Δείκτη.Μορφή Δείξε
αν Ρώτα("Θες να σταματήσεις","Μοναχός","Ναι","Όχι")=1 τότε {
Επίπεδο {Οθόνη 5}
Τέρμα=Αληθές
} Αλλιώς Δείκτη.Μορφή Κρύψε
Νήμα Μπ ξεκίνα
}
Τέλος Επιλογής
Αν τέρμα τότε Νήματα Σβήσε : έξοδος
}
Νήματα Σβήσε
Αν κρ Αλλιώς { Επίπεδο {Σβήσε : Οθόνη 5} : κρ~ }
Δείκτη.Μορφή Δείξε
Αν Ρώτα("Θα ξαναπαίξουμε","Μοναχός","Ναι","Όχι")=1 τότε προς Πάλι
Παίκτης 0
Οθόνη 5
}
Φόρμα 60,30
Άναψε
Τέλος
Συναρτήσεις:
Συνάρτηση Αρ$ {
Χ=0
Υ=0
Μηδέν$={_***_
*___*
*___*
*___*
*___*
*___*
_***_
}
Ένα$={__*__
_**__
*_*__
__*__
__*__
__*__
*****
}
Δύο$={_***_
*___*
____*
_***_
*____
*____
*****
}
Τρία$={_***_
*___*
____*
__**_
____*
*___*
_***_
}
Τέσσερα$={___*_
__**_
_*_*_
*__*_
*****
___*_
___*_
}
Πέντε$={*****
*____
****_
____*
____*
*___*
_***_
}
Έξι$={_***_
*___*
*____
****_
*___*
*___*
_***_
}
Επτά$={*****
____*
___*_
__*__
__*__
__*__
__*__
}
Οκτώ$={_***_
*___*
*___*
_***_
*___*
*___*
_***_
}
Εννιά$={_***_
*___*
*___*
_****
____*
*___*
_***_
}
Δέκα$={*__*_
*_*_*
*_*_*
*_*_*
*_*_*
*_*_*
*__*_
}
Πίνακας Ψ$(11), Ψ1$(11)
Πλ1=300
Ύψ1=300
Ψ$(0)=Μηδέν$,Ένα$, Δύο$, Τρία$, Τέσσερα$,Πέντε$, Έξι$, Επτά$, Οκτώ$, Εννιά$, Δέκα$
Για Ψ=0 έως 10 {
οθόνη #222222,0
Για ι=0 έως 7*Ύψ1 ανά ύψος.σημείου*2 {
Θέση 0,ι
Χάραξε Χ.σημεία, 0, #555555
}
Θ=1
Θέση Χ,Υ
Για Κ=0 έως 7 {
Για Ι=0 έως 4 {
Αν Μεσ$(Ψ$(Ψ),Θ,1)="*" τότε { Βάψε Πλ1, Ύψ1,15 } Αλλιώς Βήμα Πλ1, Ύψ1 'Αλλιώς Βάψε Πλ1, Ύψ1, #222222
βημα 0, -Ύψ1
Θ++
}
Βήμα -5*Πλ1, Ύψ1
Θ+=2
}
Α$=""
Θέση Χ,Υ
Αντίγραψε Πλ1*5,Ύψ1*7 στο Α$
Ψ1$(Ψ)=Α$
}
=Ψ1$()
}
Επιστροφή
}
Άναψε : A : Τέλος
MODULE A {\\ Πρόγραμμα Μοναχός - Παιχνίδι τύπου Pong
\\ Version 2
γραμματοσειρά "Tahoma"
δυσκολια=2 \\ 3 περισσότερο
Σβήσε
Τύπος 18, 8000,2400
Κίνηση Κέντρο
Τμήμα Χτύπος {
Φωνή 2, 100,"g"
Παίξε 2, 127
}
Διαμέσου Συναρτήσεις
Περιθώριο 12 {
Ανανέωση 5000
Πίνακας Ψ$()
Ψ$()=Αρ$()
Οθόνη 5,0
Πένα 14
Ανανέωση 50
α$=""
β$=""
β1$=""
Θέση 0,0
Βάψε 300,Υ.σημεία, 15
θέση 0,0
Αντέγραψε 300,300 στο α$
Αντέγραψε 300,1800 στο β$
Αντέγραψε 300,Υ.σημεία στο β1$
Πάλι:
Δείκτη.Μορφή Κρύψε
οθόνη #222222,0
Τύπωσε @(5,5),
Πένα 7 {
Αναφορά {Παιχνίδι Μοναχός
Πάτησε P/Π για παύση
Πάτησε διάστημα...
...για τερματισμό
}
}
Για ι=0 έως Υ.σημεία ανά ύψος.σημείου*2 { Θέση 0,ι : Χάραξε Χ.σημεία, 0, #555555 }
χκ=αΚ(χ.σημεία/2-150)
χκ0=χ.σημεία/2
χκ03=χ.σημεία/3
χκ1=χκ-300*7
χκ2=χκ+900
χα0=850
χα00=0
χα2=χα0+150
χα1=400
χδ1=χ.σημεία-1000
χδ2=χδ1+600
Για ι=0 έως Υ.σημεια-300 ανά 600 { Αντέγραψε χκ, ι με α$ }
Σκορ1=0
Σκορ2=0
Αντέγραψε χκ1, 900 με ψ$(Σκορ1)
Αντέγραψε χκ2, 900 με ψ$(Σκορ2)
Υα=-900
Υα1=Υα-Υ.σημεία/4
Υα2=Υα1+Υ.σημεία/2
Υβ=Υ.σημεία+900
Υαβ=30
Παίκτης 1, 850,Υα Με β1$
Παίκτης 2, χδ1,10000 Με β$
Παίκτης 3, 850,Υβ Με β1$
Υ2=Υ.Σημεια-900-1000
Χμ=Χκ
Υμ=3000+τυχαίος(2,5)*300
Παίκτης 4, Χμ,Υμ Με α$,1,0, 45 μέγεθος 2
Για ι=1 εως 4 { Παίκτης ι Δείξε }
Υ3=Υ.Σημεία-300
Χ3=Χ.Σημεία-300
Υ4=Υ.Σημεία/2
Τχ=120
Τμ=120
Υπ=Δείκτης.Υ
Υ=ΥΠ
Νήμα {
Υπ=Υ : Υ=Δείκτης.Υ
} ως Νμ κάθε 25
Αναμονή 100
Σκορ=Ψευδές
Νήμα {
Αν Υ<1900 τότε { Υ=1900: Υπ=1900 } αλλιώς.αν Υ>Υ2 τότε Υ=Υ2: Υπ=Υ2
Αν Υμ<300 τότε { Τμ-! : Υμ+=Τμ } αλλιώς.αν Υμ>Υ3 τότε Τμ-! : Υμ+=Τμ
Αν σύγκρουση(4, 80, χα1,Υα+Υ4, χα2, Υβ-Υ4) ή Σκορ τότε {
Σκορ=Αληθές
} Αλλιως.Αν σύγκρουση(4, 100, χα1,Υα-Υ4, χα2, Υα+Υ4) τότε {
Τχ-! : Χμ=χα2+500
Τχ*=1.5
Χτύπος
} αλλιώς.αν σύγκρουση(4, 100, χα1,Υβ-Υ4, χα2, Υβ+Υ4) τότε {
Τχ-! : Χμ=χα2+500
Τχ*=1.5
Χτύπος
} αλλιώς.αν σύγκρουση(4, 100, χδ1,Υ-900, χδ2, Υ+900) τότε {
Τχ=-Απολ(Τχ) : Χμ+=Τχ*δυσκολια
Τχ=μικρό.σειράς(-ακ(Λογ(Απολ(Υ-Υπ)+2))*45*δυσκολία, Τχ/2, -120)
Τμ=Σημ(Υμ-Υ)*Απολ(Ακ((Υμ-Υ)/10))+Σημ(Τμ)*30*δυσκολια
Χτύπος
}
Σημ 1 : δρομέας 0,ύψος-1 : Τύπωσε πάνω $(,8),Χμ, Υμ , Απολ(Υ-Υπ), Τχ, Τμ
Παίκτης 2,,Υ
'Παίκτης 4, Χμ,Υμ
Παίκτης 4, Χμ,Υμ Με α$,1,0, χμ υπολ 360 μέγεθος (2*χκ-απολ(χμ-χκ))/χκ
Χμ+=Τχ
Υμ+=Τμ
} ως Μπ κάθε 10
Νήμα {
Πένα 7 {
δρομέας 0,0 : Τύπωσε μέρος $(6,8),@(πλάτος -7), ~(Πένα,#555555),Γραφή$(Τώρα,"hh:mm:ss")
}
} ως Ττ κάθε 1000
Νήμα {
Αν Χμ>χκ0 και χα00=0 τότε {
χα00=πλάτος.σημείου*20
}
} ως Δδ κάθε 10000
Ανανέωση 50
Κρ=Αληθές
τέρμα=Ψευδές
Κύριο.Έργο 100 {
Αν Κρ Τότε {
Υα+=Υαβ
Υβ+=Υαβ
Αν Υα>Υα2 Τότε { Υαβ-! } Αλλιώς.Αν Υα<Υα1 τότε Υαβ-!
χα0+=χα00
Αν χα0>χκ03 τότε {
Αν Τχ>0 ή Χκ0 <χμ τότε {
Νήμα Δδ Κράτα
χα00=0
} αλλιώς χα00=-πλάτος.σημείου*20 : Νήμα Δδ Ξεκίνα
}
Αν χα0<850 τότε χα0=850 : χα00=0
χα2=χα0+150
Παίκτης 1,χα0,Υα
Παίκτης 3,χα0,Υβ
Σημ 2 : δρομέας 0,ύψος-1 : Τύπωσε πάνω $(,8), Υα, Υβ, Σκορ
}
Αν χμ>Χ3 ή χμ<850 τότε {
Σκορ=Ψευδές
Τχ=0
Τμ=0
Αν χμ>Χ3 τότε {
Σκορ1++
Αντέγραψε χκ1, 900 με ψ$(Σκορ1)
} αλλιώς {
Σκορ2++
Αντέγραψε χκ2, 900 με ψ$(Σκορ2)
}
Αν Σκορ1=10 ή Σκορ2=10 τότε διέκοψε
Χμ=Χκ
Υμ=3000+τυχαίος(2,5)*150
Παίκτης 4, Χμ,Υμ
Υπ=Υμ
Τχ=60*τυχαίος(2,5)/3+120
Τμ=Τχ-60
Σκορ=Ψευδές
}
Επίλεξε με Ενκομ$
Με "π","p","Π","P"
{
Αν Κρ τότε {
Νήμα Μπ Κράτα
Επίπεδο {
Οθόνη 0, 0
Πένα 15 {
Δρομέας 0, ύψος/2-1
Τύπωσε Πάνω $(6),"Πάτα το πλήκτρο P ή Π για συνέχεια.."
Τύπωσε Υπό
Τύπωσε Πάνω $(6)," ή διάστημα για να τερματίσω"
}
Άναψε
}
} Αλλιώς {
Επίπεδο {
Σβήσε
Οθόνη 5
}
Νήμα Μπ ξεκίνα
}
Κρ~
}
Με " "
{ Αν όχι κρ τότε Επίπεδο {Σβήσε }: κρ~
Νήμα Μπ Κράτα
Δείκτη.Μορφή Δείξε
αν Ρώτα("Θες να σταματήσεις","Μοναχός","Ναι","Όχι")=1 τότε {
Επίπεδο {Οθόνη 5}
Τέρμα=Αληθές
} Αλλιώς Δείκτη.Μορφή Κρύψε
Νήμα Μπ ξεκίνα
}
Τέλος Επιλογής
Αν τέρμα τότε Νήματα Σβήσε : έξοδος
}
Νήματα Σβήσε
Αν κρ Αλλιώς { Επίπεδο {Σβήσε : Οθόνη 5} : κρ~ }
Δείκτη.Μορφή Δείξε
Αν Ρώτα("Θα ξαναπαίξουμε","Μοναχός","Ναι","Όχι")=1 τότε προς Πάλι
Παίκτης 0
Οθόνη 5
}
Φόρμα 60,30
Άναψε
Τέλος
Συναρτήσεις:
Συνάρτηση Αρ$ {
Χ=0
Υ=0
Μηδέν$={_***_
*___*
*___*
*___*
*___*
*___*
_***_
}
Ένα$={__*__
_**__
*_*__
__*__
__*__
__*__
*****
}
Δύο$={_***_
*___*
____*
_***_
*____
*____
*****
}
Τρία$={_***_
*___*
____*
__**_
____*
*___*
_***_
}
Τέσσερα$={___*_
__**_
_*_*_
*__*_
*****
___*_
___*_
}
Πέντε$={*****
*____
****_
____*
____*
*___*
_***_
}
Έξι$={_***_
*___*
*____
****_
*___*
*___*
_***_
}
Επτά$={*****
____*
___*_
__*__
__*__
__*__
__*__
}
Οκτώ$={_***_
*___*
*___*
_***_
*___*
*___*
_***_
}
Εννιά$={_***_
*___*
*___*
_****
____*
*___*
_***_
}
Δέκα$={*__*_
*_*_*
*_*_*
*_*_*
*_*_*
*_*_*
*__*_
}
Πίνακας Ψ$(11), Ψ1$(11)
Πλ1=300
Ύψ1=300
Ψ$(0)=Μηδέν$,Ένα$, Δύο$, Τρία$, Τέσσερα$,Πέντε$, Έξι$, Επτά$, Οκτώ$, Εννιά$, Δέκα$
Για Ψ=0 έως 10 {
οθόνη #222222,0
Για ι=0 έως 7*Ύψ1 ανά ύψος.σημείου*2 {
Θέση 0,ι
Χάραξε Χ.σημεία, 0, #555555
}
Θ=1
Θέση Χ,Υ
Για Κ=0 έως 7 {
Για Ι=0 έως 4 {
Αν Μεσ$(Ψ$(Ψ),Θ,1)="*" τότε { Βάψε Πλ1, Ύψ1,15 } Αλλιώς Βήμα Πλ1, Ύψ1 'Αλλιώς Βάψε Πλ1, Ύψ1, #222222
βημα 0, -Ύψ1
Θ++
}
Βήμα -5*Πλ1, Ύψ1
Θ+=2
}
Α$=""
Θέση Χ,Υ
Αντίγραψε Πλ1*5,Ύψ1*7 στο Α$
Ψ1$(Ψ)=Α$
}
=Ψ1$()
}
Επιστροφή
}
Άναψε : A : Τέλος
Σελίδα 1 από 1
Δικαιώματα σας στην κατηγορία αυτή
Δεν μπορείτε να απαντήσετε στα Θέματα αυτής της Δ.Συζήτησης
|
|