Created
April 4, 2014 03:49
-
-
Save justecorruptio/9967738 to your computer and use it in GitHub Desktop.
Tiny 2048 in C!
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
M[16],X=16,W,k;main(){T(system("stty cbreak") | |
);puts(W&1?"WIN":"LOSE");}K[]={2,3,1};s(f,d,i | |
,j,l,P){for(i=4;i--;)for(j=k=l=0;k<4;)j<4?P=M | |
[w(d,i,j++)],W|=P>>11,l*P&&(f?M[w(d,i,k)]=l<< | |
(l==P):0,k++),l=l?P?l-P?P:0:l:P:(f?M[w(d,i,k) | |
]=l:0,++k,W|=2*!l,l=0);}w(d,i,j){return d?w(d | |
-1,j,3-i):4*i+j;}T(i){for(i=X+rand()%X;M[i%X] | |
*i;i--);i?M[i%X]=2<<rand()%2:0;for(W=i=0;i<4; | |
)s(0,i++);for(i=X,puts("\e[2J\e[H");i--;i%4|| | |
puts(""))printf(M[i]?"%4d|":" |",M[i]);W-2 | |
||read(0,&k,3)|T(s (1,K[(k>>X)%4]));}//[2048] |
good job !!!
cool~~
There is a small bug in this implementation:
When there is nothing to move in some direction but I press the arrow to that direction it'll spawn new tile. Original 2048 wouldn't let me do this.
Example:
Before: http://balazik.cz/before.png
After arrow-down: http://balazik.cz/after.png
good job!
awesome!
it has a warning (gcc) but works...amazing
cool...so niubility
loool fantastic :))
干的漂亮
干的漂亮
饿妹子樱!
It is more like horse shoes than golf.
Maybe if there was some code hand grenading contest.
WoW 8O
very impressive!
Compiled successfully using MinGW and VC11 but unusable.
Nice job
马上有牛!
Nice job. +1
Awesome!
Awesome!
碉堡了
This is awsome, works well on mac!!
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
why read(0,&k,3)? the arrow keys only need 2bytes.