Κυριακή 27 Απριλίου 2025

Four sizes of square

(Revision 42 uploaded, fixes rATN and rTAN function for using rad for ATN and TAN functions, there was a mistake and not worked properly before current revision).


An example using Events (light events from an object).

Light events are construction without specific parameters signature (like the object which called Events in M2000). We use then from the method drawSquare. If we don't use functions for servicing these then  we will not have problem. The parameters will be erased from the stack of values.

The light events aren't multicast enabled, call always one service function using the name space of the module where we define the group WithEvents, here the FourSidesOfSquare module. So if we want to get values from stack to variables we have to use New X, Y to get X and Y as new variables (because may be X and Y exist on module FourSidesOfSquare. Although Modules/Functions have own namespace, when we call them using Call Local the get the namespace of the caller. For events they get the namespace of the module which we define the WithEvents group a. 

If we pass the group named a using by reference to another module, and execute the drawSquare module of a, then we get the events and call "back" the module FourSidesOfSquare.

For the drawing routines: We use a frame @ variant which place text at center of a parallelogram defines by two values (width and height). So see in the image bellow, the white 1 on the black square border.





class square {
Events "drawme", "drawme2"
private:
long x
public:
module drawSquare {
b=1
for a=1 to .x
call event "drawme", a, b
next
if .x>2 then
for b=2 to .x-1
call event "drawme", 1, b
call event "drawme", .x, b
for c=2 to .x-1
call event "drawme2", c, b
next
next
end if
if .x>1 then
for a=1 to .x
call event "drawme", a, .x
next
end if
}
// read only
Property Length {
value {
link parent x to x
value=x
} = 0&
}
class:
module square(n as long) {
if n<1 then Error "From 1 only"
.x<=n
}
}


module FourSidesOfSquare {
Window 12, 16000, 10000;
cls 5,0
double
report 2, "Four sides of square"
normal
group withevents a=square(20)
sq_width=min.data(scale.x, scale.y)/24
sq_width=(sq_width div twipsX)* twipsX
x_origin=(scale.x-20*sq_width) div 2-sq_width
y_origin=(scale.y-20*sq_width) div 2-sq_width
function a_drawme {
move x_origin+Number*sq_width, y_origin+Number*sq_width
fill sq_width, sq_width, 0
REM
{ ' split rem from block to print 1 at center of square tile
step -sq_width, -sq_width
pen 15 {fill @ sq_width, sq_width, 5,"1"}
}
}
function a_drawme2 {
move x_origin+Number*sq_width, y_origin+Number*sq_width
fill sq_width, sq_width, 15
}
a.drawSquare
         rem
         a=square(10) ' split line before a to change square width
x_origin=(WIDTH-a.length) DIV 2 -1
y_origin=(HEIGHT-a.length) DIV 2 -1
// alter definitions
function a_drawme {
Cursor x_origin+number, y_origin+number
PEN 5 {Print "1";}
}
function a_drawme2 {
Cursor x_origin+number, y_origin+number
PEN 1 {Print "0";}
}
a.drawSquare
Push Key$
Drop
}
FourSidesOfSquare

Σάββατο 26 Απριλίου 2025

Drawing Arrows

We have two methods, one method draw an arrow at same length, and a direction (zero is right, pi/2 top, pi left, -pi/2 bottom) from the current pos.x and pos.y (graphic cursor), also we pass the size of the triangle at the head of the arrow.

The second method use the current pos.x and pos.y (graphic cursor) and need a displacement for X and Y twips (so we can give negative values also).

Using Smooth On we draw lines with antialiasing (GDI+, is slower than GDI32 when we draw using Smooth Off - if we using animation we don't use antialiasing)



We use SINGLE type values (4bytes float). @PI is the original decimal (29 digits) value, and we make PI as single, rounding the decimal value. Expression -3*PI/2+A is DOUBLE because 3 and 2 are literal for double )we have to place 2~ for a literal single of value 2)

SINGLE PI=@PI, A, I
SMOOTH ON
CLS 15
PEN 0
DOUBLE
REPORT 2, "ARROWS"
NORMAL
MOVE 6600,8000
FOR A=0 TO 2*PI STEP PI/7
STEP ANGLE A, 300
ARROW(4000, 300, A)
ARROW(4000, 300, 3*PI/2+A, 2)
ARROW(4000, 300, PI+A, 3)
ARROW(4000, 300, -3*PI/2+A, 4)
NEXT
FOR I=-6000 TO 5000 STEP 1000
MOVE 20000, 8000
ARROW2(-6000, I, 300, #FF00FF)
MOVE 20000, 8000
ARROW2(6000, -I, 300, #FFFF00)
MOVE 20000, 8000
ARROW2(I+1000, -6000, 300, #00FFFF)
MOVE 20000, 8000
ARROW2(I, 6000, 300, #FF7777)
NEXT
PUSH KEY$
DROP


SUB ARROW(LE AS SINGLE, AR AS SINGLE, ANG AS SINGLE, COL=1)
LOCAL AR1=AR*1.11803398~, P2=0.463647609~
WIDTH 3 {DRAW ANGLE ANG, LE, COL}
LOCAL X=POS.X, Y=POS.Y
STEP ANGLE ANG, -AR
PEN COL {POLYGON COL, ANGLE ANG+PI/2, AR/2, ANG+PI-P2, -AR1, ANG+PI+P2, AR1, 0,0}
DRAW ANGLE ANG+PI/2, AR, 15
MOVE X, Y
END SUB


SUB ARROW2(POSX AS SINGLE, POSY AS SINGLE, AR AS SINGLE, COL=1)
LOCAL AR1=AR*1.11803398~, P2=0.463647609~
IF POSY=0 THEN
IF POSX>0 THEN
LOCAL ANG=2*PI
ELSE
LOCAL ANG=PI
END IF
ELSE
ANG=ATN(POSX/POSY)/180*PI-SGN(POSY)*PI/2
END IF
WIDTH 3 {DRAW POSX, POSY, COL}
LOCAL X=POS.X, Y=POS.Y
STEP ANGLE ANG, -AR
PEN COL {POLYGON COL, ANGLE ANG+PI/2, AR/2, ANG+PI-P2, -AR1, ANG+PI+P2, AR1, 0,0}
DRAW ANGLE ANG+PI/2, AR, 15
MOVE X, Y
END SUB

Drawing Inductors

The task:

Making a subroutine for drawing an inductor with n parts, at a length of twips and at an angle in rad.



SMOOTH ON
CLS 15, 0
BACK {CLS 15,0}
PEN 0
DOUBLE
REPORT 2, "DRAWING INDUCTOR"
NORMAL
A=-PI/16
AA=0
DATA 1000, 6000, 12000, 0
FOR M=1000 TO 8000 STEP 2000
MOVE 2000+AA, 6000+M
INDUCTOR(4, M, 0+A)
INDUCTOR(8, M, -PI/2+A)
INDUCTOR(6, M, -PI+A)
INDUCTOR(3, M, PI/2+A)
A+=PI/3
AA+=NUMBER
NEXT
PUSH KEY$
DROP
SUB INDUCTOR(PARTS, LE, A)
LOCAL SINGLE M=LE/6000*240
LOCAL SINGLE B=LE/(PARTS+4)*.4
LOCAL SINGLE C=B-20*PARTS*LE/6000
WHILE LE>(4*B+2*PARTS*(B-C))
C-=15
IF C<M THEN B*=1.2: c=B/1.3
END WHILE
WIDTH 3 {DRAW ANGLE A, B}
STEP ANGLE A, B
FOR I=1 TO PARTS
ARC(TRUE, B, A)
STEP ANGLE A, B
STEP ANGLE A, -C
ARC(FALSE, C, A)
STEP ANGLE A, B-C
NEXT
ARC(TRUE, B, A)
STEP ANGLE A, B
WIDTH 3 {DRAW ANGLE A, B}
END SUB
SUB ARC(UP AS BOOLEAN, AR AS SINGLE, ARG AS SINGLE)
LOCAL KK=-ARG, K=KK
WIDTH 3 {
IF UP ELSE K+=PI
CIRCLE AR, 1, PEN, 0-K, PI-K;
}
END SUB


Σάββατο 19 Απριλίου 2025

ADFGVX cipher

The cipher used by German Army during World War I

https://en.wikipedia.org/wiki/ADFGVX_cipher


Module CheckADFGVX_Cipher {
Class cipher {
Private:
buffer a as byte*36
b="ADFGVX"
key="ABCDEFGHIJK"
orderkey="ABCDEFGHIJK"
map=list
map2=list
module preparemaps {
for i=0 to 5
jj=0
for j=i*6 to j+5
.map(chr$(.a[j]))=mid$(.b, i+1,1)+mid$(.b,jj+1, 1)
.map2(mid$(.b, i+1,1)+mid$(.b,jj+1, 1))=chr$(.a[j])
jj++
next
next
}
Public:
Module SetRandom (&returnvalue) {
return .a, 0:=str$("ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789")
for i=1 to 100
c=random(0, 35):d=c
while c=d {d=random(0, 35)}
byte o=.a[c]
.a[c]<=.a[d]
.a[d]<=o
next
returnvalue=chr$(eval$(.a)) ' convert to UTF16LE
.preparemaps
}
Module SetSpecific (that$){
return .a, 0:=str$(Ucase$(that$))
.preparemaps
}
Module SetKey (.key as string) {
.key<=ucase$(.key)
if len(.key)<7 or len(.key)>12 then Error "Key has not proper length"
if filter$(.key, "ABCDEFGHIJKLMNOPQRSTUVWXYZ")<>"" then
Error "Key has bad letters"
end if
dim aa(1 to len(.key))
for i=1 to len(.key):aa(i)=mid$(.key,i,1):next
.orderkey<=aa()#sort()#str$("")
}
Module Display {
Print "The 6 x 6 Polybius square:"
Print "  | A D F G V X"
Print "---------------"
for i=0 to 5
Print mid$(.b,i+1,1)+" | ";
jj=0
for j=i*6 to j+5
print chr$(.a[j]);" ";
jj++
next
print
next
Print "Key:";.key
}
Function Encrypt(p as string) {
crypted=""
for i=1 to len(p)
crypted+=.map$(mid$(p,i,1))
next
m=1
encrypted=""
For i = 1 To Len(.key)
ch = Mid$(.orderkey, i, 1)
For j = Instr(.key, ch) - 1 To Len(crypted) - 1 Step Len(.key)
encrypted += Mid$(crypted, j + 1, 1)
if m mod 5=0 then encrypted += " "
m++
Next
Next
=encrypted
}
Function Decrypt(p as string) {
p=filter$(p, " ")
decrypted=""
m=1
dim b$(len(p))
For i = 1 To Len(.key)
ch = Mid$(.orderkey, i, 1)
For j = Instr(.key, ch) - 1 To Len(p) - 1 Step Len(.key)
b$(j)=mid$(p, m, 1)
m++
Next
Next
for i=0 to len(b$())-1 step 2
decrypted+=.map2(b$(i)+b$(i+1))
next
=decrypted
}
}
ADFGVX=cipher()
for ADFGVX {
.SetSpecific "A9GKMF1DQRSBVX8Z0WTEJLOPY5U4CN2H76I3"
.SetKey "volcanism"
.Display
encode=.Encrypt("ATTACKAT1200AM")
Print "Encoded: ";encode
Print "Decoded: ";.Decrypt(encode)
Rem { ' using randomblock
thisblock=""
.SetRandom &thisblock
Print "Random Block:";thisblock
.Display
encode=.Encrypt("ATTACKAT1200AM")
Print encode
Print .Decrypt(encode)
}
}
}
CheckADFGVX_Cipher

Πέμπτη 17 Απριλίου 2025

Κύβος Rubik Παζλ

Αντιγράψτε το παρακάτω σε ένα τμήμα έστω α.

Σ α

(αντιγράφουμε και πατάμε Esc)

ΣΩΣΕ rubik

ΣΩΣΕ rubikgame, {α:ΤΕΛΟΣ}

Το παιχνίδι μπορεί να το ξεκινάμε απευθείας από το rubikgame.gsb

Ο φάκελος ανοίγει με το ΣΥΣΤΗΜΑ ΚΑΤ$

Ορίζουμε το m2000.exe που θα είναι στο φάκελο C:\Program Files (x86)\M2000 να ανοίγει τα αρχεία gsb. Πάμε στο αρχείο rubikgame.gsb και επιλέγουμε το Ανοιγμα με... από το αναδυόμενο σχετικό μενού επιλογών (context menu). Οπότε κάθε φορά που δίνουμε διπλό κλικ στο rubikgame.gsb ανοίγει η φόρμα όπως αυτή της εικόνας (στην εικόνα έχουμε επιλέξει το επίπεδο 2.

Τα επίπεδα είναι από 1 έως 5 και σημαίνει πόσες φορές γίνεται μια πεντάδα αλλαγών. Στο 5ο επίπεδο γίνεται 5 φορές η τυχαία πεντάδα, δηλαδή θα έχουν γίνει 25 αλλαγές!

Στο πρώτο επίπεδο αν είμαστε τυχεροί ίσως κάποιες αλλαγές να είναι οι αντίστροφες, οπότε ενδέχεται να πάρουμε μπερδεμένο το κύβο με μια μόνο αλλαγή!

Το πρόγραμμα γράφτηκε για τη κονσόλα, αλλά με μικρές αλλαγές έγινε παιχνίδι σε παράθυρο. Σε παραθυρικό περιβάλλον η συνάρτηση ΠΑΤΗΜΕΝΟ() λειτουργεί, αλλά θέλουμε ένα νήμα να δουλεύει για μας. Σε απλή κονσόλα αντί για το νήμα θα βάζαμε το ΚΑΘΕ 1000/





ΔΥΑΔΙΚΟ {
      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
      PQAAAAgAAAA8AAAACAAAAD4AAAAYAAAAAAAAAAAAAAD//////////yUAAAAMAAAA
      BQAAgCgAAAAMAAAAAgAAADsAAAAIAAAAGwAAABAAAAAkBgAAYAEAADYAAAAQAAAA
      SgcAAN8BAAA2AAAAEAAAADsGAABpAgAANgAAABAAAAAUBQAA3wEAAD0AAAAIAAAA
      PAAAAAgAAABAAAAAGAAAAAAAAAAAAAAA//////////8lAAAADAAAAAgAAIAnAAAA
      GAAAAAIAAAAAAAAA////AAYAAAAlAAAADAAAAAIAAAAlAAAADAAAAAgAAIA7AAAA
      CAAAABsAAAAQAAAAgAcAAPgBAAA2AAAAEAAAAL4IAACBAgAANgAAABAAAACxBwAA
      FwMAADYAAAAQAAAAcQYAAIECAAA9AAAACAAAADwAAAAIAAAAPgAAABgAAAAAAAAA
      AAAAAP//////////JQAAAAwAAAAFAACAKAAAAAwAAAACAAAAOwAAAAgAAAAbAAAA
      EAAAAIAHAAD4AQAANgAAABAAAAC+CAAAgQIAADYAAAAQAAAAsQcAABcDAAA2AAAA
      EAAAAHEGAACBAgAAPQAAAAgAAAA8AAAACAAAAEAAAAAYAAAAAAAAAAAAAAD/////
      /////yUAAAAMAAAACAAAgCcAAAAYAAAAAgAAAAAAAAD/oQAABgAAACUAAAAMAAAA
      AgAAACUAAAAMAAAACAAAgDsAAAAIAAAAGwAAABAAAACgAwAAYAEAADYAAAAQAAAA
      sAQAAN8BAAA2AAAAEAAAAIkDAABpAgAANgAAABAAAAB6AgAA3wEAAD0AAAAIAAAA
      PAAAAAgAAAA+AAAAGAAAAAAAAAAAAAAA//////////8lAAAADAAAAAUAAIAoAAAA
      DAAAAAIAAAA7AAAACAAAABsAAAAQAAAAoAMAAGABAAA2AAAAEAAAALAEAADfAQAA
      NgAAABAAAACJAwAAaQIAADYAAAAQAAAAegIAAN8BAAA9AAAACAAAADwAAAAIAAAA
      QAAAABgAAAAAAAAAAAAAAP//////////JQAAAAwAAAAIAACAJwAAABgAAAACAAAA
      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
} ΩΣ Κύβος
ΓύρναΔεξιά = list := 1:=3, 2:=6, 3:=9, 4:=2, 5:=5, 6:=8, 7:=1, 8:=4, 9:=7
ΓύρναΑριστερά =list := 1:=7, 2:=4, 3:=1, 4:=8, 5:=5, 6:=2, 7:=9, 8:=6, 9:=3
ΑΠΑΡΙΘΜΗΣΗ Χρώματα_Κύβου {
Πορτοκαλί=#ffa100
Πράσινο=#00d800
Κόκκινο=#ee0000
Μπλε=#0000f2
Κίτρινο=#fefe00
Άσπρο=#ffffff
}
Επίπεδο0=0
ΠΙΝΑΚΑΣ α(1 ΕΩΣ 9, 1 ΕΩΣ 6) ΩΣ ΜΑΚΡΥΣ
ΜΕΤΑΒΛΗΤΗ κ1 ΩΣ Χρώματα_Κύβου=Πορτοκαλί, Εμφάνισε=ΨΕΥΔΗΣ
ΜΕΤΑΒΛΗΤΗ ΑΚΕΡΑΙΟΣ Επιφ_Ανω, Επιφ_Αριστερά, Επιφ_Δεξιά, Επιφ_Κάτω, Επιφ_ΑριστεράΠίσω, Επιφ_ΔεξιάΠίσω
ΜΕΤΑΒΛΗΤΗ ΑΚΕΡΑΙΟΣ ΠΑΛΙΟ=0
Φτιάξε_Πλευρές()
ΤΙΤΛΟΣ "",0
ΟΡΙΣΕ Φόρμα1 ΦΟΡΜΑ
ΜΕ Φόρμα1, "Title" ΩΣ Τίτλος$
ΜΕΘΟΔΟΣ Φόρμα1, "TransparentTitle"
ΕΠΙΠΕΔΟ Φόρμα1 {
Παράθυρο 10, 18000,12000;
ΟΘΟΝΗ, 0
ΦΟΝΤΟ 5, 1
ΠΕΝΑ 0
ΔΡΟΜΕΑΣ 0,2
ΘΕΣΗ !
υ1=ΘΕΣΗ.Υ
Παρ1=(ΑΚ(ΜΙΚΡΟ.ΣΕΙΡΑΣ(ΚΛΙΜΑΞ.Χ, ΚΛΙΜΑΞ.Ψ)*.8) ΔΙΑ 100)*100
παρ2=10*Παρ1/16000
Παρ3=300*Παρ1/16000
Τυπ1=42.75*Παρ1/16000
χ=(ΚΛΙΜΑΞ.Χ-Παρ1) ΔΙΑ 2
y=(ΚΛΙΜΑΞ.Ψ-Παρ1) ΔΙΑ 2
ΔΡΟΜΕΑΣ 0, ΥΨΟΣ-3
ΠΕΝΑ 15 {
ΑΝΑΦΟΡΑ 2, "Με βελάκια περιστρέφουμε το κύβο, Πατημένο ένα από τα A,B,C και με τα αριστρό/δεξιό βελάκι περιστρέφουμε οριζόντια, Ομοίως με D,E,F,G,H,I και άνω/κάτω βελάκι αλλάζουμε κάθετα, Με ένα από τα 1,2,3,4,5 επιλέγουμε επίπεδο. Με διάστημα τερματίζει το πρόγραμμα. Με 0 ολοκληρώνεται ο κύβος"
}
Βάλε_Ετικέτες()
Σχεδίασε_Κύβο()
ΑΝΑΝΕΩΣΗ
ΝΗΜΑ {
ΑΝ ΠΑΤΗΜΕΝΟ(0x25) ΤΟΤΕ
ΑΝ ΠΑΤΗΜΕΝΟ(0x43) ΤΟΤΕ
Επ1(4, 1)
ΑΛΛΙΩΣ.ΑΝ ΠΑΤΗΜΕΝΟ(0x42) ΤΟΤΕ
Επ1(4, 2)
ΑΛΛΙΩΣ.ΑΝ ΠΑΤΗΜΕΝΟ(0x41) ΤΟΤΕ
Επ1(4, 3)
ΑΛΛΙΩΣ
Οριζόντια()
ΤΕΛΟΣ ΑΝ
ΑΛΛΙΩΣ.ΑΝ ΠΑΤΗΜΕΝΟ(0x27) ΤΟΤΕ
ΑΝ ΠΑΤΗΜΕΝΟ(0x43) ΤΟΤΕ
Επ1(2, 1)
ΑΛΛΙΩΣ.ΑΝ ΠΑΤΗΜΕΝΟ(0x42) ΤΟΤΕ
Επ1(2, 2)
ΑΛΛΙΩΣ.ΑΝ ΠΑΤΗΜΕΝΟ(0x41) ΤΟΤΕ
Επ1(2, 3)
ΑΛΛΙΩΣ
Οριζόντια():Οριζόντια():Οριζόντια()
ΤΕΛΟΣ ΑΝ
ΤΕΛΟΣ ΑΝ
ΑΝ ΠΑΤΗΜΕΝΟ(0x26) ΤΟΤΕ
ΑΝ ΠΑΤΗΜΕΝΟ(0x44) ΤΟΤΕ
Επ2(4, 1)
ΑΛΛΙΩΣ.ΑΝ ΠΑΤΗΜΕΝΟ(0x45) ΤΟΤΕ
Επ2(4, 2)
ΑΛΛΙΩΣ.ΑΝ ΠΑΤΗΜΕΝΟ(0x46) ΤΟΤΕ
Επ2(4, 3)
ΑΛΛΙΩΣ.ΑΝ ΠΑΤΗΜΕΝΟ(0x49) ΤΟΤΕ
Επ3(4, 1)
ΑΛΛΙΩΣ.ΑΝ ΠΑΤΗΜΕΝΟ(0x48) ΤΟΤΕ
Επ3(4, 2)
ΑΛΛΙΩΣ.ΑΝ ΠΑΤΗΜΕΝΟ(0x47) ΤΟΤΕ
Επ3(4, 3)
ΑΛΛΙΩΣ
Κάθετα()
ΤΕΛΟΣ ΑΝ
ΑΛΛΙΩΣ.ΑΝ ΠΑΤΗΜΕΝΟ(0x28) ΤΟΤΕ
ΑΝ ΠΑΤΗΜΕΝΟ(0x44) ΤΟΤΕ
Επ2(2, 1)
ΑΛΛΙΩΣ.ΑΝ ΠΑΤΗΜΕΝΟ(0x45) ΤΟΤΕ
Επ2(2, 2)
ΑΛΛΙΩΣ.ΑΝ ΠΑΤΗΜΕΝΟ(0x46) ΤΟΤΕ
Επ2(2, 3)
ΑΛΛΙΩΣ.ΑΝ ΠΑΤΗΜΕΝΟ(0x49) ΤΟΤΕ
Επ3(2, 1)
ΑΛΛΙΩΣ.ΑΝ ΠΑΤΗΜΕΝΟ(0x48) ΤΟΤΕ
Επ3(2, 2)
ΑΛΛΙΩΣ.ΑΝ ΠΑΤΗΜΕΝΟ(0x47) ΤΟΤΕ
Επ3(2, 3)
ΑΛΛΙΩΣ
Κάθετα():Κάθετα():Κάθετα()
ΤΕΛΟΣ ΑΝ
ΤΕΛΟΣ ΑΝ
ΑΝ ΠΑΤΗΜΕΝΟ(32) ΤΟΤΕ ΜΕΘΟΔΟΣ Φόρμα1, "ByeBye"
ΑΝ ΠΑΤΗΜΕΝΟ(0x30) ΤΟΤΕ Φτιάξε_Πλευρές():Επίπεδο0=0
ΑΝ ΠΑΤΗΜΕΝΟ(0x35) ΤΟΤΕ Μπέρδεψε(5)
ΑΝ ΠΑΤΗΜΕΝΟ(0x34) ΤΟΤΕ Μπέρδεψε(4)
ΑΝ ΠΑΤΗΜΕΝΟ(0x33) ΤΟΤΕ Μπέρδεψε(3)
ΑΝ ΠΑΤΗΜΕΝΟ(0x32) ΤΟΤΕ Μπέρδεψε(2)
ΑΝ ΠΑΤΗΜΕΝΟ(0x31) ΤΟΤΕ Μπέρδεψε(1)

ΘΕΣΗ 0,0
ΔΡΟΜΕΑΣ 0,0
ΑΝ Εμφάνισε ΤΟΤΕ Σχεδίασε_Κύβο(): Εμφάνισε=ΨΕΥΔΗΣ
} ΩΣ ΠΑΙΧΝΙΔΙ ΚΑΘΕ 1000/5
ΑΝ Εμφάνισε ΤΟΤΕ Σχεδίασε_Κύβο(): Εμφάνισε=ΨΕΥΔΗΣ
ΠΕΝΑ 14
}
ΜΕΘΟΔΟΣ Φόρμα1, "Show", 1
ΝΗΜΑΤΑ ΣΒΗΣΕ
ΑΝΑΜΟΝΗ 200
ΤΙΤΛΟΣ "Rubik", 1
ΤΕΛΟΣ


ΡΟΥΤΙΝΑ Σχεδίασε_Κύβο()
ΑΝΑΝΕΩΣΗ 1000
ΤΟΠΙΚΗ λ=1
ΘΕΣΗ χ,y
ΕΙΚΟΝΑ Κύβος, Παρ1
ΠΑΧΟΣ παρ2 {
ΘΕΣΗ Παρ1/4+χ, Παρ1/4+y
γεμισεΚουτί0(7, Επιφ_Ανω)
ΒΗΜΑ ΓΩΝΙΑ ΠΙ/7, Παρ1/7
γεμισεΚουτί0(8, Επιφ_Ανω)
ΒΗΜΑ ΓΩΝΙΑ ΠΙ/7, Παρ1/6.8
γεμισεΚουτί0(9, Επιφ_Ανω)
ΒΗΜΑ ΓΩΝΙΑ ΠΙ/7, -Παρ1/7
ΒΗΜΑ ΓΩΝΙΑ ΠΙ/7,-Παρ1/6.8
ΒΗΜΑ ΓΩΝΙΑ ΠΙ/7-ΠΙ/3.2, Παρ1/8
γεμισεΚουτί0(4, Επιφ_Ανω)
ΒΗΜΑ ΓΩΝΙΑ ΠΙ/7, Παρ1/6.7
γεμισεΚουτί0(5, Επιφ_Ανω)
ΒΗΜΑ ΓΩΝΙΑ ΠΙ/7, Παρ1/6.5
γεμισεΚουτί0(6, Επιφ_Ανω)
ΒΗΜΑ ΓΩΝΙΑ ΠΙ/7, -Παρ1/6.7
ΒΗΜΑ ΓΩΝΙΑ ΠΙ/7,-Παρ1/6.5
ΒΗΜΑ ΓΩΝΙΑ ΠΙ/7-ΠΙ/3.2, Παρ1/7
γεμισεΚουτί0(1, Επιφ_Ανω)
ΒΗΜΑ ΓΩΝΙΑ ΠΙ/7, Παρ1/6.3
γεμισεΚουτί0(2, Επιφ_Ανω)
ΒΗΜΑ ΓΩΝΙΑ ΠΙ/7, Παρ1/6.1
γεμισεΚουτί0(3, Επιφ_Ανω)
'--------------------------------
ΘΕΣΗ Παρ1/4+χ, Παρ1/4+y
ΒΗΜΑ -Παρ1/10, Παρ1/10
γεμισεΚουτί2(3, Επιφ_Αριστερά)
ΒΗΜΑ ΓΩΝΙΑ ΠΙ/7-ΠΙ/3.1, Παρ1/6.5
γεμισεΚουτί2(2, Επιφ_Αριστερά)
ΒΗΜΑ ΓΩΝΙΑ ΠΙ/7-ΠΙ/3.2, Παρ1/6.4
γεμισεΚουτί2(1, Επιφ_Αριστερά)
ΒΗΜΑ ΓΩΝΙΑ ΠΙ/7-ΠΙ/3.1, -Παρ1/6.5
ΒΗΜΑ ΓΩΝΙΑ ΠΙ/7-ΠΙ/3.2, -Παρ1/6.4
ΒΗΜΑ ΓΩΝΙΑ -ΠΙ/2+ΠΙ/64, Παρ1/6
γεμισεΚουτί2(6, Επιφ_Αριστερά)
ΒΗΜΑ ΓΩΝΙΑ ΠΙ/7-ΠΙ/3.1, Παρ1/6.5
γεμισεΚουτί2(5, Επιφ_Αριστερά)
ΒΗΜΑ ΓΩΝΙΑ ΠΙ/7-ΠΙ/3.2, Παρ1/6.4
γεμισεΚουτί2(4, Επιφ_Αριστερά)
ΒΗΜΑ ΓΩΝΙΑ ΠΙ/7-ΠΙ/3.1, -Παρ1/6.5
ΒΗΜΑ ΓΩΝΙΑ ΠΙ/7-ΠΙ/3.2, -Παρ1/6.4
ΒΗΜΑ ΓΩΝΙΑ -ΠΙ/2+ΠΙ/64, Παρ1/6
γεμισεΚουτί2(9, Επιφ_Αριστερά)
ΒΗΜΑ ΓΩΝΙΑ ΠΙ/7-ΠΙ/3.1, Παρ1/6.5
γεμισεΚουτί2(8, Επιφ_Αριστερά)
ΒΗΜΑ ΓΩΝΙΑ ΠΙ/7-ΠΙ/3.2, Παρ1/6.4
γεμισεΚουτί2(7, Επιφ_Αριστερά)
'--------------------------------
ΘΕΣΗ Παρ1+χ, Παρ1/4+y
ΒΗΜΑ -Παρ1/8, Παρ1/16+Παρ1/32
λ=1
γεμισεΚουτί(&λ, Επιφ_Δεξιά)
ΒΗΜΑ ΓΩΝΙΑ ΠΙ/4-ΠΙ/11, -Παρ1/6.5
γεμισεΚουτί(&λ, Επιφ_Δεξιά)
ΒΗΜΑ ΓΩΝΙΑ ΠΙ/4-ΠΙ/11, -Παρ1/6.5
γεμισεΚουτί(&λ, Επιφ_Δεξιά)
ΒΗΜΑ ΓΩΝΙΑ ΠΙ/4-ΠΙ/11, Παρ1/6.5
ΒΗΜΑ ΓΩΝΙΑ ΠΙ/4-ΠΙ/11, Παρ1/6.5
ΒΗΜΑ ΓΩΝΙΑ -ΠΙ/2-ΠΙ/32, Παρ1/6
γεμισεΚουτί(&λ, Επιφ_Δεξιά)
ΒΗΜΑ ΓΩΝΙΑ ΠΙ/4-ΠΙ/11, -Παρ1/6.5
γεμισεΚουτί(&λ, Επιφ_Δεξιά)
ΒΗΜΑ ΓΩΝΙΑ ΠΙ/4-ΠΙ/11, -Παρ1/6.5
γεμισεΚουτί(&λ, Επιφ_Δεξιά)
ΒΗΜΑ ΓΩΝΙΑ ΠΙ/4-ΠΙ/11, Παρ1/6.5
ΒΗΜΑ ΓΩΝΙΑ ΠΙ/4-ΠΙ/11, Παρ1/6.5
ΒΗΜΑ ΓΩΝΙΑ -ΠΙ/2-ΠΙ/32, Παρ1/6
γεμισεΚουτί(&λ, Επιφ_Δεξιά)
ΒΗΜΑ ΓΩΝΙΑ ΠΙ/4-ΠΙ/11, -Παρ1/6.5
γεμισεΚουτί(&λ, Επιφ_Δεξιά)
ΒΗΜΑ ΓΩΝΙΑ ΠΙ/4-ΠΙ/11, -Παρ1/6.5
γεμισεΚουτί(&λ, Επιφ_Δεξιά)
}
ΔΡΟΜΕΑΣ 0,0
ΘΕΣΗ 0,0
ΑΝ @ΈλεγχοςΟλοκλήρωσης() ΤΟΤΕ
ΒΑΨΕ ΚΛΙΜΑΞ.Χ, υ1,#3355aa
Τίτλος$="Rubik Παζλ - Ολοκληρώθηκε"
ΑΝ ΠΑΛΙΟ=1 ΤΟΤΕ ΜΠΙΠ
ΠΑΛΙΟ=0
ΑΛΛΙΩΣ
ΒΑΨΕ ΚΛΙΜΑΞ.Χ, υ1,2
Τίτλος$="Rubik Παζλ - Επίπεδο: "+Επίπεδο0
ΠΑΛΙΟ=1
ΤΕΛΟΣ ΑΝ
ΑΝΑΝΕΩΣΗ 25
ΤΕΛΟΣ ΡΟΥΤΙΝΑΣ
ΡΟΥΤΙΝΑ Κάθετα()
ΤΟΠΙΚΗ τ(1 ΕΩΣ 9) ΩΣ ΜΑΚΡΥΣ, β(1 ΕΩΣ 9) ΩΣ ΜΑΚΡΥΣ, ι
ΓΙΑ ι=1 ΕΩΣ 9
τ(ι)=α(ΓύρναΑριστερά(ι), Επιφ_ΑριστεράΠίσω)
β(ι)=α(ΓύρναΔεξιά(ι), Επιφ_Δεξιά)
ΕΠΟΜΕΝΟ ι
ΓΙΑ ι=1 ΕΩΣ 9
α(ι, Επιφ_ΑριστεράΠίσω)=τ(ι)
α(ι, Επιφ_Δεξιά)=β(ι)
ΕΠΟΜΕΝΟ ι
ΑΔΕΙΑΣΕ
ΣΕΙΡΑ Επιφ_Αριστερά, Επιφ_Ανω, Επιφ_ΔεξιάΠίσω, Επιφ_Κάτω
ΔΙΑΒΑΣΕ Επιφ_Ανω, Επιφ_ΔεξιάΠίσω, Επιφ_Κάτω, Επιφ_Αριστερά
ΓΙΑ ι=1 ΕΩΣ 9
τ(ι)=α(ΓύρναΔεξιά(ΓύρναΔεξιά(ι)), Επιφ_ΔεξιάΠίσω)
β(ι)=α(ΓύρναΔεξιά(ΓύρναΔεξιά(ι)), Επιφ_Κάτω)
ΕΠΟΜΕΝΟ ι
ΓΙΑ ι=1 ΕΩΣ 9
α(ι, Επιφ_ΔεξιάΠίσω)=τ(ι)
α(ι, Επιφ_Κάτω)=β(ι)
ΕΠΟΜΕΝΟ ι
Εμφάνισε=ΑΛΗΘΕΣ
ΤΕΛΟΣ ΡΟΥΤΙΝΑΣ
ΡΟΥΤΙΝΑ Επ1(ρ=4, επ=1)
ΤΟΠΙΚΗ τ(1 ΕΩΣ 9) ΩΣ ΜΑΚΡΥΣ, v(1 ΕΩΣ 3, 1 ΕΩΣ 4) ΩΣ ΜΑΚΡΥΣ, ι, κ
ΤΟΠΙΚΗ vv=list:= 1:=Επιφ_ΑριστεράΠίσω, 2:=Επιφ_Αριστερά, 3:=Επιφ_Δεξιά, 4:=Επιφ_ΔεξιάΠίσω, 5:=Επιφ_ΑριστεράΠίσω
ΑΝ ρ=4 ΤΟΤΕ
ΑΝ επ=1 ΤΟΤΕ
ΓΙΑ ι=1 ΕΩΣ 9
τ(ι)=α(ΓύρναΔεξιά(ι), Επιφ_Ανω)
ΕΠΟΜΕΝΟ ι
ΓΙΑ ι=1 ΕΩΣ 9
α(ι, Επιφ_Ανω)=τ(ι)
ΕΠΟΜΕΝΟ ι
ΑΛΛΙΩΣ.ΑΝ επ=3 ΤΟΤΕ
ΓΙΑ ι=1 ΕΩΣ 9
τ(ι)=α(ΓύρναΑριστερά(ι), Επιφ_Κάτω)
ΕΠΟΜΕΝΟ ι
ΓΙΑ ι=1 ΕΩΣ 9
α(ι, Επιφ_Κάτω)=τ(ι)
ΕΠΟΜΕΝΟ ι
ΤΕΛΟΣ ΑΝ
ΑΛΛΙΩΣ
ΑΝ επ=1 ΤΟΤΕ
ΓΙΑ ι=1 ΕΩΣ 9
τ(ι)=α(ΓύρναΑριστερά(ι), Επιφ_Ανω)
ΕΠΟΜΕΝΟ ι
ΓΙΑ ι=1 ΕΩΣ 9
α(ι, Επιφ_Ανω)=τ(ι)
ΕΠΟΜΕΝΟ ι
ΑΛΛΙΩΣ.ΑΝ επ=3 ΤΟΤΕ
ΓΙΑ ι=1 ΕΩΣ 9
τ(ι)=α(ΓύρναΔεξιά(ι), Επιφ_Κάτω)
ΕΠΟΜΕΝΟ ι
ΓΙΑ ι=1 ΕΩΣ 9
α(ι, Επιφ_Κάτω)=τ(ι)
ΕΠΟΜΕΝΟ ι
ΤΕΛΟΣ ΑΝ
ΤΕΛΟΣ ΑΝ
ΤΟΠΙΚΗ θ=(επ-1)*3
ΓΙΑ ι=1 ΕΩΣ 4
ΓΙΑ κ=1 ΕΩΣ 3
v(κ, ι)=α(κ+θ, vv((ι+ρ) mod 4 + 1))
ΕΠΟΜΕΝΟ κ
ΕΠΟΜΕΝΟ ι
ΓΙΑ ι=1 ΕΩΣ 4
ΓΙΑ κ=1 ΕΩΣ 3
α(κ+θ,vv(ι))=v(κ, ι)
ΕΠΟΜΕΝΟ κ
ΕΠΟΜΕΝΟ ι
Εμφάνισε=ΑΛΗΘΕΣ
ΤΕΛΟΣ ΡΟΥΤΙΝΑΣ
ΡΟΥΤΙΝΑ Επ2(ρ=4, επ=1)
ΤΟΠΙΚΗ τ(1 ΕΩΣ 9) ΩΣ ΜΑΚΡΥΣ, ι
ΑΝ ρ=4 ΤΟΤΕ
ΑΝ επ=1 ΤΟΤΕ
ΓΙΑ ι=1 ΕΩΣ 9
τ(ι)=α(ΓύρναΑριστερά(ι), Επιφ_Αριστερά)
ΕΠΟΜΕΝΟ ι
ΓΙΑ ι=1 ΕΩΣ 9
α(ι, Επιφ_Αριστερά)=τ(ι)
ΕΠΟΜΕΝΟ ι
ΑΛΛΙΩΣ.ΑΝ επ=3 ΤΟΤΕ
ΓΙΑ ι=1 ΕΩΣ 9
τ(ι)=α(ΓύρναΔεξιά(ι), Επιφ_ΔεξιάΠίσω)
ΕΠΟΜΕΝΟ ι
ΓΙΑ ι=1 ΕΩΣ 9
α(ι, Επιφ_ΔεξιάΠίσω)=τ(ι)
ΕΠΟΜΕΝΟ ι
ΤΕΛΟΣ ΑΝ
ΑΛΛΙΩΣ
ΑΝ επ=1 ΤΟΤΕ
ΓΙΑ ι=1 ΕΩΣ 9
τ(ι)=α(ΓύρναΔεξιά(ι), Επιφ_Αριστερά)
ΕΠΟΜΕΝΟ ι
ΓΙΑ ι=1 ΕΩΣ 9
α(ι, Επιφ_Αριστερά)=τ(ι)
ΕΠΟΜΕΝΟ ι
ΑΛΛΙΩΣ.ΑΝ επ=3 ΤΟΤΕ
ΓΙΑ ι=1 ΕΩΣ 9
τ(ι)=α(ΓύρναΑριστερά(ι), Επιφ_ΔεξιάΠίσω)
ΕΠΟΜΕΝΟ ι
ΓΙΑ ι=1 ΕΩΣ 9
α(ι, Επιφ_ΔεξιάΠίσω)=τ(ι)
ΕΠΟΜΕΝΟ ι
ΤΕΛΟΣ ΑΝ
ΤΕΛΟΣ ΑΝ
ΑΔΕΙΑΣΕ
ΤΟΠΙΚΗ θ=(επ-1)*3, θ1=επ-1
ΣΕΙΡΑ α(3-θ1, Επιφ_Δεξιά), α(6-θ1, Επιφ_Δεξιά), α(9-θ1, Επιφ_Δεξιά)
ΣΕΙΡΑ α(7-θ, Επιφ_Ανω), α(8-θ, Επιφ_Ανω), α(9-θ, Επιφ_Ανω)
ΣΕΙΡΑ α(7+θ1, Επιφ_ΑριστεράΠίσω), α(4+θ1, Επιφ_ΑριστεράΠίσω), α(1+θ1, Επιφ_ΑριστεράΠίσω)
ΣΕΙΡΑ α(1+θ, Επιφ_Κάτω), α(2+θ, Επιφ_Κάτω), α(3+θ, Επιφ_Κάτω)
ΑΝ ρ=2 ΤΟΤΕ
ΔΙΑΒΑΣΕ α(1+θ, Επιφ_Κάτω), α(2+θ, Επιφ_Κάτω), α(3+θ, Επιφ_Κάτω)
ΔΙΑΒΑΣΕ α(9-θ1, Επιφ_Δεξιά), α(6-θ1, Επιφ_Δεξιά), α(3-θ1, Επιφ_Δεξιά)
ΔΙΑΒΑΣΕ α(9-θ, Επιφ_Ανω), α(8-θ, Επιφ_Ανω), α(7-θ, Επιφ_Ανω)
ΔΙΑΒΑΣΕ α(7+θ1, Επιφ_ΑριστεράΠίσω), α(4+θ1, Επιφ_ΑριστεράΠίσω), α(1+θ1, Επιφ_ΑριστεράΠίσω)
ΑΛΛΙΩΣ
ΔΙΑΒΑΣΕ α(9-θ, Επιφ_Ανω), α(8-θ, Επιφ_Ανω), α(7-θ, Επιφ_Ανω)
ΔΙΑΒΑΣΕ α(1+θ1, Επιφ_ΑριστεράΠίσω), α(4+θ1, Επιφ_ΑριστεράΠίσω), α(7+θ1, Επιφ_ΑριστεράΠίσω)
ΔΙΑΒΑΣΕ α(1+θ, Επιφ_Κάτω), α(2+θ, Επιφ_Κάτω), α(3+θ, Επιφ_Κάτω)
ΔΙΑΒΑΣΕ α(3-θ1, Επιφ_Δεξιά), α(6-θ1, Επιφ_Δεξιά), α(9-θ1, Επιφ_Δεξιά)
ΤΕΛΟΣ ΑΝ
Εμφάνισε=ΑΛΗΘΕΣ
ΤΕΛΟΣ ΡΟΥΤΙΝΑΣ
ΡΟΥΤΙΝΑ Επ3(ρ=4, επ=1)
ΤΟΠΙΚΗ τ(1 ΕΩΣ 9) ΩΣ ΜΑΚΡΥΣ, ι
ΑΝ ρ=2 ΤΟΤΕ
ΑΝ επ=1 ΤΟΤΕ
ΓΙΑ ι=1 ΕΩΣ 9
τ(ι)=α(ΓύρναΑριστερά(ι), Επιφ_Δεξιά)
ΕΠΟΜΕΝΟ ι
ΓΙΑ ι=1 ΕΩΣ 9
α(ι, Επιφ_Δεξιά)=τ(ι)
ΕΠΟΜΕΝΟ ι
ΑΛΛΙΩΣ.ΑΝ επ=3 ΤΟΤΕ
ΓΙΑ ι=1 ΕΩΣ 9
τ(ι)=α(ΓύρναΔεξιά(ι), Επιφ_ΑριστεράΠίσω)
ΕΠΟΜΕΝΟ ι
ΓΙΑ ι=1 ΕΩΣ 9
α(ι, Επιφ_ΑριστεράΠίσω)=τ(ι)
ΕΠΟΜΕΝΟ ι
ΤΕΛΟΣ ΑΝ
ΑΛΛΙΩΣ
ΑΝ επ=1 ΤΟΤΕ
ΓΙΑ ι=1 ΕΩΣ 9
τ(ι)=α(ΓύρναΔεξιά(ι), Επιφ_Δεξιά)
ΕΠΟΜΕΝΟ ι
ΓΙΑ ι=1 ΕΩΣ 9
α(ι, Επιφ_Δεξιά)=τ(ι)
ΕΠΟΜΕΝΟ ι
ΑΛΛΙΩΣ.ΑΝ επ=3 ΤΟΤΕ
ΓΙΑ ι=1 ΕΩΣ 9
τ(ι)=α(ΓύρναΑριστερά(ι), Επιφ_ΑριστεράΠίσω)
ΕΠΟΜΕΝΟ ι
ΓΙΑ ι=1 ΕΩΣ 9
α(ι, Επιφ_ΑριστεράΠίσω)=τ(ι)
ΕΠΟΜΕΝΟ ι
ΤΕΛΟΣ ΑΝ
ΤΕΛΟΣ ΑΝ
ΑΔΕΙΑΣΕ
ΤΟΠΙΚΗ θ1=επ-1
ΣΕΙΡΑ α(7+θ1, Επιφ_Ανω), α(4+θ1, Επιφ_Ανω), α(1+θ1, Επιφ_Ανω)
ΣΕΙΡΑ α(3-θ1, Επιφ_ΔεξιάΠίσω), α(6-θ1, Επιφ_ΔεξιάΠίσω), α(9-θ1, Επιφ_ΔεξιάΠίσω)
ΣΕΙΡΑ α(1+θ1, Επιφ_Κάτω), α(4+θ1, Επιφ_Κάτω), α(7+θ1, Επιφ_Κάτω)
ΣΕΙΡΑ α(1+θ1, Επιφ_Αριστερά), α(4+θ1, Επιφ_Αριστερά), α(7+θ1, Επιφ_Αριστερά)
ΑΝ ρ=2 ΤΟΤΕ
ΔΙΑΒΑΣΕ α(7+θ1, Επιφ_Αριστερά), α(4+θ1, Επιφ_Αριστερά), α(1+θ1, Επιφ_Αριστερά)
ΔΙΑΒΑΣΕ α(7+θ1, Επιφ_Ανω), α(4+θ1, Επιφ_Ανω), α(1+θ1, Επιφ_Ανω)
ΔΙΑΒΑΣΕ α(9-θ1, Επιφ_ΔεξιάΠίσω), α(6-θ1, Επιφ_ΔεξιάΠίσω), α(3-θ1, Επιφ_ΔεξιάΠίσω)
ΔΙΑΒΑΣΕ α(1+θ1, Επιφ_Κάτω), α(4+θ1, Επιφ_Κάτω), α(7+θ1, Επιφ_Κάτω)
ΑΛΛΙΩΣ
ΔΙΑΒΑΣΕ α(3-θ1, Επιφ_ΔεξιάΠίσω), α(6-θ1, Επιφ_ΔεξιάΠίσω), α(9-θ1, Επιφ_ΔεξιάΠίσω)
ΔΙΑΒΑΣΕ α(7+θ1, Επιφ_Κάτω), α(4+θ1, Επιφ_Κάτω), α(1+θ1, Επιφ_Κάτω)
ΔΙΑΒΑΣΕ α(1+θ1, Επιφ_Αριστερά), α(4+θ1, Επιφ_Αριστερά), α(7+θ1, Επιφ_Αριστερά)
ΔΙΑΒΑΣΕ α(1+θ1, Επιφ_Ανω), α(4+θ1, Επιφ_Ανω), α(7+θ1, Επιφ_Ανω)
ΤΕΛΟΣ ΑΝ
Εμφάνισε=ΑΛΗΘΕΣ
ΤΕΛΟΣ ΡΟΥΤΙΝΑΣ
ΡΟΥΤΙΝΑ Οριζόντια()
ΤΟΠΙΚΗ τ(1 ΕΩΣ 9) ΩΣ ΜΑΚΡΥΣ, β(1 ΕΩΣ 9) ΩΣ ΜΑΚΡΥΣ, ι
ΓΙΑ ι=1 ΕΩΣ 9
τ(ι)=α(ΓύρναΔεξιά(ι), Επιφ_Ανω)
β(ι)=α(ΓύρναΑριστερά(ι), Επιφ_Κάτω)
ΕΠΟΜΕΝΟ ι
ΓΙΑ ι=1 ΕΩΣ 9
α(ι, Επιφ_Ανω)=τ(ι)
α(ι, Επιφ_Κάτω)=β(ι)
ΕΠΟΜΕΝΟ ι
ΑΔΕΙΑΣΕ
ΣΕΙΡΑ Επιφ_Αριστερά, Επιφ_Δεξιά, Επιφ_ΔεξιάΠίσω, Επιφ_ΑριστεράΠίσω
ΔΙΑΒΑΣΕ Επιφ_ΑριστεράΠίσω, Επιφ_Αριστερά, Επιφ_Δεξιά, Επιφ_ΔεξιάΠίσω
Εμφάνισε=ΑΛΗΘΕΣ
ΤΕΛΟΣ ΡΟΥΤΙΝΑΣ
ΡΟΥΤΙΝΑ γεμισεΚουτί0(ζ,χ)
ΓΕΜΙΣΕ ΧΡΩΜΑ , ,α(ΓύρναΑριστερά(ζ),χ)
ΤΕΛΟΣ ΡΟΥΤΙΝΑΣ
ΡΟΥΤΙΝΑ γεμισεΚουτί(&ζ,χ)
ΓΕΜΙΣΕ ΧΡΩΜΑ , ,α(ζ,χ)
ζ++
ΤΕΛΟΣ ΡΟΥΤΙΝΑΣ
ΡΟΥΤΙΝΑ γεμισεΚουτί2(ζ, χ)
ΓΕΜΙΣΕ ΧΡΩΜΑ , ,α(ζ, χ)
ΤΕΛΟΣ ΡΟΥΤΙΝΑΣ
ΡΟΥΤΙΝΑ Βάλε_Ετικέτες()
ΘΕΣΗ Παρ1/4+χ, Παρ1/4+y
ΒΗΜΑ-Παρ1/8, -Παρ1/8
ΠΕΝΑ 11 {ΕΤΙΚΕΤΑ.ΦΟΡΜΑΣ "D",,Τυπ1}
ΒΗΜΑ ΓΩΝΙΑ ΠΙ/8, Παρ1/7
ΠΕΝΑ 11 {ΕΤΙΚΕΤΑ.ΦΟΡΜΑΣ "E",,Τυπ1}
ΒΗΜΑ ΓΩΝΙΑ ΠΙ/8, Παρ1/7
ΠΕΝΑ 11 {ΕΤΙΚΕΤΑ.ΦΟΡΜΑΣ "F",,Τυπ1}
ΒΗΜΑ ΓΩΝΙΑ 0, Παρ1/8+Παρ1/16
ΠΕΝΑ 11 {ΕΤΙΚΕΤΑ.ΦΟΡΜΑΣ "G",,Τυπ1}
ΒΗΜΑ ΓΩΝΙΑ -ΠΙ/8.2+ΠΙ, -Παρ1/7
ΠΕΝΑ 11 {ΕΤΙΚΕΤΑ.ΦΟΡΜΑΣ "H",,Τυπ1}
ΒΗΜΑ ΓΩΝΙΑ -ΠΙ/8.2+ΠΙ, -Παρ1/7
ΠΕΝΑ 11 {ΕΤΙΚΕΤΑ.ΦΟΡΜΑΣ "I",,Τυπ1}
ΘΕΣΗ Παρ1/4+χ, Παρ1/4+y
ΒΗΜΑ -Παρ1/4+Παρ1/32, Παρ1/20
ΠΕΝΑ 11 {ΕΤΙΚΕΤΑ.ΦΟΡΜΑΣ "C",,Τυπ1}
ΒΗΜΑ Παρ1/128+Παρ1/256, Παρ1/7
ΠΕΝΑ 11 {ΕΤΙΚΕΤΑ.ΦΟΡΜΑΣ "B",,Τυπ1}
ΒΗΜΑ Παρ1/128+Παρ1/256, Παρ1/7
ΠΕΝΑ 11 {ΕΤΙΚΕΤΑ.ΦΟΡΜΑΣ "A",,Τυπ1}
ΤΕΛΟΣ ΡΟΥΤΙΝΑΣ
ΣΥΝΑΡΤΗΣΗ ΈλεγχοςΟλοκλήρωσης()
ΤΟΠΙΚΗ ι, κ, λ
ΓΙΑ ι=1 ΕΩΣ 6
λ=α(1, ι)
ΓΙΑ κ=2 ΕΩΣ 9
ΑΝ α(κ,ι)<>λ ΤΟΤΕ =ΨΕΥΔΗΣ : ΕΞΟΔΟΣ ΣΥΝΑΡΤΗΣΗΣ
ΕΠΟΜΕΝΟ
ΕΠΟΜΕΝΟ
=ΑΛΗΘΕΣ
ΤΕΛΟΣ ΣΥΝΑΡΤΗΣΗΣ
ΡΟΥΤΙΝΑ Μπέρδεψε(φορές ΩΣ ΜΑΚΡΥΣ)
Φτιάξε_Πλευρές()
ΤΟΠΙΚΗ ι
ΓΙΑ ι=1 ΕΩΣ 5*φορές
ΕΠΙΛΕΞΕ ΜΕ ΤΥΧΑΙΟΣ(1, 3)
ΜΕ 1
Επ1(ΤΥΧΑΙΟΣ(1,2)*2, ΤΥΧΑΙΟΣ(1,3))
ΜΕ 2
Επ2(ΤΥΧΑΙΟΣ(1,2)*2, ΤΥΧΑΙΟΣ(1,3))
ΜΕ 3
Επ3(ΤΥΧΑΙΟΣ(1,2)*2, ΤΥΧΑΙΟΣ(1,3))
ΤΕΛΟΣ ΕΠΙΛΟΓΗΣ
ΕΠΟΜΕΝΟ
Επίπεδο0=φορές
Εμφάνισε=ΑΛΗΘΕΣ
ΤΕΛΟΣ ΡΟΥΤΙΝΑΣ
ΡΟΥΤΙΝΑ Φτιάξε_Πλευρές()
ΤΟΠΙΚΗ κ1=Πορτοκαλί, ι
Επιφ_Ανω=6
Επιφ_Αριστερά=2
Επιφ_Δεξιά=3
Επιφ_Κάτω=5
Επιφ_ΑριστεράΠίσω=1
Επιφ_ΔεξιάΠίσω=4
ΓΙΑ ι=1 ΕΩΣ 6
ΓΙΑ κ=1 ΕΩΣ 9
α(κ,ι)=κ1
ΕΠΟΜΕΝΟ
κ1++
ΕΠΟΜΕΝΟ
Εμφάνισε=ΑΛΗΘΕΣ
ΤΕΛΟΣ ΡΟΥΤΙΝΑΣ