free cell 1K
Демейк одного из моих любимых вариантов пасьянса: Free Cell
Сделано всего из 1022 символов кода, без предварительно нарисованных спрайтов!
> ПРАВИЛА / КОНТРОЛЬ <ул>- вы не можете перемещать стопки карт; только по одному!
- любая карта может быть помещена в пустой столбец основной области
В веб-версии ваши карты сбрасываются, если вы случайно перемещаете мышь за пределы игрового окна; это поведение менее раздражает в загруженных версиях.
> ПО ОДНОМУ?Вы можете перемещать только одну карту за раз; если вы хотите переместить стопку карт, вы должны разобрать ее и снова собрать вручную. Это отличается от «стандартного» пасьянса и делает «Свободную ячейку» особенно интересной! Это также делает реализацию немного проще, чтобы соответствовать крошечному ограничению размера кода ;)
> НЕКОТОРЫЕ ОСОБЕННОСТИ КОДАНекоторые из наиболее причудливых приемов, которые я использовал, чтобы выжать максимум функциональности из моего бюджета в 1024 символа:
- установите палитру с помощью poke2(-15-😐,264,2043,4,3843)!
- проверьте, можете ли вы сбросить удерживаемую карту с помощью i\12+G+#S< 1или 16-i\8|k+G==16|1+H.k^^32или H.k==i\12+k|G!
- обновить позиции карт с помощью _ENV во всех(S)do х=и+3*х+.5>>2y=v+3*y+.5>>2end!
- динамически отбрасывать тени с особой палитрой и нажимать2(63-😐,244)rectfill(x-1,y-1, x+W,y+Z,4)poke2(61-😐,-1,-1)!
- нарисуйте 4 иконки мастей с помощью split("♥,◆,◆⁵8f..³aᶜ3., ◆⁵8fニ")[suit_id]!
- автоматически перемещайте карты в верхний правый угол, отслеживая минимальную высоту стека с помощью битового сдвига! (ищите M (и m), чтобы увидеть соответствующий код)
- проверьте, выиграна ли игра, воспользовавшись тем, что 2^12<⧗ и ⧗<2^13!
Вот полный код; не забудьте включить текстовый режим (cmd-p) перед тем, как вставить это в локальную консоль PICO-8!
А=добавить W=12w=13Z=16s={}B={}Q=1T=0M=9q=poke2 функция F(i)S=s[i]J=i\W I=i\8O=1-I U=I*(i-8+J)*14+O*i*Z+2V=O*max(# S*6+22,28)+5конец для i=0,51do s[i]={m=i\W}A(B,{x=i,y=400,k=i+i\w*3},rnd(i+1)+1 )конец q(-15-😐,264,2043,4,3843)D=rectfill::_::L=T%8T+=1K=B[T]N=не btn(5)X=stat(32)-6Y =stat(33)-8C=fillp если(T>52)q(14-😐,3)M=T%3 для i=15,0,-1до F(i)M|=S.m C(▒)a=5+O*28D(U,a,U+W,a+Z,2)C()для _ENV во всех(S)do x=u+3*x+.5>>2y= v+3*y+.5>>2конец G=abs(X-U)\8+abs(Y-V)\Z<<6v=S[#S]k=w если (v)k=v.k если(2>>k%Z>M+J*2)K=A(B,del(B,v))L=W+k\Z if(H и N и (J+G+#S<1или Z-I|k+G==Z|1+H.k^^32или H.k==J+k|G))K=H L=i если(btnp(5+J+G))H=A(B,del(B,v))конец if(K)del(s[K.h],A(s[L],K))F(L)S.m/=2K.u,K.v,K.h=U,V,L?"⁷i6v1d1" если(H)H.x,H.y=X,Y если(N)H=ноль для r во всех (B) делать х=г.х у=г.у q(63-😐,244)D(x-1,y-1,x+W,y+Z,4)q(61-😐,-1,-1)D(x,y,x+W, y+Z,3)a=r.k%Z+1?(a==10and"³f|³f0 ³b"или sub("a23456789|jqk",a,a).." ³d")..split("♥,◆,◆⁵8f..³aᶜ3.,◆⁵8fニ") [r.k\Z+1],x+1,y+1,r.k\32 для i=0,77do pset(x+W-i%w,y+Z-i\w,pget(x+i%w,y+i\w))end конец?"●⁶1⁶c6",X+2,Y+7,5 если(MЗдесь можно найти более раннюю, более удобочитаемую и более длинную версию этого кода
Как скачать free cell 1K через торрент
Всего несколько простых шагов:
- Устанавливаем программу μTorrent, через которую мы будем скачивать торренты
- Выбираем и скачиваем подходящий торрент-файл репака free cell 1K
- Двойным кликом открываем скаченный файл, программа μTorrent запустится автоматически и предложит выбрать место для сохранения дистрибутива.
- После того как репак скачается, запускайте его. Начнется установка и... это все, приятной игры!