Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
62
Task/Langtons-ant/Peri/langtons-ant.peri
Normal file
62
Task/Langtons-ant/Peri/langtons-ant.peri
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
###sysinclude standard.uh
|
||||
###sysinclude system.uh
|
||||
###sysinclude str.uh
|
||||
###sysinclude X.uh
|
||||
#g
|
||||
$ff0000 sto szin1
|
||||
$ffffff sto szin2
|
||||
10 sto pausetime
|
||||
//maxypixel 100 - sto YRES
|
||||
//maxypixel 20 - sto YRES
|
||||
//maxypixel 7 - sto YRES
|
||||
//maxypixel 13 - sto YRES
|
||||
maxypixel 20 - sto YRES
|
||||
maxxpixel sto XRES
|
||||
zero ant
|
||||
// Az ant iránykódjai:
|
||||
// 0 : fel
|
||||
// 1 : le
|
||||
// 2 : jobbra
|
||||
// 3 : balra
|
||||
@XRES 2 / sto antx // Az ant kezdeti koordinátái
|
||||
@YRES 2 / sto anty
|
||||
myscreen "Furor monitor" @YRES @XRES graphic // Create the graphic screen
|
||||
."Kilépés: ESC\n"
|
||||
|
||||
{.. // infinite loop begins
|
||||
myscreen @anty @antx getpixel // A pixel színe amin az ant ül épp
|
||||
@szin2 == {
|
||||
myscreen @anty @antx @szin1 setpixel // másik színre átállítjuk a pixelt
|
||||
2 // Jobbra fog fordulni
|
||||
}{
|
||||
myscreen @anty @antx @szin2 setpixel // másik színre átállítjuk a pixelt
|
||||
3 // Balra fog fordulni
|
||||
}
|
||||
// Elvégezzük az új koordináta beállítását:
|
||||
sto direction
|
||||
@ant 0 == @direction 2 == & { ++() antx @antx @XRES == { zero antx } 2 sto ant goto §beolvas }
|
||||
@ant 0 == @direction 3 == & { @antx inv { @XRES -- sto antx }{ --() antx } 3 sto ant goto §beolvas }
|
||||
@ant 1 == @direction 3 == & { ++() antx @antx @XRES == { zero antx } 2 sto ant goto §beolvas }
|
||||
@ant 1 == @direction 2 == & { @antx inv { @XRES -- sto antx }{ --() antx } 3 sto ant goto §beolvas }
|
||||
@ant 2 == @direction 2 == & { @anty inv { @YRES -- sto anty }{ --() anty } 1 sto ant goto §beolvas }
|
||||
@ant 2 == @direction 3 == & { ++() anty @anty @YRES == { zero anty } 0 sto ant goto §beolvas }
|
||||
@ant 3 == @direction 2 == & { ++() anty @anty @YRES == { zero anty } 0 sto ant goto §beolvas }
|
||||
@ant 3 == @direction 3 == & { @anty inv { @YRES -- sto anty }{ --() anty } 1 sto ant goto §beolvas }
|
||||
|
||||
beolvas:
|
||||
myscreen key !sto billkód @pausetime inv sleep $1b == {
|
||||
."Made " {..} print ." generations.\n" {.>.} }
|
||||
..}
|
||||
myscreen inv graphic
|
||||
end
|
||||
{ „myscreen” }
|
||||
{ „billkód” }
|
||||
{ „pausetime” }
|
||||
{ „XRES” }
|
||||
{ „YRES” }
|
||||
{ „szin1” }
|
||||
{ „szin2” }
|
||||
{ „ant” }
|
||||
{ „antx” }
|
||||
{ „anty” }
|
||||
{ „direction” }
|
||||
Loading…
Add table
Add a link
Reference in a new issue