Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Баловство, sokoban.
|
|||
|---|---|---|---|
|
#18+
Раз пошла такая пианка, выкладываю 1й уровень сокобан(если кто понит) игрушка такая была. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.06.2011, 21:00 |
|
||
|
Баловство, sokoban.
|
|||
|---|---|---|---|
|
#18+
Под каше не запускается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2011, 16:19 |
|
||
|
Баловство, sokoban.
|
|||
|---|---|---|---|
|
#18+
Блок А.Н., Исправил, видимо ругалось на мнемонику /ATR , остатки мсм )) и N c=чтототам каше к сожалению под рукой нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2011, 22:51 |
|
||
|
Баловство, sokoban.
|
|||
|---|---|---|---|
|
#18+
Еще # в числе каше не понимает, заменил на $zhex В итоге текст программы для кашеSOKOBAN ;по мотивам статьи http://habrahabr.ru/blogs/linux/120198/ ;#Компьютерная игра Sokoban ;#Определим карту как массив S ^map(1,1)="####################" S ^map(1,2)="####################" S ^map(1,3)="#####___############" S ^map(1,4)="#####=__############" S ^map(1,5)="#####__=############" S ^map(1,6)="###__=_=_###########" S ^map(1,7)="###_#_##_###########" S ^map(1,8)="#___#_##_######__oo#" S ^map(1,9)="#_=__=___________oo#" S ^map(1,10)="#####_###_#_###__oo#" S ^map(1,11)="#####_____##########" S ^map(1,12)="####################" S ^map(1,13)="####################" S ^map(1,14)="####################" S ^map(1,15)="####################" S ^map(1,16)="####################" S ^map(1,17)="####################" S ^map(1,18)="####################" S ^map(1,19)="####################" S ^map(1,20)="####################" K map M map=^map(1) ;#И зададим начальные координаты грузчика ;#установим счетчик цикла (а за одно размер игровой карты) S x=9,y=11,LIMIT=20,NL=1,B="" ;#Очистим экран, выключим ехо на екране если каще ЕСНО не помнимает закоментировать W # U 0:(/ECHO=0) ;#За одно выведем всякую полезную информацию W /CUP(22,2),"W-up,S-down,Q|A-left,E|D-right,X-exit" ; ",N-level+1" ;W /CUP(23,2),"blue-wall, green-hero, magenta and @ - chest, o - place for chest" ;#И перейдем к главному циклу F Q:B="x" D SKBLOOP Q ; SKBLOOP ; ;#Выведем карту на экран ;Скрыть курсор Esc[?25l ;Показать курсор Esc[?25h W $c(27),"[?25l" F my=1:1:LIMIT F mx=1:1:LIMIT D . N c S c=$E(map(my),mx) . W /CUP(my,mx) D ATR(07) . I c="#" D ATR(44) ;стена синий . I c="=" D ATR(55) ;ящики магента . I c="@" D ATR(66) ;ящики на месте . I c="_" S c=" " ;пробельный знак . W c D ATR(07) W $c(27),"[?25h" ; ;#И наконец - героя (чтобы курсор моргал в том месте, где он стоит) W /CUP(y,x) D ATR(22) W "X",/CUP(y,x) D ATR(07) ;#И прочитаем один символ S B="" R B#1 ; ;#Сбросим переменные, в которые будем сохранять относительное перемещение грузчика S nx=0,ny=0 ;#Пришло время узнать, в какую сторону пользователь хочет переместить грузчика I "wW"[B S ny=-1 I "sS"[B S ny=+1 I "aAqQ"[B S nx=-1 I "dDeE"[B S nx=+1 I "xX"[B S B="x" ;#Найдем координату клетки, на которую грузчик хочет перейти И сразу - следующую за ней S rx=x+nx,ry=y+ny,r2x=x+nx+nx,r2y=y+ny+ny ; ;#Если в этой клетке пусто, то, можно смело менять координаты I $E(map(ry),rx)="_" S x=x+nx,y=y+ny ;#По местам для сундуков тоже можно ходить I $E(map(ry),rx)="o" S x=x+nx,y=y+ny ;#Ага, а что если ящик?Если за ящиком пусто, то можно двигать I $E(map(ry),rx)="=",$E(map(r2y),r2x)="_" S $e(map(r2y),r2x)="=",$E(map(ry),rx)="_",x=x+nx,y=y+ny ;#Если место для ящика свободно - тоже можно двигать I $E(map(ry),rx)="=",$E(map(r2y),r2x)="o" S $e(map(r2y),r2x)="@",$E(map(ry),rx)="_",x=x+nx,y=y+ny ;#Столкнулись с ящиком, который стоит на месте,Если за ним пусто - значит, сдвинем ящик I $E(map(ry),rx)="@",$E(map(r2y),r2x)="_" S $e(map(r2y),r2x)="=",$E(map(ry),rx)="o",x=x+nx,y=y+ny ;#Если за ним другое место - то тоже сдвинем I $E(map(ry),rx)="@",$E(map(r2y),r2x)="o" S $e(map(r2y),r2x)="@",$E(map(ry),rx)="o",x=x+nx,y=y+ny ; ;#Возвращаемся к выводу на экран и опросу клавиатуры Q ; ATR(n) ; Set symbol attributes using one byte s n=$zhex(n_"h") W $c(27,91),(6-(n\128#2)),";",(2-(n\8#2)),";",(n#8+30),";",(n\16#8+40)_"m" Q ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2011, 20:22 |
|
||
|
|

start [/forum/topic.php?fid=39&fpage=41&tid=1557721]: |
0ms |
get settings: |
5ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
121ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
23ms |
get tp. blocked users: |
1ms |
| others: | 215ms |
| total: | 388ms |

| 0 / 0 |
