나는 스도쿠 게임을 만들려고 노력하고있어, 나는 삽입 각 번호에 다음과 같은 검증 수집 :최상의 패턴을 스도쿠에 적용 할 수 있습니까?
- 번호가 1과 9 사이이어야합니다;
- 숫자는 줄에서 고유해야합니다.
- 숫자는 열에서 고유해야합니다.
- 숫자는 부분 행렬에서 고유해야합니다.
- 은 그룹 3 종류 ColumnGroup, LineGroup하고있다 : 나는 규칙 "에 ... 고유해야합니다 수"너무 많이 반복하고있어으로
, 나는 다음과 같은 설계했다 SubMatrixGroup (모두 GroupInterface를 구현);
- GroupInterface의 메소드는
public boolean validate(Integer number)
입니다. - 각 셀이 3 개 그룹에 관련되어, 그 중 하나가 true로 평가하지 않는 경우는, 그룹 사이에서 고유해야합니다, 번호가 허용되지 않습니다;
- 각 셀은 관찰 가능하며 그룹을 관찰자로 만들고 하나의 셀 변경 시도에 반응합니다.
그리고 그 * CKS를에요. 디자인에 문제가있는 것을 찾을 수 없습니다. 방금 막혔어.
나는 그것이 작동 할 수있는 방법의 어떤 아이디어?
는
스도쿠 (Sudoku) 해결사로 작동해야하는 것 외에도 조금 지나치게 객관적인 것으로 들립니다. 또한 정확히 무엇이 싫은지를 지정하지 않았습니까? – SWeko
또한, 그리드를 확장 가능하게 만드는 데 어려움이 있습니다. 예를 들어, 1 ... 12 대신 1 .. 12로 확장하고 싶다면. – ViniciusPires
사실, 어떻게 쉽게 검증 할 수 있을지 모르겠다. 그래서 유효성 검사기 목록을 추가했다 ... 그리고 지금 나는 그것을 빠져 나올 수 없다. 그것이 지나치게 객관화 된 곳은 어디입니까? 나는 그것도 느낄 수 있습니다. 아마도 그보다 더 간단한 다른 해결책이있을 것입니다 ... – ViniciusPires