Giter Club home page Giter Club logo

minesweeper's Introduction

header

As a frontend developer,
I always consider both user and team, and strongly believe my consistency. 📚✨


🎉 How to Reach Me @HyeIn-Kim

📚 Education & Career

Period Activity
2023.01 ~ Samsung Networks SW Engineer
2022.07 ~ 2022.11 Samsung Software Academy for Youth(SSAFY) 7th Coach
2021.07 ~ 2022.06 Samsung Software Academy for Youth(SSAFY) 6th, Java Track
2016.03 ~ 2021.02 Sejong University, Department of Software (Digital Contents)

🎈 Projects

Period Name Description Role
2022.05 ~ 2022.06 리브리브(Leave, live) 한달 살기 국내여행 모바일 웹 Frontend Lead
2022.02 ~ 2022.04 Re:tter 인공지능 TTS를 활용한 메세지 카드 웹 서비스 Frontend Developer
2022.01 ~ 2022.02 당당! WebRTC를 활용한 면접 스터디 플랫폼 Team Leader, Frontend Developer

🛠 Tech Stacks

Tech Stacks that I've focused on now

Tech Stacks that I've been used at least once



🏆 Awards

Date Description
2022.06 SSAFY 6기 고용노동부 장관상 최우수상(상위 5% 수료)
2022.05 SSAFY 6기 자율프로젝트 우수상(3등) 리브리브(Leave, live)
2022.04 SSAFY 6기 특화프로젝트(인공지능-음성) 우수상(3등) Re:tter
2022.02 SSAFY 6기 공통프로젝트 우수상(1등) 당당!
2020.12 세종대학교 제 10회 창의설계경진대회(Capstone디자인) 장려상 캔위미트

✏️ Certificates

Date Description
2022.09 삼성 SW 역량테스트 B형(Pro) 취득
2021.10 SQLD
2021.08 OPIc IH
2020.12 정보처리기사
2018.08 JLPT N1
2014.08 네트워크관리사 2급

🏃‍ Contributions

Github Stats Solved.ac
HyeIn-Kim's GitHub stats Solved.ac 프로필

minesweeper's People

Contributors

hann3 avatar hyein-kim avatar lexinor avatar maximecertain avatar woozu99 avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

woozu99

minesweeper's Issues

MineAllocate 컴파일 에러, 일부 반환값 수정

void MineAllocate(Board my_Board[][MAXBOARD], int boardRows, int boardCols)

  • srand(time(NULL)) 가 변수 선언보다 위에 있어 c파일에서 돌아가지 않는 현상. 호출 위치를 바꿀 필요성.

void CntMine(Board **my_Board, int row, int col, int boardRows, int boardCols)
int IsVictory(Board **my_Board, int boardRows, int boardCols)

  • 인자값이 Board my_Board[][MAXBOARD]로 수정되어야 함.

특수문자 오류

drawingfunctions.c 파일에서
printf("★");
printf("○");
printf("▶");

부분의 특수문자가 오류가 생깁니다.

오류

Play함수 내부 IsVictory함수 사용 위치 문제

Play 함수 내부에서 IsVictory 함수가 while문이 처음 돌 때 폭탄이 할당이 아직 안 된 상태에서 실행되어 쓰레기값을 검사합니다.
@HyeIn-Kim

`while (IsVictory(my_Board, boardRows, boardCols)) {
do {
printf("\nPlease Enter Rows 0~%d / Cols 0~%d: ", boardRows - 1, boardCols - 1);
scanf_s(" %d %d", &row, &col);
} while (!checkRowsinGame(row, boardRows) || !checkColsinGame(col, boardCols));

if (init == 0) {
	MineAllocate(*my_Board, boardRows, boardCols, row, col);
	DrawBoard(*my_Board, boardRows, boardCols);
	init = 1;
}

do {
	printf("\nSelect your action (1: Open Block / 2: Flag):");
	scanf_s(" %d", &action);
} while (!ActionInRange(action));

switch (action) {
	case 1: 
		if (OpenBlock(my_Board, row, col, boardRows, boardCols)) {
			return;
		}
		break;
	case 2:
		FlagBlock(row, col, my_Board);
		break;
}

DrawBoard(*my_Board, boardRows, boardCols);

}`

IsVictory 지뢰를 안 찾아도 게임이 끝나는 오류

image
해당 화면은 임시로 지뢰 여부를 표시하였습니다.
지뢰를 다 찾지 않았음에도 게임이 끝나는 오류가 발생합니다. @woozu99

현재 IsVictory 함수의 게임 지속 조건은

  1. STATUS_CLOSE이거나 STATUS_FLAG인 블록 중에서
  2. 지뢰가 없는 칸이 있을 경우
    입니다.

image
저 3*3 맵에서 (2,0)을 열면
지뢰를 제외한 모든 칸이 열리고,
남은 칸은 STATUS_CLOSE이나 지뢰가 있는 칸이라
IsVictory 함수가 게임이 끝나지 않았는데도 승리라고 판단합니다.

게임 지속 조건을
STATUS_CLOSE (지뢰 여부 상관 없이) 칸이 남아있거나,
STATUS_FLAG 중에서 지뢰가 없는 칸이 있다면
으로 STATUS마다 쪼개야 한다고 생각합니다.

Play함수 while 조건 오류

IsVictory반환값이 승리면 1, 승리가 아니면 0인데 게임을 진행시키는 while문이 IsVictory가 1일 경우 돌도록 되어있습니다.(조건을 IsVictory가 0일 경우로 바꿔야 될 것 같아요.)

@HyeIn-Kim

`while (IsVictory(my_Board, boardRows, boardCols)) {
do {
printf("\nPlease Enter Rows 0~%d / Cols 0~%d: ", boardRows - 1, boardCols - 1);
scanf_s(" %d %d", &row, &col);
} while (!checkRowsinGame(row, boardRows) || !checkColsinGame(col, boardCols));

	if (init == 0) {
		MineAllocate(*my_Board, boardRows, boardCols, row, col);
		DrawBoard(*my_Board, boardRows, boardCols);
		init = 1;
	}

	do {
		printf("\nSelect your action (1: Open Block / 2: Flag):");
		scanf_s(" %d", &action);
	} while (!ActionInRange(action));

	switch (action) {
		case 1: 
			if (OpenBlock(my_Board, row, col, boardRows, boardCols)) {
				return;
			}
			break;
		case 2:
			FlagBlock(row, col, my_Board);
			break;
	}

	DrawBoard(*my_Board, boardRows, boardCols);
}`

CntMine 무한재귀

play.c의 CntMine 함수에서 무한재귀가 일어납니다.
디버깅 결과 cnt가 0일 때 CntMine을 재귀호출하면서 그 안에서 빠져나오지 못하고 있어요. (cnt가 0이 아니라면 정상 동작합니다.) @woozu99
if (cnt == 0) { for (checkrow = row - 1; checkrow <= row + 1; checkrow++) { if (checkrow >= 0 && checkrow < boardRows) { for (checkcol = col - 1; checkcol <= col + 1; checkcol++) { if (checkcol >= 0 && checkcol < boardCols) { if (my_Board[checkrow][checkcol].statusBlock == STATUS_CLOSE) { my_Board[checkrow][checkcol].statusBlock == STATUS_OPEN; CntMine(my_Board, checkrow, checkcol, boardRows, boardCols); } } } } } }

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.