From ae25f000ee16486576bd3e5ad506fad0c44e9c11 Mon Sep 17 00:00:00 2001 From: nsfisis Date: Mon, 5 Jan 2026 01:49:34 +0900 Subject: make more portable --- 2048.c | 57 ++++++++++++++++++++++++++++----------------------------- 2048_clean.c | 6 +++--- 2 files changed, 31 insertions(+), 32 deletions(-) diff --git a/2048.c b/2048.c index 1e7e0cb..d4aee6d 100644 --- a/2048.c +++ b/2048.c @@ -1,32 +1,31 @@ -#include -#include -#include -#include -#include -#define f(f,_)printf(f,_) -#define s(_)f("%s",_) -#define n s("\r\n") +#include +#include +#include +#include +#include +#define f printf +#define n f("\r\n") #define r(_,n)for(int _=0;_ 1?(*argv [1]-48):4;if(S<2||S> 8){fputs("invalid b" -"oard size\n",stderr );return 1;}p();p ();for(;;){s("\e[2" "J\e[H");_();r(i,S){ -l();s("| " );r(j,S) {if(!*G) s(" " " | ");else if(*G>= -1024)f(" " "%2dk " "| ",*G/ 1024);else f("%4d | ",*G);++G -;}n;l(); if(i 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 1 ? (*argv[1] - '0') : 4; if (size <= 1 || size > 8) { fputs("invalid board size\n", stderr); return 1; } + switch_to_alt_buffer(); + enable_raw_mode(); + put_new_tile(); put_new_tile(); -- cgit v1.3-1-g0d28