Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon 프로젝트에서 체스를 mvvmcross와 통합하는 방법


프로젝트에서 체스를 mvvmcross와 통합하는 방법


MVVMCross와 체스 게임을 통합하려면 MVMCross 프레임 워크 설정, 체스 게임 로직 설계 및 사용자 인터페이스 구현 등 여러 단계가 필요합니다. 다음은이를 달성하는 방법에 대한 자세한 안내서입니다.

1 단계 : MVVMCross 설정

먼저 MVVMCross 프로젝트를 설정해야합니다. 여기에는 View 모델 및 모델과 같은 공유 코드가 포함 된 핵심 프로젝트, Android 및 iOS 용 플랫폼 별 프로젝트를 작성하는 것이 포함됩니다.

1. 핵심 프로젝트 만들기 :이 프로젝트는 휴대용 클래스 라이브러리 (PCL) 또는 .NET 표준 라이브러리가 될 것입니다. 뷰 모델, 모델 및 비즈니스 로직이 포함됩니다.

2. 플랫폼 별 프로젝트 작성 : Android 및 iOS의 경우 사용자 인터페이스 및 플랫폼 별 코드를 포함하는 별도의 프로젝트를 만듭니다.

3. MVVMCROSS NUGET 패키지 설치 : 핵심 프로젝트 및 플랫폼 별 프로젝트 모두에 MVMCROSS NUGET 패키지를 설치하십시오. `install-package mvvmcross` [3] 명령으로 패키지 관리자 콘솔을 사용하여이를 수행 할 수 있습니다.

2 단계 : 체스 게임 논리 설계

체스 게임 논리는 핵심 프로젝트에 있습니다. 여기에는 체스 규칙, 조각 운동 및 게임 상태 관리가 포함됩니다.

1. 체스 모델 만들기 : 체스 조각에 대한 클래스 (예 :`piece`,`pawn`,`기사 등) 및 체스 보드 (`보드 ')를 정의하십시오.

2. 게임 로직 구현 : 조각 이동, 체크 메이트 확인 및 회전 관리와 같은 게임 로직을 처리하는 서비스 또는 관리자 클래스 ( 'Chessgamemanager')를 만듭니다.

3. 종속성 주입 사용 : 핵심 프로젝트의 '앱'클래스의 IOC 컨테이너에 'chessgamemanager'를 등록하여 응용 프로그램 전체에서 액세스 할 수 있도록합니다 [2].

3 단계 : 사용자 인터페이스 구현

사용자 인터페이스의 경우 플랫폼 별 프로젝트에서 뷰를 생성합니다.

1. Android보기 : Android 프로젝트에서 체스 보드 및 조각에 대한 레이아웃을 만듭니다. MVVMCross의 데이터 바인딩 기능을 사용하여 UI 요소를 뷰 모델에 바인딩하십시오.

2. iOS보기 : 마찬가지로 iOS 프로젝트에서 체스 보드 및 조각에 대한 뷰를 만듭니다. MVVMCross의 데이터 바인딩을 사용하여 UI 요소를보기 모델에 연결하십시오.

3. 공유 UI 논리 : 가능하면 Xamarin.forms를 사용하거나 플랫폼에서 사용할 수있는 사용자 정의 컨트롤을 만들어 UI 논리를 공유하십시오.

4 단계 : 체스 로직을 MVVMCross와 통합합니다

1. 체스보기 모델 만들기 : 핵심 프로젝트에서 'Chessgamemanager'와 상호 작용하는보기 모델 (`chessviewmodel ')을 만듭니다. 이러한보기 모델은 UI가 바인딩 할 수있는 속성과 명령을 노출시킵니다.

2.보기 간 탐색 : MVMCROSS의 내비게이션 기능을 사용하여 메인 메뉴에서 게임 보드까지의 체스 게임의 다양한보기간에 이동하십시오.

3. Pass Parameters : MVVMCross의 매개 변수 전달 메커니즘을 사용하여 현재 게임 상태와 같은보기 모델간에 데이터를 전달합니다 [1].

5 단계 : 테스트 및 배포

1. 단위 테스트 : MVVMCross의 장치 테스트 도우미를 사용하여 뷰 모델 및 게임 로직 테스트를 작성하십시오.

2. UI 테스트 : 각 플랫폼에서 UI 테스트를 수행하여 체스 게임이 예상대로 작동하는지 확인하십시오.

3. 앱 배포 : 모든 것이 테스트되고 작동하면 앱을 각 앱 스토어에 배포하십시오.

이 단계를 수행하면 체스 게임을 MVVMCross와 통합하여 크로스 플랫폼 기능을 활용하여 Android와 iOS 플랫폼간에 코드 및 논리를 공유 할 수 있습니다.

인용 :
[1] https://www.packtpub.com/en-us/learning/how-tutorials/sharing-mvvmcross
[2] https://www.mvvmcross.com/documentation/advanced/customizing-using-app-and-setup
[3] https://github.com/mvvmcross/mvvmcross
[4] https://stackoverflow.com/questions/50111506/how-do-i-pecify-to-use-view-from-project-in-mvvmcross-6-0
[5] https://leaware.com/creating-cross-platform-xamarin-applications-using-the-mvvmcross-framework/
[6] https://www.chessnutech.com
[7] https://www.mvvmcross.com/documentation/getting-started/getting-started
[8] http://squareoffnow.com