TaxosDevloper 2025. 3. 29. 16:07
# みの - ひな 겜
(UNIX기반임)
```text/plain
MINO □□□ vs □□□ HINA
```

## 이렇개 생긴 스텟창에서 진행하는 개임.

---

1. 입력  
○○○○○ ~ ●●●●● 의 5비트 입력.  
아마 OMR같은걸로도 될거고,  
a~z나 세미콜론(;)과 화살표(<)로 입력해도 좋음.  

1. 1. 각 입력의 처리

```cpp
#include <iostream>

inline char input_with_register(char reg) {
    cin >> reg;
    reg -= 'a';
    return a;
}
```

```text/plain
01234
○○○○○
```
 로 내이밍하겠음

1. 1. 1. `○????` 형태 입력 : 타일 값 맞추기를 시도하기  
1. 1. 1. 1. `○▪︎▪︎▪︎○`형태 입력  
`(▪︎)▪︎▪︎`에 들어갈 숫자를 인덱스로 받아서 그 인덱스의 숫자가 0이라고 정답을 제출합니다 (괄호친 비트 무시)  
1. 1. 1. 2. `○▪︎▪︎▪︎●`형태 입력  
`(▪︎)▪︎▪︎`에 들어갈 숫자를 인덱스로 받아서 그 인덱스의 숫자가 1이라고 정답을 제출합니다. (괄호친 비트 무시)  
1. 1. 2. `●????` 형태 입력 : 내 타일 섞기  
1. 1. 2. 1. `●▪︎▪︎▪︎○` 형태 입력 (뒤집기 추가 안함)  
`(▪︎)▪︎▪`︎섞기 코드 룰로 섞습니다. (괄호친 비트 무시)  
1. 1. 2. 2. `●▪︎▪︎▪︎●` 형태 입력 (뒤집기 추가 함)  
`(▪︎)▪︎▪`︎섞기 코드 룰로 섞습니다. (괄호친 비트 무시)  
1. 1. 3.섞기 코드 룰  
\[1. 1. 3. 0. 0. \[`000`형태인 사람\] 섞지 않는다.\]  
1. 1. 3. 1. 0. \[`000`형태인 사람\] 맞춘값 (1개 맞췄을시) 이나 아직 안 맞춘 값 (1개 남았을시) 를 기준으로, `1.1.3.1.1.` 과 유사한 동작을 한다.  
1. 1. 3. 2. 0. \[`000`형태인 사람\] 맞춘값 (1개 맞췄을시) 이나 아직 안 맞춘 값 (1개 남았을시) 를 기준으로, `1.1.3.2.1.` 과 유사한 동작을 한다.  
1. 1. 3. 3. 0. \[`000`형태인 사람\] 맞춘값 (1개 맞췄을시) 이나 아직 안 맞춘 값 (1개 남았을시) 를 기준으로, `1.1.3.3.1.` 과 유사한 동작을 한다.  
\[1. 1. 3. 0. 1. \[`001`형태인 사람\] 섞지 않는다.\]  
1. 1. 3. 1. 1. \[`001`형태인 사람\] `001` 이 되게 ROR한다  
1. 1. 3. 2. 1. \[`001`형태인 사람\] `010` 이 되게 ROR한다  
1. 1. 3. 3. 1. \[`001`형태인 사람\] `100` 이 되게 ROR한다  
\[1. 1. 3. 0. 2. \[`011`형태인 사람\] 섞지 않는다.\]  
1. 1. 3. 1. 2. \[`011`형태인 사람\] `110` 이 되게 ROR한다  
1. 1. 3. 2. 2. \[`011`형태인 사람\] `101` 이 되게 ROR한다  
1. 1. 3. 3. 2. \[`011`형태인 사람\] `011` 이 되게 ROR한다.  
\[1. 1. 3. 0. 3. \[`111`형태인 사람\] 섞지 않는다.\]  
1. 1. 3. 1. 3. \[`111`형태인 사람\] 맞춘값 (1개 맞췄을시) 이나 아직 안 맞춘 값 (1개 남았을시) 를 기준으로, `1.1.3.1.2.` 과 유사한 동작을 한다.  
1. 1. 3. 2. 3. \[`111`형태인 사람\] 이나 아직 안 맞춘 값 (1개 남았을시) 를 기준으로, `1.1.3.2.2.` 과 유사한 동작을 한다.  
1. 1. 3. 3. 3. \[`111`형태인 사람\] 이나 아직 안 맞춘 값 (1개 남았을시) 를 기준으로, `1.1.3.3.2.` 과 유사한 동작을 한다.  
자기꺼랑 맞지않는 로직을 선택한 경우 안해줌. (사실 지금보니 이개임 수정좀 해야할듯)  


---

2. 출력  
히나 기준으로 설명하겠음  
2. 1. 자신의 pw가 하나 들켰을때

```text/plain
MINO □□□ vs □□■ HINA
```

2. 2. 자신의 pw가 두개 들켰을때

```text/plain
MINO □□□ vs □■■ HINA
```

2. 3. 자신의 pw가 새개 틀렸을때 (자신이 패배함)

```text/plain
MINO □□□ vs ■■■ HINA
```

---

3. 시작과 끝 동작  

3. 1. 시작 타이틀 화면 (우측정렬은 RLO를 씀 주의)  


```text/plain
みの - ひな
G A M E

 ‮MSF htiw krow - 
```

3. 1. 1. 히나부터 숫자 이진수로 입력하기.  
3. 1. 1. 0. 진행중 (1/6)

```text/plain
みの - ひな
G A M E

 ‮(6/1) ■□□□□□
```

3. 1. 1. 1. 진행중 (2/6)

```text/plain
みの - ひな
G A M E

 ‮(6/2) ■■□□□□
```

3. 1. 1. 2. 진행중 (3/6)

```text/plain
みの - ひな
G A M E

 ‮(6/3) ■■■□□□
```

3. 1. 1. 3. 진행중 (4/6)

```text/plain
みの - ひな
G A M E

 ‮(6/4) ■■■■□□
```

3. 1. 1. 4. 진행중 (5/6)

```text/plain
みの - ひな
G A M E

 ‮(6/5) ■■■■■□
```

3. 1. 1. 6. done (6/6) (\\a를 출력함으로써 진동이나 비프음을 줌 -> 스토리에 대한 복선 -> \`\[\`부분 이전에 벨)

```text/plain
みの - ひな
G A M E

 ‮(6/6) ■■■■■■

[PRESS KEYBOARD TO START]
```

3. 2. 종료 화면 (\\x1B를 이용해서 색상코드)  
단순히

```text/plain
MINO 🔪 HINA
```

나

```text/plain
HINA 🔪 MINO
```

임.  


---

\[부록\] 사용한 특수문자 모음  

ASCII  
 - 터미널 색상코드용 이스케이프 \`ESC (0x1B)\`
```text/plain

```
 - 밸 문자 \`BEL (0x07)\`
```text/plain

```
UNICODE  
 - 아랍어 어순 정렬 문자 \`RLO (U+202E)\`
```text/plain
‮
```