가상 회의에 재미를 가져 오기 : JavaScript Fortune Game
전염병 기간 동안 많은 사교 모임이 온라인으로 이사했습니다. Esperanto Group의 가상 회의에서 Zoom Fatigue와 싸우기 위해 간단한 JavaScript 기반 Fortune Game을 개발했습니다. 이 기사는 설계 선택과 잠재적 개선을 강조하는 생성을 자세히 설명합니다.
웹 페이지로 구축 된이 게임은 기본 JavaScript, 캔버스 및 몇 가지 이미지 및 사운드 파일을 사용합니다. 게임 플레이는 전 세계적으로 관리되는 게임 상태 (현재 퍼즐, 무덤 글자 및 표시된보기)와 함께 키 스트로크에 의해 주도됩니다.
게임 디자인 및 구현
핵심 게임 논리는 상태 머신을 중심으로 진행되지만 전통적인 게임 루프는 게임의 비교적 간단한 특성으로 인해 불필요한 것으로 간주되었습니다. 퍼즐, 무덤 문자 및 활성보기 (휠 또는 보드)를 포함한 게임 상태는 전역 변수에 저장됩니다. KeyPresses 트리거 게임 작업.
게임 보드 : 두 가지 접근 방식
게임 보드는 그리드이며, 각 셀은 빈, 빈 또는 눈에 보이는 문자를 나타냅니다. 렌더링을위한 두 가지 접근법이 고려되었습니다 :
배열 기반 렌더링 : javaScript 배열은 보드의 상태를 나타내며 각 요소는 셀의 상태에 해당합니다. 이 방법은 효율적이지만 시각적으로 매력적인 그래픽을 덜 유발할 수 있습니다.
사전 렌더링 된 이미지 : 각 퍼즐마다 정적 이미지가 생성됩니다. 이 접근법은 더 많은 선불 작업이 필요하지만 잠재적으로 더 나은 미학과 문자 배치를 제공합니다. 나는 시각적 매력을 위해이 방법을 선택했다.
휠 스핀 애니메이션
> 휠의 스핀은 360도를 초과하는 임의의 회전을 계산하고 휠 이미지를 점진적으로 회전시켜 애니메이션됩니다. 파산은 휠의 멈춤 지점에서 픽셀 색상을 확인하여 감지됩니다. 검은 색 픽셀은 파산 사운드 효과를 유발합니다
코드 및 트레이드 오프
게임 코드는 Github에서 사용할 수 있습니다. 개발 프로세스에는 단순성 대 고급 기능, 빠른 개발 대 세제 코드, 기술 부채 대 완벽주의의 여러 트레이드 오프가 포함되었습니다. 소프트웨어 개발에서 일반적인 고려 사항입니다. 게임에는 자동 점수 유지와 같은 기능이 부족하여 플레이어 경험을 향상시킬 것입니다.
향후 개선 및 고려 사항
향후 개선에는 다음이 포함될 수 있습니다
자동화 된 점수 유지 : - 수동 점수 추적 제거
멀티 플레이어 기능 : 여러 플레이어가 Websockets를 사용하여 동시에 참여할 수 있도록합니다.
개선 된 애니메이션 : 휠 스핀 및 기타 애니메이션의 시각적 매력을 향상시킵니다.
보다 정교한 퍼즐 처리 : - 퍼즐 관리 및 표시를위한보다 효율적인 방법을 구현합니다.
이 프로젝트는 개발 제약과 원하는 기능의 균형을 맞추는 사례 연구 역할을합니다. 결과적인 게임은 간단하지만 가상 회의에 즐거움을 더하는 목표를 달성했습니다. 이 코드의 가용성은 유사한 프로젝트 트레이드 오프에 대한 반영을 장려합니다
자주 묻는 질문 (faqs)
원본 텍스트의 FAQ 섹션은 수정 된 기사에 이미 존재하는 정보를 크게 반복하여 생략되었습니다. 게임 생성, 사용자 정의 및 잠재적 개선에 관한 주요 정보는 이미 위에 포함되어 있습니다.
위 내용은 줌 전화를위한 Fortune of Fortune JavaScript 게임 구축의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!