vue를 사용하여 2048 미니 게임을 구현하는 방법
이번에는 vue를 사용하여 2048 미니게임을 구현하는 방법을 알려드리겠습니다. vue를 사용하여 2048 미니게임을 구현할 때 주의사항은 무엇인지 살펴보겠습니다.
사용 방법:
git clone npm i npm run dev
구현 아이디어는 다음과 같습니다.
vue-cli를 사용하여 프로젝트를 빌드합니다. 이 프로젝트에서는 약간 번거로울 수 있지만 다른 프로젝트를 빌드하기에는 너무 게으릅니다.
-
4X4 그리드에 2D를 사용합니다. 배열 이 저장되면 이 2차원 배열에만 관심이 있습니다. 다른 사항은 vue
에 맡기고 키보드 이벤트
핵심 부분을 확인하세요. 2048은 4X4 행렬이기 때문에 이동 및 병합 알고리즘입니다. 따라서 왼쪽 이동 알고리즘이 구현되는 한 다른 방향으로의 이동에는 행렬 회전, 이동 병합, 뒤로 회전 및 바인딩만 필요합니다. 다양한 값을 가진 스타일
점수 계산 및 로컬 저장소 사용 최고 점수를 저장하는 열쇠
- 는
DOM
<p class="box"> <p class="row" v-for="row in list"> <p class="col" :class="'n-'+col" v-for="col in row">{col}}</p> </p> </p>
을 구현하는 것입니다. 단순하고 2차원 배열로 렌더링되며 스타일에 동적으로 바인딩됩니다.
Shift left주로 다음 상황에 의해 발생합니다.
2 2 2 2 => 4 4 0 0
4 2 2 2 => 4 4 2 0
0 4 2 2=> 4 4 0 1 가장 먼 빈 위치
존재하지 않는 경우 이동합니다. 가장 먼 곳으로
존재하는 경우 가장 먼 곳의 값 - 1이 셀과 동일한지 확인
동일 => ; 병합
-
동일하지 않음 =>가장 먼 위치로 이동
이동 후 셀을 지웁니다
다음 라운드
이동 라운드에서는 숫자가 한 번만 병합될 수 있으므로 각 그리드에는 병합 여부를 기록하는 병합 매개변수가 있어야 합니다. .
메인 코드 :-
_list.forEach(item => { let farthest = this.farthestPosition(list, item) let next = list[farthest - 1] if (next && next === item.value && !_list[farthest - 1].merged) { //合并 list[farthest - 1] = next * 2 list[item.x] = undefined item = { x: farthest - 1, merged: true, value: next * 2 } this.score += next * 2 } else { if (farthest != item.x) { list[farthest] = item.value list[item.x] = undefined item.x = farthest } } })
로그인 후 복사행렬 회전 - 실제로 상하좌우 시프트가 동일하기 때문에 4번 쓸 수 있지만 실수하기 쉬우므로 직접 행렬 회전 회전한 다음 이동합니다.
예를 들어 위쪽 이동을 시계 반대 방향으로 한 번 회전하면 위쪽 이동이 왼쪽 이동이 됩니다. 움직임이 병합된 후에는 행렬을 시계 반대 방향으로 4-1회만 회전하면 됩니다. 단순한 상향 이동과 동일합니다.
반시계 방향 회전 알고리즘:
rotate(arr, n) { n = n % 4 if (n === 0) return arr let tmp = Array.from(Array(this.size)).map(() => Array(this.size).fill(undefined)) for (let i = 0; i < this.size; i++) { for (let j = 0; j < this.size; j++) { tmp[this.size - 1 - i][j] = arr[j][i] } } if (n > 1) tmp = this.rotate(tmp, n - 1) return tmp },
이 시점에서는 80% 완료되었으며, 포인트 추가, 재시작 및 기타 기능만 개선하면 됩니다.
이 기사의 사례를 읽은 후 방법을 마스터했다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!
추천 자료: Vue에서 vee-validate를 사용하는 방법
노드 교차 도메인 사용 express+http-proxy-middleware 단계별 설명
위 내용은 vue를 사용하여 2048 미니 게임을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제









Huawei 휴대폰에서 이중 WeChat 로그인을 구현하는 방법은 무엇입니까? 소셜 미디어의 등장으로 WeChat은 사람들의 일상 생활에 없어서는 안될 커뮤니케이션 도구 중 하나가 되었습니다. 그러나 많은 사람들이 동일한 휴대폰에서 동시에 여러 WeChat 계정에 로그인하는 문제에 직면할 수 있습니다. Huawei 휴대폰 사용자의 경우 듀얼 WeChat 로그인을 달성하는 것은 어렵지 않습니다. 이 기사에서는 Huawei 휴대폰에서 듀얼 WeChat 로그인을 달성하는 방법을 소개합니다. 우선, 화웨이 휴대폰과 함께 제공되는 EMUI 시스템은 듀얼 애플리케이션 열기라는 매우 편리한 기능을 제공합니다. 앱 듀얼 오픈 기능을 통해 사용자는 동시에

Java 코드를 통해 사랑 애니메이션 효과 구현하기 프로그래밍 분야에서 애니메이션 효과는 매우 일반적이고 대중적입니다. Java 코드를 통해 다양한 애니메이션 효과를 얻을 수 있는데, 그 중 하나가 하트 애니메이션 효과입니다. 이 기사에서는 Java 코드를 사용하여 이러한 효과를 얻는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 하트 애니메이션 효과 구현의 핵심은 하트 모양의 패턴을 그린 후, 하트 모양의 위치와 색상을 변경하여 애니메이션 효과를 구현하는 것입니다. 다음은 간단한 예에 대한 코드입니다: importjavax.swing.

win10 운영 체제를 사용할 때, 편집자가 아는 한, 이전 버전의 내장 게임 지뢰찾기가 여전히 저장되어 있는지 알고 싶습니다. 매장에 있는 그대로 microsoftminesweeper를 검색하시면 됩니다. 구체적인 단계를 에디터로 살펴보겠습니다~ Windows 10용 지뢰찾기 게임이 있나요? 1. 먼저 Win10 시작 메뉴를 열고 클릭하세요. 그런 다음 검색하고 검색을 클릭합니다. 2. 첫 번째 것을 클릭하세요. 3. 그런 다음 Microsoft 계정, 즉 Microsoft 계정을 입력해야 할 수도 있습니다. Microsoft 계정이 없으면 계정을 설치하고 등록하라는 메시지가 나타날 수 있습니다. 계정 비밀번호를 입력하고 다음을 클릭하세요. 4. 그런 다음 다운로드를 시작합니다

Huawei 휴대폰에서 WeChat 복제 기능을 구현하는 방법 소셜 소프트웨어의 인기와 개인 정보 보호 및 보안에 대한 사람들의 강조가 높아지면서 WeChat 복제 기능이 점차 주목을 받고 있습니다. WeChat 복제 기능을 사용하면 사용자가 동일한 휴대폰에서 여러 WeChat 계정에 동시에 로그인할 수 있으므로 관리 및 사용이 더 쉬워집니다. Huawei 휴대폰에서 WeChat 복제 기능을 구현하는 것은 어렵지 않습니다. 다음 단계만 따르면 됩니다. 1단계: 휴대폰 시스템 버전과 WeChat 버전이 요구 사항을 충족하는지 확인하십시오. 먼저 Huawei 휴대폰 시스템 버전과 WeChat 앱이 최신 버전으로 업데이트되었는지 확인하세요.

프로그래밍 언어 PHP는 다양한 프로그래밍 논리와 알고리즘을 지원할 수 있는 강력한 웹 개발 도구입니다. 그중 피보나치 수열을 구현하는 것은 일반적이고 고전적인 프로그래밍 문제입니다. 이 기사에서는 PHP 프로그래밍 언어를 사용하여 피보나치 수열을 구현하는 방법을 소개하고 구체적인 코드 예제를 첨부합니다. 피보나치 수열은 다음과 같이 정의되는 수학적 수열입니다. 수열의 첫 번째와 두 번째 요소는 1이고 세 번째 요소부터 시작하여 각 요소의 값은 이전 두 요소의 합과 같습니다. 시퀀스의 처음 몇 가지 요소

"개발 제안: ThinkPHP 프레임워크를 사용하여 비동기 작업을 구현하는 방법" 인터넷 기술의 급속한 발전으로 인해 웹 응용 프로그램은 많은 수의 동시 요청과 복잡한 비즈니스 논리를 처리하기 위한 요구 사항이 점점 더 높아졌습니다. 시스템 성능과 사용자 경험을 향상시키기 위해 개발자는 이메일 보내기, 파일 업로드 처리, 보고서 생성 등과 같이 시간이 많이 걸리는 작업을 수행하기 위해 비동기 작업을 사용하는 것을 종종 고려합니다. PHP 분야에서 널리 사용되는 개발 프레임워크인 ThinkPHP 프레임워크는 비동기 작업을 구현하는 몇 가지 편리한 방법을 제공합니다.

Chrome에서 미니 게임을 플레이하는 방법은 무엇인가요? 구글 크롬은 인간적인 배려로 디자인된 많은 기능을 갖추고 있으며, 그 안에서 다양한 즐거움을 얻을 수 있습니다. Google Chrome에는 Little Dinosaur Game이라는 매우 흥미로운 부활절 달걀 게임이 있습니다. 많은 친구들이 이 게임을 매우 좋아하지만 게임을 실행하는 방법을 모릅니다. 미니게임이 튜토리얼에 들어갑니다. Google Chrome에서 미니 게임을 플레이하는 방법 방법 1: [컴퓨터가 네트워크에서 연결 해제됨] 컴퓨터가 유선 네트워크를 사용하는 경우 네트워크 케이블을 분리하세요. 컴퓨터가 무선 네트워크를 사용하는 경우 무선 네트워크 연결을 클릭하여 연결을 끊으세요. 컴퓨터 오른쪽 하단에 있습니다. ② 컴퓨터의 인터넷 연결이 끊어진 상태에서 Google Chrome을 열면 Google Browse가 나타납니다.

오늘날의 소프트웨어 개발 분야에서 효율적이고 간결하며 동시성이 뛰어난 프로그래밍 언어인 Golang(Go 언어)은 점점 더 개발자들의 선호를 받고 있습니다. 풍부한 표준 라이브러리와 효율적인 동시성 기능으로 인해 게임 개발 분야에서 주목받는 선택이 되었습니다. 이 기사에서는 게임 개발에 Golang을 사용하는 방법을 살펴보고 특정 코드 예제를 통해 Golang의 강력한 가능성을 보여줍니다. 1. 게임 개발에서 Golang의 장점 Golang은 정적인 유형의 언어로서 대규모 게임 시스템을 구축하는 데 사용됩니다.
