DO-31 Docs: 주석 수정, 코드 정리

This commit is contained in:
fiore 2025-03-19 17:46:58 +09:00
parent ed9e8664a8
commit 7b8db4a2f3
4 changed files with 124 additions and 30 deletions

View File

@ -1,10 +1,20 @@
public class ForbiddenDetectorBase public class ForbiddenDetectorBase
{ {
/// <summary>
/// 흑색 돌
/// </summary>
private protected Enums.PlayerType Black = Enums.PlayerType.PlayerA; private protected Enums.PlayerType Black = Enums.PlayerType.PlayerA;
/// <summary>
/// 빈칸
/// </summary>
private protected Enums.PlayerType Space = Enums.PlayerType.None; private protected Enums.PlayerType Space = Enums.PlayerType.None;
/// <summary>
/// 흰색 돌, 렌주룰 내에선 벽으로도 활용
/// </summary>
private protected Enums.PlayerType White = Enums.PlayerType.PlayerB; private protected Enums.PlayerType White = Enums.PlayerType.PlayerB;
/// <summary>
// 8방향을 나타내는 델타 배열 (가로, 세로, 대각선 방향) /// 8방향을 나타내는 델타 배열 (가로, 세로, 대각선 방향)
/// </summary>
private protected readonly int[,] Directions = new int[8, 2] private protected readonly int[,] Directions = new int[8, 2]
{ {
{ 1, 0 }, // 오른쪽 { 1, 0 }, // 오른쪽
@ -17,11 +27,13 @@
{ 1, -1 } // 오른쪽 위 { 1, -1 } // 오른쪽 위
}; };
// 방향 쌍을 정의 (반대 방향끼리 쌍을 이룸) /// <summary>
// 0-4: 가로 방향 쌍 (동-서) /// 방향 쌍을 정의 (반대 방향끼리 쌍을 이룸)
// 1-5: 대각선 방향 쌍 (남동-북서) /// 0-4: 가로 방향 쌍 (동-서)
// 2-6: 세로 방향 쌍 (남-북) /// 1-5: 대각선 방향 쌍 (남동-북서)
// 3-7: 대각선 방향 쌍 (남서-북동) /// 2-6: 세로 방향 쌍 (남-북)
/// 3-7: 대각선 방향 쌍 (남서-북동)
/// </summary>
private protected readonly int[,] DirectionPairs = { { 0, 4 }, { 1, 5 }, { 2, 6 }, { 3, 7 } }; private protected readonly int[,] DirectionPairs = { { 0, 4 }, { 1, 5 }, { 2, 6 }, { 3, 7 } };
// 15*15 보드 사이즈 // 15*15 보드 사이즈

View File

@ -30,12 +30,9 @@ public class RenjuDoubleFourDetector: ForbiddenDetectorBase
/// </summary> /// </summary>
private bool CheckDoubleFour(Enums.PlayerType[,] board, int row, int col) private bool CheckDoubleFour(Enums.PlayerType[,] board, int row, int col)
{ {
// 각각 두개의 라인에서 쌍사를 형성하는 경우
if (FindDoubleLineFour(board, row, col)) return true;
// true : 일직선으로 쌍사가 만들어지는 특수 패턴
// false : 모든 경우에도 쌍사가 만들어지지 않음 // false : 모든 경우에도 쌍사가 만들어지지 않음
return FindSingleLineDoubleFour(board, row, col); return FindDoubleLineFour(board, row, col) || // 각각 두개의 라인에서 쌍사를 형성하는 경우
FindSingleLineDoubleFour(board, row, col); // 일직선으로 쌍사가 만들어지는 특수 패턴
} }
private bool FindDoubleLineFour(Enums.PlayerType[,] board, int row, int col) private bool FindDoubleLineFour(Enums.PlayerType[,] board, int row, int col)

View File

@ -119,19 +119,9 @@ public class RenjuDoubleThreeDetector: ForbiddenDetectorBase
/// </summary> /// </summary>
private bool CheckForOpenThree(Enums.PlayerType[] linePattern, int centerIndex) private bool CheckForOpenThree(Enums.PlayerType[] linePattern, int centerIndex)
{ {
// 연속된 열린 3 확인 // 둘다 아니면 열린 3이 아님
if (CheckConsecutiveOpenThree(linePattern, centerIndex)) return CheckConsecutiveOpenThree(linePattern, centerIndex) || // 연속된 열린 3 확인
{ CheckGappedOpenThree(linePattern, centerIndex); // 한 칸 떨어진 열린 3 확인
return true;
}
// 한 칸 떨어진 열린 3 확인
if (CheckGappedOpenThree(linePattern, centerIndex))
{
return true;
}
return false;
} }
/// <summary> /// <summary>

View File

@ -306,7 +306,7 @@ PrefabInstance:
m_Modifications: m_Modifications:
- target: {fileID: 626368541760032086, guid: 65aac0e22fe25aa42b9cf7df776a854d, type: 3} - target: {fileID: 626368541760032086, guid: 65aac0e22fe25aa42b9cf7df776a854d, type: 3}
propertyPath: m_Name propertyPath: m_Name
value: '[Canvas] Game UI' value: Canvas
objectReference: {fileID: 0} objectReference: {fileID: 0}
- target: {fileID: 6113787613246818512, guid: 65aac0e22fe25aa42b9cf7df776a854d, type: 3} - target: {fileID: 6113787613246818512, guid: 65aac0e22fe25aa42b9cf7df776a854d, type: 3}
propertyPath: m_Pivot.x propertyPath: m_Pivot.x
@ -21706,6 +21706,7 @@ GameObject:
m_Component: m_Component:
- component: {fileID: 1260188604546925059} - component: {fileID: 1260188604546925059}
- component: {fileID: 5677811662396631252} - component: {fileID: 5677811662396631252}
- component: {fileID: 5677811662396631253}
m_Layer: 0 m_Layer: 0
m_Name: GameManager m_Name: GameManager
m_TagString: Untagged m_TagString: Untagged
@ -33884,10 +33885,104 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 35a4c6d5d3a97b444b968e68ec8bb9f7, type: 3} m_Script: {fileID: 11500000, guid: 35a4c6d5d3a97b444b968e68ec8bb9f7, type: 3}
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
signinPanel: {fileID: 0} panelManagerPrefab: {fileID: 3475740041361426276, guid: 085ca07ca90c92545b2594bd13412701, type: 3}
signupPanel: {fileID: 0} audioManagerPrefab: {fileID: 2946408323859178723, guid: e829818dce39a5d4383e061111bed871, type: 3}
canvas: {fileID: 0} --- !u!82 &5677811662396631253
profileSprites: [] AudioSource:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3626119060319719757}
m_Enabled: 1
serializedVersion: 4
OutputAudioMixerGroup: {fileID: 0}
m_audioClip: {fileID: 0}
m_PlayOnAwake: 1
m_Volume: 1
m_Pitch: 1
Loop: 0
Mute: 0
Spatialize: 0
SpatializePostEffects: 0
Priority: 128
DopplerLevel: 1
MinDistance: 1
MaxDistance: 500
Pan2D: 0
rolloffMode: 0
BypassEffects: 0
BypassListenerEffects: 0
BypassReverbZones: 0
rolloffCustomCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
- serializedVersion: 3
time: 1
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
panLevelCustomCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
spreadCustomCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 0
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
reverbZoneMixCustomCurve:
serializedVersion: 2
m_Curve:
- serializedVersion: 3
time: 0
value: 1
inSlope: 0
outSlope: 0
tangentMode: 0
weightedMode: 0
inWeight: 0.33333334
outWeight: 0.33333334
m_PreInfinity: 2
m_PostInfinity: 2
m_RotationOrder: 4
--- !u!61 &5684907091474785187 --- !u!61 &5684907091474785187
BoxCollider2D: BoxCollider2D:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0