websudoku_cpp
1.0.0
웹스도쿠의 솔루션과 함께 유효한 스도쿠 퍼즐을 생성하기 위한 스크레이퍼입니다.
Websudokucpp는 Websudoku.com에서 스도쿠 퍼즐과 솔루션을 다운로드할 수 있는 간단한 웹 스크레이퍼입니다. 핵심 HTTP 요청 기능은 환상적인 cpp-httplib 헤더 전용 라이브러리를 사용하여 구현됩니다.
퍼즐과 솔루션을 스크랩하기 위해 websudokucpp는 Websudoku.com에 HTTP 요청을 하고 결과 HTML에서 및
요소를 구문 분석합니다.
이 프로젝트는 매우 쉽게 구축할 수 있습니다. 먼저 하위 모듈로 저장소를 복제한 다음 다른 CMake 프로젝트처럼 만들 수 있습니다.
foo@bar:~ $ git clone --recurse-submodules [email protected]:patrick--/websudoku_cpp.git
foo@bar:~ $ mkdir build
foo@bar:~ $ cd build
foo@bar:~ $ cmake ..
foo@bar:~ $ make
이제 다음을 사용하여 예제 main.cpp
파일을 실행합니다.
foo@bar:~ $ ./websudoku_cpp
기본 생성자는 난이도를 Puzzle_difficulty::hard
로 설정합니다.
Websudoku ws = Websudoku();
그러나 특정 난이도의 인스턴스를 생성할 수도 있습니다. 옵션은 다음과 같습니다:
Puzzle_difficulty::easy
Puzzle_difficulty::medium
Puzzle_difficulty::hard
Puzzle_difficulty::evil
Websudoku ws = Websudoku(Puzzle_difficulty::medium);
다음을 통해 언제든지 난이도를 업데이트할 수도 있습니다.
ws.set_difficulty_level(Puzzle_difficulty::evil);
실제로 퍼즐을 생성하려면 다운로드를 실행해야 합니다.
ws.download_new_puzzle();
또는 다른 난이도 수준의 퍼즐을 다운로드하고 싶지만 인스턴스의 난이도 수준을 반드시 변경하고 싶지는 않다고 가정해 보겠습니다.
ws.download_new_puzzle(Puzzle_difficulty::evil)
퍼즐이 다운로드되면 문자열로 인쇄하거나 파일에 쓸 수 있습니다. 두 방법 모두 솔루션과 함께 퍼즐을 인쇄하거나 작성하는 선택적 부울 include_solution
플래그가 있습니다.
std::cout << " Printing puzzle along with solution: " << ws.to_str( true ) << " n " ;
std::cout << " Writing puzzle with solution to file: " << " n " ;
ws.write_to_file( " foo.txt " , true );
출력은 다음과 같습니다.
9 7 6 - - - 5 8 -
- - - 4 - 7 6 2 -
3 - - 5 6 8 7 - -
- - - - - - 4 - 8
- 5 - 1 - 4 - 6 -
6 - 2 - - - - - -
- - 5 3 8 6 - - 7
- 1 7 9 - 2 - - -
- 6 3 - - - 2 9 5
------------------
9 7 6 2 1 3 5 8 4
5 8 1 4 9 7 6 2 3
3 2 4 5 6 8 7 1 9
1 3 9 6 2 5 4 7 8
7 5 8 1 3 4 9 6 2
6 4 2 8 7 9 3 5 1
2 9 5 3 8 6 1 4 7
4 1 7 9 5 2 8 3 6
8 6 3 7 4 1 2 9 5
------------------