Play game
Connect 4 (Pico8 1k 2025)'s itch.io pageCompressed Bytes used
1043
Source Code (OPTIONAL)
function r(n,e,d)a=-1for d=6,1,-1do if(h(e,n,d)==0)a=d break
end if(a==-1)return false
c(e,n,a,d)return true end function π’()if(n)return
if(btnp(0))cursor-=1
if(btnp(1))cursor+=1
if(cursor>7)cursor=7
if(cursor<1)cursor=1
if btnp(5)do if(r(cursor,d,f))s=time()+.5if(f==1)f=2else f=1
end end function π±()for n=1,7do for e=6,2,-1do if(h(d,n,e)==0and h(d,n,e-1)~=0)c(d,n,e,h(d,n,e-1))c(d,n,e-1,0)
end end end function o(n,e,d,f,o,r)if(d==0and f==0)return false
if(n<1or n>7or n+d*3<1or n+d*3>7or e<1or e>6or e+f*3<1or e+f*3>6)return false
local i=false for t=0,3do if(h(r,n+t*d,e+t*f)==o)i=true
if(h(r,n+t*d,e+t*f)~=o)return false
end return i end function b(e)for n=1,2do for d=1,7do for f=1,6do if o(d,f,1,0,n,e)do return n elseif o(d,f,0,1,n,e)do return n elseif o(d,f,1,1,n,e)do return n elseif o(d,f,1,-1,n,e)do return n end end end end for n=1,7do for d=1,6do if(h(e,n,d)==0)return 0
end end return 3end function i(e)local n={}for d,e in pairs(e)do if(type(e)=="table")n[d]=i(e)else n[d]=e
end return n end function l(e,d)local n=0for f=1,7do for t=1,6do if(o(f,t,1,0,d,e))n=n+1
if(o(f,t,0,1,d,e))n=n+1
if(o(f,t,1,1,d,e))n=n+1
if(o(f,t,1,-1,d,e))n=n+1
end end return n end function π³()if(s>time())n=true return
s=0n=false if(n)return
local e=i(d)for n=1,7do local e=i(e)if(r(n,e,2)==false)u[n]=-999else u[n]=l(e,2)-l(e,1)
end local n,e=32768,0for f,d in pairs(u)do if(d>n)n=d e=f
end for n=2,3do if h(d,n,6)==0and h(d,n+1,6)==1and h(d,n+2,6)==1and h(d,n+3,6)==0do if(u[n]>=u[n+3])e=n else e=n+3
break end end for n=1,3do if(h(d,n,6)==0and h(d,n+1,6)==1and h(d,n+2,6)==0and h(d,n+3,6)==1and h(d,n+4,6)==0)e=n+2break
end for n=1,7do local d=i(d)if(r(n,d,1)==true)if(b(d)==1)e=n
end for n=1,7do local d=i(d)if(r(n,d,2)==true)if(b(d)==2)e=n
end r(e,d,2)π=l(d,1)πΊ=l(d,2)if(f==2)f=1else f=2
end function πΈ()if e==1do?"π±ππ’πΊπ¦π³ 1 πΈπͺπ―π΄!",40,120,14
elseif e==2do?"π±ππ’πΊπ¦π³ 2 πΈπͺπ―π΄!",40,120,14
elseif e==3do?"π₯π³π’πΈ!",55,120,14
end n=e~=0end function h(n,e,d)return n[e+(d-1)*7]end function c(n,e,d,f)n[e+(d-1)*7]=f end function _init()d={}for n=1,42do d[n]=0end f=1cursor=1e=0u={}π¦=1πͺ=time()s=0n=false end function _update()π’()if(f~=1)π³()
e=b(d)end function k(n,e,d,f)if d==2do spr(2,n,e)elseif d==1do spr(f-1,n,e)end end function _draw()cls()for n=0,7do line(12+n*15,15,12+n*15,105,7)end for n=0,6do line(12,15+n*15,117,15+n*15,7)end for n=1,7do for e=1,6do k(19.5+15*(n-1)-4,22.5+15*(e-1)-3,1,h(d,n,e))end end rectfill(13+(cursor-1)*15,0,26+(cursor-1)*15,2,12)k(13+(cursor-1)*15+3,5,1,f)πΈ()end
Leave a comment
Log in with itch.io to leave a comment.


Comments
No one has posted a comment yet