Notice
Recent Posts
Recent Comments
Link
«   2026/05   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Archives
Today
Total
관리 메뉴

I'm FanJae.

[Gomoku] Day 1. 기존 오목 리팩토링 I 본문

Projects/Gomoku (Console)

[Gomoku] Day 1. 기존 오목 리팩토링 I

FanJae 2026. 5. 8. 18:46

1. 시작에 앞서

- 초격자 캠프 과제가 없던 날, C++ 리마인드 차원에서 2인용 오목을 만들어서 포스트로 다룬바 있다.

- [리마인드] 콘솔 화면 2인용 오목 만들기 (C++)

 

[리마인드] 콘솔 화면 2인용 오목 만들기 (C++)

1. 구현 방법배운 내용을 리마인드 하는 차원에서 구현하였지만, 다루지 않았던 내용의 일부도 포함하였다. 1. menu에서 입력을 받아서 메뉴에 따라 처리를 진행한다. 2. 게임 보드판을 출력하고,

fanjae.tistory.com

- 초격자 캠프 과제로 2인용 오목을 만드는 과제가 나와 기존 C++로 만들었던 오목에 대한 리팩토링을 진행했다.


2. 리팩토링 대상

(1) 파일 분리 및 클래스 기능 단위 분리

기존 코드는 한 파일에 모두 구현하였고, 클래스를 전혀 사용하지 않았다.

- 이번 리팩토링의 방향은 가급적 각 파일 단위로 클래스를 분리하고, 클래스의 기능 단위 분리를 진행한다.

 

(2) 콘솔 화면이 이동할때마다 화면을 지워서 눈이 아프던 문제 개선

몹시 눈아프다..

- 기존 C++ 2인용 오목 플레이 영상을 보면 화면 이동할 때마다 깜빡임이 일어난다.

- 이번에는 저런 깜빡임 현상이 없도록 구현하려고 한다.


3. 신규 기능 추가

(1) 사용자 편의 표시 제공

① 십자 표기 

- 사소한 사항이지만, 오목의 맨 윗쪽과 오른쪽에 십자 표기를 넣어서 위치를 구분할 수 있게 한다.

 

② 이미 돌이 있는 곳에 X표기

- 기존에는 돌이 놓여 있는 곳이 직관적이지 않아서 불편했다. 이를 X로 표기하여 처리한다.

 

(2) 3,3 금지 규칙 구현

① 3,3 금지 규칙 구현

- 오목 초보라서 처음 들어봤다.

- 핵심은 3이 동시에 두 개가 발생하여 상대편이 한 쪽을 막아도 다른 쪽으로 열린 4를 만들 때 라고 한다.

- 위와 같은 케이스가 발생하면 3,3이라고 한다.

- 사진에서 X를 쳐둔 곳에 검은 돌을 놓으면 가로, 세로 3이 동시에 생기기 때문이다.


4. 클래스 구조

 

- 기존 코드를 토대로 우선, 2인용 오목은 완성한 상태이다. 

 
 
 
 
 
 

'Projects > Gomoku (Console)' 카테고리의 다른 글

[Gomoku] Day 3. CPU 추가  (0) 2026.05.10
[Gomoku] Day 2. 오목 리팩토링 II  (0) 2026.05.09
Comments