From 4fd882beeee2ccbcc5b097cde9ba0e32b1b99a3e Mon Sep 17 00:00:00 2001 From: nsfisis Date: Tue, 6 Jan 2026 08:14:12 +0900 Subject: feat: add examples/2048.c --- examples/2048.c | 31 +++++++++++++++++++++++++++++++ examples/README.md | 6 ++++++ 2 files changed, 37 insertions(+) create mode 100644 examples/2048.c create mode 100644 examples/README.md (limited to 'examples') diff --git a/examples/2048.c b/examples/2048.c new file mode 100644 index 0000000..d4aee6d --- /dev/null +++ b/examples/2048.c @@ -0,0 +1,31 @@ +#include +#include +#include +#include +#include +#define f printf +#define n f("\r\n") +#define r(_,n)for(int _=0;_ 1?( *a[1]-48) :4;if(S< 2 ||S>8){ +fputs("invalid board size" "\n" ,stderr); return 1;} atexit(x); f ("\033[?1049h");tc\ +getattr(0,&O);struct termios o =O;o. c_iflag &=~ ( BRKINT| ICRNL| INPCK |ISTRIP| +IXON);o.c_oflag&=~ OPOST;o. c_cflag|= CS8;o.c_lflag&=~(ECHO |ICANON|IEXTEN|ISIG); +o.c_cc[VMIN]=0;o.c_cc [VTIME]=1 ;tcsetattr (0,2,&o);f("\e[?25l") ;p();p();while(32){f( +"\e[2J\e[H");_();r(i ,S){l();f ("| ");r( j,S){if(!*G)f(" " " | "); else if (*G>= +1024)f(" " "%2dk |" " ", * G/ 1024);else f("%4d " "| ",*G); +++G;}n;l() ;if(i