#include <stdio.h>
#include <stdlib.h>
#include<time.h>
#include<string.h>
#define randomize() srand((unsigned)time(NULL))
#define MAX 13
char sadari[10][MAX] = {" "};
void make_sadari(){
randomize();
int i, j;
memset(sadari, 0, sizeof(sadari));
for(i = 0; i<10; i++){
for(j = 0; j<MAX; j++){
if(j%2 == 0){
sadari[i][j] = '|';
}else if(j%2 == 1){
if((rand() % 4) == 3){
if(sadari[i][j-2] != '-')
sadari[i][j] = '-';
}
}
}
}
printf("1 2 3 4 5 6 7\n");
for(i= 0; i<10; i++){
for(j = 0; j<MAX; j++){
printf("%c", sadari[i][j]);
}
printf("\n");
}
printf("1 2 3 4 5 6 7\n");
}
int main(int argc, char *argv[]){
int line, num;
char *p = NULL;
int player;
char YesNo;
make_sadari();
while(1){
printf("new make sadari?");
YesNo = getchar();
if(YesNo == 'y'){
system("cls");
make_sadari();
}
else
break;
}
printf("\nplayer select : ");
scanf("%d", &player);
num = player;
player = player * 2 - 2;
line = 0;
p = &sadari[line][player];
while(line < 10){
//printf("Line Number : %d", line);
//printf("\t%c\n", *p);
if(*(p-1) == '-' || *(p + 1) == '-'){
// printf("옆에 라인\n");
if(*(p-1) == '-'){
p = p - 2;
p = p + MAX;
num--;
//printf("왼쪽으로 이동\n");
}else if(*(p + 1) == '-'){
p = p + 2;
p = p + MAX;
num++;
//printf("오른쪽으로 이동 \n");
}
line++;
}else{
p = p+MAX;
line++;
}
}
printf("%d\n", num);
}
'프로그래밍 > C, C++, C#' 카테고리의 다른 글
[c언어] 1부터 입력값 정수n 까지 각 수에 팩토리얼의 합을 구하시오. (0) | 2021.09.14 |
---|---|
[Win32 API]미니게임-테트리스/푸시푸시/지뢰찾기 (3) | 2011.12.22 |
[C언어]socoban소코반(푸시푸시) 게임 (2) | 2011.10.03 |