서론
이번 시간에는 플러터를 이용하여 숫자 야구 게임을 만들어 보겠습니다. 숫자 야구 게임이란 두 명 이상의 플레이어가 할 수 있는 추측 게임으로서 논리력과 추리력이 필요한 게임입니다. 게임 방식은 한 플레이어는 숫자를 생각하고 다른 플레이어는 그것을 맞추기 위해서 추측합니다. 숫자를 생각한 플레이어는 다른 플레이어가 숫자를 추측할 수 있도록 단서를 제공합니다. 그 단서들은 보통 "스트라이크"와 "볼"의 형태로 있습니다 스트라이크는 숫자의 정확한 위치에 있는 숫자를 추측하는 플레이어가 정확하게 숫자를 추측할 때, 공은 추측하는 플레이어가 숫자를 정확하게 추측하지만 잘못된 위치에 있을 때 주어집니다. 게임 방식은 한 플레이어는 숫자를 생각하고 다른 플레이어는 그것을 맞추기 위해서 추측합니다. 숫자를 생각한 플레이어는 다른 플레이어가 숫자를 추측할 수 있도록 단서를 제공합니다. 그 단서들은 보통 "스트라이크"와 "볼"의 형태로 있습니다 스트라이크는 숫자의 정확한 위치에 있는 숫자를 추측하는 플레이어가 정확하게 숫자를 추측할 때, 공은 추측하는 플레이어가 숫자를 정확하게 추측하지만 잘못된 위치에 있을 때 주어집니다. 플러터를 이용하여 숫자 야구 게임을 만들어 보면서 다트 프로그래밍의 기본 원리에 대해서 배워봅니다.
작업 순서
다음은 Flurter 및 Android Studio를 사용하여 숫자 야구 게임을 만드는 단계입니다:
1. Android Studio를 열고 "Start a new Fluter project"를 클릭합니다.
2. 프로젝트 유형으로 "Flutter Application"을 선택하고 "Next"를 클릭합니다.
3. 프로젝트 이름, 프로젝트 위치 및 설명을 입력합니다. 그런 다음 "다음"을 클릭합니다.
4. 원하는 플랫폼 지원을 선택하고 "다음"을 클릭합니다.
5. 앱의 패키지 이름을 선택하고 "마침"을 클릭합니다.
6. Android Studio가 프로젝트 파일을 생성하고 초기 프로젝트를 빌드할 때까지 기다립니다.
7. 'lib' 폴더에 있는 main.dart 파일을 엽니다. 이 파일에는 Flower 앱의 진입점이 포함되어 있습니다.
8. 기본 코드를 다음 코드로 대체하여 NumberBaseball이라는 새로운 클래스를 생성하여 NumberBaseball 게임의 게임 로직을 나타냅니다:
이 코드에서, 우리는 숫자 야구 게임의 게임 논리를 나타내는 숫자 베이스볼이라는 새로운 클래스를 정의합니다. 클래스에는 _generateAnswer, _getDigits 및 evaluateGuess의 세 가지 방법이 있습니다. _generateAnswer 메서드는 사용자가 추측할 수 있는 임의의 세 자리 숫자를 생성합니다. _getDigits 메서드는 정수를 입력으로 사용하고 해당 숫자 목록을 반환합니다. evaluateGuess 메서드는 추측을 입력으로 사용하고 추측 결과를 나타내는 문자열을 반환합니다(예: "2스트라이크와 1볼").
9. 이제 게임 로직이 생겼으니 사용자가 게임을 할 수 있는 Flower 위젯을 만들 수 있습니다. main.dart 파일에서 기본 코드를 다음 코드로 바꿉니다.
10. lib 폴더에 main.dart라는 새 Dart 파일을 만듭니다. 이 파일에는 기본 앱 위젯 및 UI 요소가 포함됩니다.
11. main.dart 파일에서 material.dart 라이브러리를 가져오고 NumberBaseballApp이라는 새 StatefulWidget을 정의하십시오.
12. 여기서는 해당 상태 클래스 _NumberBaseballAppState를 사용하여 NumberBaseballApp이라는 새로운 상태 저장 위젯을 정의합니다. _NumberBaseballAppState의 빌드 방법에서는 사용자가 추측을 입력할 수 있는 텍스트 필드와 추측을 제출할 수 있는 버튼이 있는 간단한 UI를 만듭니다. 앱 바 제목도 "번호 야구"로 설정했습니다.
13. 이제 앱에 게임 로직을 추가해야 합니다. _NumberBaseballAppState 클래스에서 새 인스턴스 변수 _game of NumberBaseball을 추가합니다. Raiseed Button의 OnPressed 콜백에서 텍스트 필드의 현재 값으로 _game의 evaluateGuess 메서드를 호출합니다. 그런 다음 UI를 업데이트하여 결과를 표시합니다.
댓글