[Spring Boot] 더지니어스 결합게임
※PC용으로 만들어진 사이트입니다. 모바일에서는 제대로 작동하지 않을 수 있습니다.※
결합
재호.온라인.한국/combine
- 더지니어스 결합게임 -
업데이트
23-10-09 스프링부트로 이식후 배포
...
23-09-22 Spring 개발완료 github 배포
23-09-20 프론트엔드(jsp) 개발완료
23-09-19 백엔드 개발완료 (Spring)
- 추가예정 -
1. 타이머를 추가해 시간안에 얻은 점수를 기록한다.
1-1. 합은 +1점, 결은 +3점 실패시 -1점을 부여해 점수를 합산하는 기능
2. 다른 플레이어 들의 최고기록을 보여주는 기능 점수경쟁 가능(데이터베이스 연동)
결합이란?
1. 게임에 사용되는 그림은 도형(○, △, □), 도형의 색(파란색, 빨간색, 노란색), 배경색(흰색, 회색, 검정색)의 세 가지 속성이 각각 다르게 조합된 27장의 그림으로 게임이 진행된다.
![]() |
![]() |
![]() |
- 예시 -
2. 라운드마다 27장 중 9장의 그림이 공개되며, 플레이어들은 합이 되는 3장의 그림을 찾아야 한다.
3. '합'이란 3가지 속성이 모두 같거나 모두 다른 그림들로 이루어진 3장의 그림을 말한다.
합이 되는 경우 | ||
![]() |
![]() |
![]() |
배경색 모두 같음 (O) | ||
도형 모두 같음 (O) | ||
도형 색 모두 다름 (O) | ||
![]() |
![]() |
![]() |
배경색 모두 다름 (O) | ||
도형 모두 다름 (O) | ||
도형 색 모두 다름 (O) |
4. 호명한 그림이 합이 맞을 경우 +1점. 아닐 경우엔 -1점이 된다.
5. 만약 9장의 그림 안에 더 이상 합이 없다고 판단된다면 '결'을 외칠 수 있다. 이 때 합이 되는 그림이 더 이상 없을 경우, 플레이어는 승점 +3점이 된다.
6. '결'을 외친 시점에서 합이 되는 그림 조합이 남아있다면 해당 플레이어는 -1점이 된다.
알고리즘
[배경색] 흰색 = 1, 회색 = 2, 검은색 =3
[도형색] 노랑 = 1, 빨강 = 2, 파랑 = 3
[도형] 세모 = 1, 동그라미 = 2, 네모 = 3
합이 되는 경우를 살펴보자
![]() |
![]() |
![]() |
- 배경색 모두다름 (O) , 도형색 모두다름 (O), 도형 모두같음(O)으로 합이된다. -
위에 경우를 앞에 숫자로 대입해보면 111, 231, 321 이된다.
각각 요소의 숫자를 더한뒤 3으로 나눈 나머지는 (1+2+3) (1+3+2) (1+1+1) 모두 0이된다. 이를 이용해
순열 알고리즘을 활용하여 9개의 그림중 3개를 확인하는 모든과정을 거쳐 합이되는 모든 경우를 찾아낸다.
실행
마무리
스프링으로 만들어놨었던 결합게임입니다.
스프링부트를 배운뒤 바로 스프링부트로 이식하고 최적화 후 배포 했습니다.
다음에는 데이터베이스를 연동해서 점수 기능을 추가해보겠습니다. 감사합니다