From 799785d0f4cc1cb57f5a2786e98042b3fce8380f Mon Sep 17 00:00:00 2001 From: sand621 Date: Thu, 22 Jun 2017 18:56:07 +0900 Subject: [PATCH 01/14] improve --- main | Bin 0 -> 13200 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100755 main diff --git a/main b/main new file mode 100755 index 0000000000000000000000000000000000000000..7f6ae7110ba40e9aea96fc1a5e8313945e0249fb GIT binary patch literal 13200 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 Date: Thu, 22 Jun 2017 19:10:19 +0900 Subject: [PATCH 02/14] improve --- data | 7 +++++++ main.c | 53 +++++++++++++++++++++++++++-------------------------- 2 files changed, 34 insertions(+), 26 deletions(-) create mode 100644 data diff --git a/data b/data new file mode 100644 index 0000000..988bec0 --- /dev/null +++ b/data @@ -0,0 +1,7 @@ +0 0 3 4 5 0 0 +0 0 3 4 5 0 0 +1 2 3 4 5 6 7 +1 2 3 4 5 6 7 +1 2 3 4 5 6 7 +0 0 3 4 5 0 0 +0 0 3 4 5 0 0 diff --git a/main.c b/main.c index 21224fc..0135b84 100644 --- a/main.c +++ b/main.c @@ -1,7 +1,7 @@ #include #include -char c[7][7]; +int c[7][7]; void title(void);//게임 시작화면 void set_sol(void);//솔리테어 판 void tuto(void);//튜토리얼모드 @@ -25,8 +25,8 @@ void title(void) { void check_key(void) { int x, y, a, b; printf("Select Number (x,y):"); - scanf("%d %d", &x, &y); - printf("Move Number(1.up 2.right 3.down 4.left):"); + scanf("%d %d", &y, &x); + printf("Move Number(1.down 2.right 3.up 4.left):"); scanf("%d", &a); if (a == 1) { if( (c[x][y - 1] == 0 )||(c[x+1][y-1]!=0)) @@ -69,38 +69,38 @@ void check_key(void) { void set_sol(void) { printf(" "); printf("+---+---+---+\n"); - printf(" "); printf("| %c | %c | %c |\n",c[0][2],c[0][3],c[0][4]); + printf(" "); printf("| %d | %d | %d |\n",c[0][2],c[0][3],c[0][4]); printf(" "); printf("+---+---+---+\n"); printf(" "); printf("+---+---+---+\n"); - printf(" "); printf("| %c | %c | %c |\n",c[1][2],c[1][3],c[1][4]); + printf(" "); printf("| %d | %d | %d |\n",c[1][2],c[1][3],c[1][4]); printf(" "); printf("+---+---+---+\n"); - printf("+---+---+"); printf("+---+---+---+"); printf("+---+---+\n"); - printf("| %c | %c |",c[2][0],c[2][1]); printf("| %c | %c | %c |",c[2][2],c[2][3],c[2][4]); printf("| %c | %c |\n",c[2][5],c[2][6]); - printf("+---+---+"); printf("+---+---+---+"); printf("+---+---+\n"); - printf("+---+---+"); printf("+---+---+---+"); printf("+---+---+\n"); - printf("| %c | %c |",c[3][0],c[3][1]); printf("| %c | %c | %c |",c[3][2],c[3][3],c[3][4]); printf("| %c | %c |\n",c[3][5],c[3][6]); - printf("+---+---+"); printf("+---+---+---+"); printf("+---+---+\n"); - printf("+---+---+"); printf("+---+---+---+"); printf("+---+---+\n"); - printf("| %c | %c |",c[4][0],c[4][1]); printf("| %c | %c | %c |",c[4][2],c[4][3],c[4][4]); printf("| %c | %c |\n",c[4][5],c[4][6]); - printf("+---+---+"); printf("+---+---+---+"); printf("+---+---+\n"); + printf("+---+---+"); printf("+---+---+---+"); printf("+---+---+\n"); + printf("| %d | %d |",c[2][0],c[2][1]); printf("| %d | %d | %d |",c[2][2],c[2][3],c[2][4]); printf("| %d | %d |\n",c[2][5],c[2][6]); + printf("+---+---+"); printf("+---+---+---+"); printf("+---+---+\n"); + printf("+---+---+"); printf("+---+---+---+"); printf("+---+---+\n"); + printf("| %d | %d |",c[3][0],c[3][1]); printf("| %d | %d | %d |",c[3][2],c[3][3],c[3][4]); printf("| %d | %d |\n",c[3][5],c[3][6]); + printf("+---+---+"); printf("+---+---+---+"); printf("+---+---+\n"); + printf("+---+---+"); printf("+---+---+---+"); printf("+---+---+\n"); + printf("| %d | %d |",c[4][0],c[4][1]); printf("| %d | %d | %d |",c[4][2],c[4][3],c[4][4]); printf("| %d | %d |\n",c[4][5],c[4][6]); + printf("+---+---+"); printf("+---+---+---+"); printf("+---+---+\n"); printf(" "); printf("+---+---+---+\n"); - printf(" "); printf("| %c | %c | %c |\n",c[5][2],c[5][3],c[5][4]); + printf(" "); printf("| %d | %d | %d |\n",c[5][2],c[5][3],c[5][4]); printf(" "); printf("+---+---+---+\n"); printf(" "); printf("+---+---+---+\n"); - printf(" "); printf("| %c | %c | %c |\n",c[6][2],c[6][3],c[6][4]); + printf(" "); printf("| %d | %d | %d |\n",c[6][2],c[6][3],c[6][4]); printf(" "); printf("+---+---+---+\n"); return; } void tuto(void) { - c[3][2] = 3, c[3][3] = 4 ; + c[3][2] = 3; c[3][3] = 4 ; set_sol(); while (c[3][3]!=0) { int x,y,a,b; printf("Select Number (x,y):"); - scanf("%d %d",&x,&y); - printf("Move Number(1.up 2.right 3.down 4.left):"); + scanf("%d %d",&y,&x); + printf("Move Number(1.down 2.right 3.up 4.left):"); scanf("%d", &a); if (a == 1) { if ((c[x][y - 1] == 0) ) @@ -146,16 +146,17 @@ void tuto(void) { } void start_game(void) { - c[0][2] = 3, c[0][3] = 4, c[0][4] = 5; c[1][2] = 13, c[1][3] = 14, c[1][4] = 15; - c[2][0] = 31, c[2][1] = 32, c[2][2] = 33, c[2][3] = 34, c[2][4] = 35, c[2][5] = 36, c[2][6] = 37; - c[3][0] = 41, c[3][1] = 42, c[3][2] = 43, c[3][3] = 0, c[3][4] = 45, c[3][5] = 46, c[3][6] = 47; - c[4][0] = 51, c[4][1] = 52, c[4][2] = 53, c[4][3] = 54, c[4][4] = 55, c[4][5] = 56, c[4][6] = 57; - c[5][2] = 63, c[5][3] = 64, c[5][4] = 65; c[6][2] = 73, c[6][3] = 74, c[6][4] = 75; + c[0][2] = 3, c[0][3] = 4, c[0][4] = 5; c[1][2] = 3, c[1][3] = 4, c[1][4] = 5; + c[2][0] = 1, c[2][1] = 2, c[2][2] = 3, c[2][3] = 4, c[2][4] = 5, c[2][5] = 6, c[2][6] = 7; + c[3][0] = 1, c[3][1] = 2, c[3][2] = 3, c[3][3] = 0, c[3][4] = 5, c[3][5] = 6, c[3][6] = 7; + c[4][0] = 1, c[4][1] = 2, c[4][2] = 3, c[4][3] = 4, c[4][4] = 5, c[4][5] = 6, c[4][6] = 7; + c[5][2] = 3, c[5][3] = 4, c[5][4] = 5; c[6][2] = 3, c[6][3] = 4, c[6][4] = 5; set_sol(); - while (1) { + int i=0; + while (i!=3) { check_key(); set_sol(); - + i=i+1; } } From 6b331eb6332bcd96e97dd636318cfeb775024ccc Mon Sep 17 00:00:00 2001 From: sand621 Date: Fri, 23 Jun 2017 07:01:06 +0900 Subject: [PATCH 03/14] file I/O --- data | Bin 100 -> 1372 bytes main.c | 14 ++++++++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/data b/data index 988bec0f6b5abddc9e386be7b53e7c1e956283fb..f8c23a69e6bc1f3a2fc1a44feb2106d7adf808e3 100644 GIT binary patch literal 1372 zcmZQzfBT6wDR4@Nv;}qM8E$6G;zy diff --git a/main.c b/main.c index 0135b84..45ba79c 100644 --- a/main.c +++ b/main.c @@ -146,18 +146,24 @@ void tuto(void) { } void start_game(void) { - c[0][2] = 3, c[0][3] = 4, c[0][4] = 5; c[1][2] = 3, c[1][3] = 4, c[1][4] = 5; + FILE *fp=fopen("data","rb"); +/* c[0][2] = 3, c[0][3] = 4, c[0][4] = 5; c[1][2] = 3, c[1][3] = 4, c[1][4] = 5; c[2][0] = 1, c[2][1] = 2, c[2][2] = 3, c[2][3] = 4, c[2][4] = 5, c[2][5] = 6, c[2][6] = 7; c[3][0] = 1, c[3][1] = 2, c[3][2] = 3, c[3][3] = 0, c[3][4] = 5, c[3][5] = 6, c[3][6] = 7; c[4][0] = 1, c[4][1] = 2, c[4][2] = 3, c[4][3] = 4, c[4][4] = 5, c[4][5] = 6, c[4][6] = 7; c[5][2] = 3, c[5][3] = 4, c[5][4] = 5; c[6][2] = 3, c[6][3] = 4, c[6][4] = 5; + fwrite(c,sizeof(*c),49,fp); + fclose(fp); + fp=fopen("data","rb");*/ + size_t ret_code =fread(c,sizeof(*c),49,fp); set_sol(); - int i=0; - while (i!=3) { + int k=0; + while (k!=3) { check_key(); set_sol(); - i=i+1; + k=k+1; } + fclose(fp); } From c306655e6c153160ee7bd682dc13146cbcac471c Mon Sep 17 00:00:00 2001 From: sand621 Date: Fri, 23 Jun 2017 07:33:53 +0900 Subject: [PATCH 04/14] function pointer --- main | Bin 13200 -> 13472 bytes main.c | 125 ++++++++++++++++++++++----------------------------------- 2 files changed, 47 insertions(+), 78 deletions(-) diff --git a/main b/main index 7f6ae7110ba40e9aea96fc1a5e8313945e0249fb..2f021d135cab901fdcd639fc59435bd15a625f99 100755 GIT binary patch literal 13472 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 WdE@z??$1L0Cu&Xoau?I>|Nj7@M)RHk literal 13200 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 Date: Fri, 23 Jun 2017 14:14:58 +0900 Subject: [PATCH 05/14] function pointer, typedef --- main | Bin 13472 -> 13584 bytes main.c | 140 +++++++++++++++++++++++++++++++++++++++++---------------- 2 files changed, 101 insertions(+), 39 deletions(-) diff --git a/main b/main index 2f021d135cab901fdcd639fc59435bd15a625f99..525f12c56dc79ef6fdf8670518586e0899f1b102 100755 GIT binary patch literal 13584 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 VKhOVke^&AzTxIFEc$i-Q{|&*|S>^x$ delta 4282 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 #include +#include +#include +#include +typedef struct numbers Number; int c[7][7]; -void title(void);//게임 시작화면 +void title(Number*);//게임 시작화면 void set_sol(void);//솔리테어 판 -void tuto(void);//튜토리얼모드 -void start_game(void);//게임 시작 -void check_key(void);//입력 받은 키가 가능 한지 판단 -void up(int, int); -void down(int, int); -void right(int, int); -void left(int, int); - -void up(int x, int y) { - if ((c[x - 2][y - 1] == 0) || (c[x - 3][y - 1] != 0)) +void tuto(Number*);//튜토리얼모드 +void start_game(Number*);//게임 시작 +void check_key(Number*);//입력 받은 키가 가능 한지 판단 +void up(Number*,int, int); +void down(Number*,int, int); +void right(Number*,int, int); +void left(Number*,int, int); +int gameover(Number*); + +struct numbers{ + int numberOfmove; + int numberOfelements; +}; + +int gameover(Number* this){ + if (this->numberOfelements==1) + return 1; + else + return 0; +} +Number* newNumber(int x, int y){ + Number *num; + + num=(Number*)malloc(sizeof(Number)); + num->numberOfmove=x; + num->numberOfelements=y; +}; + +void up(Number *this,int x, int y) { + if ((c[x - 2][y - 1] == 0) || (c[x - 3][y - 1] != 0)){ + this->numberOfmove++; + printf("move number:%d\n",this->numberOfmove); printf("Fail.\n"); + } else { c[x - 3][y - 1] = c[x - 1][y - 1]; c[x - 2][y - 1] = 0; c[x - 1][y - 1] = 0; - } -} -void down(int x, int y) { - if ((c[x][y - 1] == 0) || (c[x + 1][y - 1] != 0)) - printf("Fail.\n"); + this->numberOfmove++; + this->numberOfelements--; + printf("move number:%d, leave numbers:%d\n",this->numberOfmove,this->numberOfelements); + }; +}; +void down(Number *this,int x, int y) { + if ((c[x][y - 1] == 0) || (c[x + 1][y - 1] != 0)){ + this->numberOfmove++; + printf("move number:%d\n",this->numberOfmove); + printf("Fail.\n"); + } else { c[x + 1][y - 1] = c[x - 1][y - 1]; c[x][y - 1] = 0; c[x - 1][y - 1] = 0; + this->numberOfmove++; + this->numberOfelements--; + printf("move number:%d,leave number:%d\n",this->numberOfmove,this->numberOfelements); + } -} -void right(int x, int y) { - if ((c[x - 1][y] == 0) || (c[x - 1][y + 1] != 0)) - printf("Fail.\n"); +}; +void right(Number *this,int x, int y) { + if ((c[x - 1][y] == 0) || (c[x - 1][y + 1] != 0)){ + this->numberOfmove++; + printf("move number:%d\n",this->numberOfmove); + printf("Fail.\n"); + } else { c[x - 1][y + 1] = c[x - 1][y - 1]; c[x - 1][y] = 0; c[x - 1][y - 1] = 0; + this->numberOfmove++; + this->numberOfelements--; + printf("move number:%d,leave number:%d\n",this->numberOfmove,this->numberOfelements); + } -} -void left(int x, int y) { - if ((c[x - 1][y - 2] == 0) || (c[x - 1][y - 3] != 0)) - printf("Fail.\n"); +}; +void left(Number *this,int x, int y) { + if ((c[x - 1][y - 2] == 0) || (c[x - 1][y - 3] != 0)){ + this->numberOfmove++; + printf("move number:%d\n",this->numberOfmove); + printf("Fail.\n"); + } else { c[x - 1][y - 3] = c[x - 1][y - 1]; c[x - 1][y - 2] = 0; c[x - 1][y - 1] = 0; + this->numberOfmove++; + this->numberOfelements--; + printf("move number:%d,leave numbers:%d\n",this->numberOfmove,this->numberOfelements); + } -} +}; -void title(void) { +void title(Number* this) { int a; printf("Select Mode:(1.Tutorial,2.Game start)\n"); scanf("%d", &a); if (a == 1) { system("clear"); - tuto(); + tuto(this); } if (a == 2) { system("clear"); - start_game(); + start_game(this); } } -void check_key(void) { +void check_key(Number* this) { int x, y, a, b; - void(*func[])(int,int) = {down, right,up,left}; + void(*func[])(Number*,int,int) = {down, right,up,left}; + while(1){ printf("Select Number (x,y):"); scanf("%d %d", &y, &x); + if (c[x-1][y-1]==0) + printf("fail\n"); + else + break; + } printf("Move Number(1.down 2.right 3.up 4.left):"); scanf("%d", &a); - func[a-1](x,y); + func[a-1](this,x,y); fflush(stdin); } @@ -103,18 +160,20 @@ void set_sol(void) { return; } -void tuto(void) { +void tuto(Number* this) { c[3][2] = 3; c[3][3] = 4 ; set_sol(); - while (c[3][3]!=0) { - check_key(); + while (1) { + check_key(this); set_sol(); + if (this->numberOfelements ==32) + break; } printf("clear\n"); } -void start_game(void) { +void start_game(Number* this) { FILE *fp=fopen("data","rb"); /* c[0][2] = 3, c[0][3] = 4, c[0][4] = 5; c[1][2] = 3, c[1][3] = 4, c[1][4] = 5; c[2][0] = 1, c[2][1] = 2, c[2][2] = 3, c[2][3] = 4, c[2][4] = 5, c[2][5] = 6, c[2][6] = 7; @@ -127,16 +186,19 @@ void start_game(void) { size_t ret_code =fread(c,sizeof(*c),49,fp); set_sol(); int k=0; - while (k!=3) { - check_key(); + while (1) { + check_key(this); set_sol(); - k=k+1; + if (this->numberOfelements==1) + break; } fclose(fp); } int main(void) { - title(); + Number * this=newNumber(0,33); + title(this); return 0; + free(this); } From fcb3ffa4098e40530eb7c228ede45e1cab8b727c Mon Sep 17 00:00:00 2001 From: geunsoo Date: Fri, 23 Jun 2017 14:17:40 +0900 Subject: [PATCH 06/14] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2d341fe..f6659ec 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ # Solitaire *this game make by C langauge *download file : esay compile +*gcc -o main main.c *./main *play game : you move numbers if you have only one number , then you win From e9d37b2b584ed94436e9cad88f30a7a28ad7ee35 Mon Sep 17 00:00:00 2001 From: geunsoo Date: Fri, 23 Jun 2017 14:39:35 +0900 Subject: [PATCH 07/14] Update _config.yml --- _config.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/_config.yml b/_config.yml index c741881..8b291bf 100644 --- a/_config.yml +++ b/_config.yml @@ -1 +1,3 @@ -theme: jekyll-theme-slate \ No newline at end of file +theme: jekyll-theme-slate + +hi From 4d59ef0db056fada15c3901978e7a1ccb2577b05 Mon Sep 17 00:00:00 2001 From: geunsoo Date: Fri, 23 Jun 2017 14:40:21 +0900 Subject: [PATCH 08/14] Update _config.yml --- _config.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/_config.yml b/_config.yml index 8b291bf..f980e76 100644 --- a/_config.yml +++ b/_config.yml @@ -1,3 +1 @@ theme: jekyll-theme-slate - -hi From a96bf5527ec482bf10e5a545acf669a32054c3b4 Mon Sep 17 00:00:00 2001 From: geunsoo Date: Fri, 23 Jun 2017 14:46:23 +0900 Subject: [PATCH 09/14] Create index.html --- index.html | 1 + 1 file changed, 1 insertion(+) create mode 100644 index.html diff --git a/index.html b/index.html new file mode 100644 index 0000000..19e6be9 --- /dev/null +++ b/index.html @@ -0,0 +1 @@ +Tutorail From 1cd52d6e8803ccf877df4dc8fc61be86c9819687 Mon Sep 17 00:00:00 2001 From: geunsoo Date: Fri, 23 Jun 2017 15:05:57 +0900 Subject: [PATCH 10/14] Update and rename index.html to index.md --- index.html | 1 - index.md | 15 +++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) delete mode 100644 index.html create mode 100644 index.md diff --git a/index.html b/index.html deleted file mode 100644 index 19e6be9..0000000 --- a/index.html +++ /dev/null @@ -1 +0,0 @@ -Tutorail diff --git a/index.md b/index.md new file mode 100644 index 0000000..6999a73 --- /dev/null +++ b/index.md @@ -0,0 +1,15 @@ +Solitaire + +*this game make by C langauge *download file : esay compile *gcc -o main main.c *./main + +*play game : you move numbers if you have only one number , then you win + +no license + +github page : https://sand621.github.io/Solitaire/ + +Tutorial + +you choose one point of number ex) (3,3) = 3 3 (4,5) = 4 5 + +and you select direction up, down, left ,right , then the number jumps other number and remove number From fc4c01f29afeb56b1187dad589a3dadec1859b34 Mon Sep 17 00:00:00 2001 From: geunsoo Date: Fri, 23 Jun 2017 15:09:28 +0900 Subject: [PATCH 11/14] Update index.md --- index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/index.md b/index.md index 6999a73..34d9953 100644 --- a/index.md +++ b/index.md @@ -1,5 +1,5 @@ Solitaire - +========= *this game make by C langauge *download file : esay compile *gcc -o main main.c *./main *play game : you move numbers if you have only one number , then you win @@ -9,7 +9,7 @@ no license github page : https://sand621.github.io/Solitaire/ Tutorial - +========= you choose one point of number ex) (3,3) = 3 3 (4,5) = 4 5 and you select direction up, down, left ,right , then the number jumps other number and remove number From 8325cff80d8abee9a82402c0ded8d42d7148192a Mon Sep 17 00:00:00 2001 From: geunsoo Date: Fri, 23 Jun 2017 15:11:03 +0900 Subject: [PATCH 12/14] Update index.md --- index.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/index.md b/index.md index 34d9953..3def3fd 100644 --- a/index.md +++ b/index.md @@ -13,3 +13,8 @@ Tutorial you choose one point of number ex) (3,3) = 3 3 (4,5) = 4 5 and you select direction up, down, left ,right , then the number jumps other number and remove number + + +Game Start +========== +If you have only one number , then you win From d7cc0756fe1a82b24ddd144a7b98c6fa46a9aa6e Mon Sep 17 00:00:00 2001 From: geunsoo Date: Fri, 23 Jun 2017 15:53:24 +0900 Subject: [PATCH 13/14] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f6659ec..b0b80d0 100644 --- a/README.md +++ b/README.md @@ -8,4 +8,4 @@ no license -github page : +github page : [링크](https://sand621.github.io/Solitaire/) From 2f4e0e64eaea28da1785b0c1ea42bad28731940b Mon Sep 17 00:00:00 2001 From: geunsoo Date: Fri, 23 Jun 2017 15:53:47 +0900 Subject: [PATCH 14/14] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b0b80d0..1bb7114 100644 --- a/README.md +++ b/README.md @@ -8,4 +8,4 @@ no license -github page : [링크](https://sand621.github.io/Solitaire/) +github page : https://sand621.github.io/Solitaire/