From 6458849ebd72c6c4338797f32ed1d481b0d5d405 Mon Sep 17 00:00:00 2001 From: Audy Date: Thu, 20 Jul 2023 20:33:14 -0600 Subject: [PATCH] linux terminal prototype --- main | Bin 0 -> 15768 bytes main.c | 118 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ main.o | Bin 0 -> 6488 bytes 3 files changed, 118 insertions(+) create mode 100755 main create mode 100644 main.c create mode 100644 main.o diff --git a/main b/main new file mode 100755 index 0000000000000000000000000000000000000000..1a622ed315f5cc2f5e24ab01386cca9bf45778f3 GIT binary patch literal 15768 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 +#include +#include + +int field[4][4] = { + {0,0,0,0}, + {0,0,0,0}, + {0,0,0,0}, + {0,0,0,0} +}; +int start1[2] = {0,0}; +int start2[2] = {0,0}; +int new1[2] = {0,0}; + +void printfield() { + printf("\033[2j\033[H"); + for(int i = 0; i < 4; i++) { + for(int j = 0; j < 4; j++) { + printf("%7d ",field[i][j]); + } + printf("\n"); + } +} + +int main(int argc, char* argv[]) { + srand(time(NULL)); + start1[0] = rand() % 4; //only twos to start off with + start1[1] = rand() % 4; + start2[0] = rand() % 4; + start2[1] = rand() % 4; + while((start1[0] == start2[0]) && (start1[1] == start2[1])) { + start2[0] = rand() % 4; + start2[1] = rand() % 4; + } + field[start1[0]][start1[1]] = 2; + field[start2[0]][start2[1]] = 2; + printfield(); + + while(1) { + printfield(); + switch(getchar()) { + case 10: + case 13: + case 27: + continue; + case 119: //w + for(int i = 0; i < 4; i++) { + for(int j = 0; j < 4; j++) { + for(int k = 1; k < 4; k++) { + if(!field[k-1][i]) { //if one tile further than i is empty + field[k-1][i] = field[k][i]; //move i tile up + field[k][i] = 0; //clear i for closer tile + } else if(field[k-1][i] == field[k][i]) { //if one tile further than i is the same + field[k-1][i] = field[k-1][i] * 2; //double the tile one tile further than i + field[k][i] = 0; //clear i for close tile + } + } + } + } + break; + case 97: //a + for(int i = 0; i < 4; i++) { + for(int j = 0; j < 4; j++) { + for(int k = 1; k < 4; k++) { + if(!field[i][k-1]) { + field[i][k-1] = field[i][k]; + field[i][k] = 0; + } else if(field[i][k-1] == field[i][k]) { + field[i][k-1] = field[i][k-1] * 2; + field[i][k] = 0; + } + } + } + } + break; + case 115: //s + for(int i = 0; i < 4; i++) { + for(int j = 0; j < 4; j++) { + for(int k = 2; k > -1; k--) { + if(!field[k+1][i]) { + field[k+1][i] = field[k][i]; + field[k][i] = 0; + } else if(field[k+1][i] == field[k][i]) { + field[k+1][i] = field[k+1][i] * 2; + field[k][i] = 0; + } + } + } + } + break; + case 100: //d + for(int i = 0; i < 4; i++) { + for(int j = 0; j < 4; j++) { + for(int k = 2; k > -1; k--) { + if(!field[i][k+1]) { + field[i][k+1] = field[i][k]; + field[i][k] = 0; + } else if(field[i][k+1] == field[i][k]) { + field[i][k+1] = field[i][k+1] * 2; + field[i][k] = 0; + } + } + } + } + break; + } + + new1[0] = rand() % 4; + new1[1] = rand() % 4; + while(field[new1[0]][new1[1]]) { + new1[0] = rand() % 4; + new1[1] = rand() % 4; + } + field[new1[0]][new1[1]] = 2; + + } + exit(0); +} diff --git a/main.o b/main.o new file mode 100644 index 0000000000000000000000000000000000000000..a987a2ddf11e5622bd9c02daf092d3421b55f34a GIT binary patch literal 6488 zcmcIoUu=_A6u<2TOx)H%z>v&fA8?Tf%~pbDNU)K7@EIH;NsY;3u(X8@wr+G?fGL0U z+c343?LiE0@W8?Y(Fb`UN@SaV3Wmg@n2cmG6HC&LCDyRSLK^2e_s@E{>FtW*Nxtv9 z=XcLN_uTWl=k{*LjMuiG1T*7Y}UkM|JpS!IIBTpNfVn*IP9rNZ)|4-)VZM$hpn(<`=*vH4mD(%tli}|vQ zyv;h2uQ+=7%3?65{w*U1SgzvenW3R;-$>DTqDQWq(cY0O=$V>E6ZFH{W6|Vj?wQf_ zO52!qyJ9t{Q5yXJ*L!#4fAJlo`H#^Uo5yR`ZEV zq=YZVGRC3$#w#2rPy9VQYZ*5|y9rtc)smnkLE8yh<|Wt$31fn$V3<-iN!u~nPEq;} zQ2J6<+J+~@L@7cTeJM&`YF=y8eG$FB>A*}rJls@`%UecPDA6S$szj?d}`dImu5hK!vK3fX&YRj(-cSv8J(MQWq zzh25;d8@HH>4gUPW97%LGNSxufWH}DenYhIqW|vJ^7w8Z^VamIk9M=jT=;8tb|^Cp zZ`_$hq`uX?ufEkJ&%PLN60&vk<_*s0wgy9yt}dtP3kQOsV8GercCB+Y?do)T0ehw5zg)r+czpz~?K@j*F>FQc~Zgne_(Li+$%u)d9mgM9S_yhJ}m^e>#ZlKfdT zT@^)d?zlEw&BNjZbqRP9;^7SljpDM7T@H?$sDPjy%2V*5pB+>y;Ps#{mExf}0IUHX z%)csY0VsyA2ORx~@ibR}ZP3`itie4R+|b~p)7Kty`AJX27mhTskDG*o2b)NDxIGlv z(;n;y@FwZ*jriMqVLFCH+B<`!C+rIa$lf5sVGhh63Ldn$*YdMW#2!H=a2p8xb!elY zJ@yH_6+sZ;M=;pNU}`J-c~8Rek0#;gyo6Uv_~#N{BjFb%yjH@ma~$KrT_*hB;5f!7 z+fQ*^*mITqp|P*xg@*R<2f&>F8jh>}8x(utf33!Ti()V0-=?t-DE7ktJ_(oefPayo zsPXqnxLlpbB^=i)1g}{rB5xv2JZof}X@p#maC!e+l5jbnUn{uqb4$WyKT{k>49@}) z&x{7YFX31V!u|_f5D0!`|C1Wr&JSwUzCnY(slod+_^<~5QG?&p;0JIqAZnavH2A0n zzoWsI^G&1rZ`R-e4L+#BFKX~6zA4ptcWLnVHTbXw|3!n}*Wjz*e+0$yyj_EbHF#Eo zujD^;>UupIJfOip(cqUf`0pCL77uq2H6FJHZ|68}Bl#TuK(fcBi+cP}V}Dk$#~4t~ zYwSl9d*S~(js35RJ@ZaTO2LJnDFqky3-Ct{M9t4q376NqLc!T+Le@z*=1$D(Q_ zOI)F@NYDj$)wOUJ@$cvQ-cYZrJKWVB3`Y*b81xiu+qEa`gUiR`5GOdnBb%4qoJ$XH zy~^_=I{5J}RD$@6ExH|tD z=s=(9__KWcTVf#pIu*SMbo426j3#0{Uj{-{)cKnMMXZr^&%Hn6^NYK`=n&(@_Z8?6 zZDE7oOquK73AUJGHU2CgFYfE;6Gh~oX@u;92F|aJ_aI>)YW~#mxC@K%-$?&oTF48! z!%`OG1^>n71~YP+&wrdJ2k)*pk2)TGs@wxaR&e54P?1E<^%CeSHvSzRe?%IKO?CV~ DFgj*F literal 0 HcmV?d00001