有图有真相,先上图再说
照旧贴出代码
<!DOCTYPE html><html><head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <title>别踩白块</title> <style type="text/css"> html, body { height: 100%; font-size: 62.5%; } body, div, ul, li { padding: 0; margin: 0; } section { width: 100%; height: 100%; position: relative; } #container { position: absolute; top: -276px; padding: 0 20px; width: 100%; height: 1460px; background: #eee; } .row { margin-top: 30px; overflow: hidden; list-style: none; display: flex; } .col { flex: 1; margin-right: 3%; margin-bottom: 5px; height: 20rem; border-radius: 5px; border: 1px solid gray; box-shadow: 5px 5px 5px gray; background: #fff; } .col:last-child { margin: 0 5px 5px 0; } footer { position: fixed; bottom: 0; height: 28%; width: 100%; text-align: center; font: bold 5rem/100px "microsoft yahei"; background: gray; } .action { width: 300px; height: 100px; font-size: inherit; } .black { background: #000; } </style></head><body> <section> <div id="container"></div> </section> <footer> <button class="action" onclick="star()">Action</button> <div class="level">第<span id="chapter">1</span>关</div> <div class="score">您的总分是:<span id="num">0</span></div> </footer> <script> //设置定时器操作句柄 var clock = null; //设置游戏状态 0:游戏进行中 1:游戏暂停 2:游戏失败 var state = 0; //设置游戏速度,默认速度为2 var speed = 2; //根据id获取元素 function $(id) { return document.getElementById(id); } //创建div function createDiv(className) { var div = document.createElement("div"); div.className = className; return div; } //创建row function createRow() { var con = $("container"); var row = createDiv("row"); var classes = createBlank(); for (var i = 0; i < 4; i++) { row.appendChild(createDiv(classes[i])); } //判断container内是否有子元素 if (con.firstChild == null) { con.appendChild(row); } else { con.insertBefore(row, con.firstChild) } } //创建随机黑块 function createBlank() { var arr = ['col', 'col', 'col', 'col']; var i = Math.floor(Math.random() * 4); arr[i] = 'col black'; return arr; } //向下滑动动画 function move() { var con = $("container"); var top = parseInt(window.getComputedStyle(con, null)["top"]); if (speed + top > 0) { //如果一步走过头,则强制top等于零 top = 0; } else { top += speed; } con.style.top = top + "px"; //如果最上的块完全掉下来时top==0,此时需在这行上追加一行 if (top == 0) { createRow(); con.style.top = "-23rem"; var rows = con.children; if ((rows.length == 5) && (rows[rows.length - 1].pass != 1)) { fail(); } else { deleteRow(); } } } //加速函数 function accelerate() { speed += 2; if (speed == 20) { alert("饶了我吧,你的电脑太卡了!"); } } //删除最后一行 function deleteRow() { var con = $("container"); con.removeChild(con.lastChild); } //动画开始 function star() { clock = window.setInterval('move()', 10); } //点击黑块颜色变白 $("container").onclick = function(event) { judge(event); } //判断是成功还是失败 function judge(event) { if (state == 2) { alert("游戏失败,请重新开始!"); gameInit(); return; } if (event.target.className.indexOf("black") == -1) { fail(); } else { event.target.className = "col"; event.target.parentNode.pass = 1; score(); } } //游戏失败或结束 function fail() { clearInterval(clock); state = 2; alert("游戏失败,请重新开始!"); var con = $("container"); con.style.top = "-276px"; gameInit(); } //游戏初始化 function gameInit() { var con = $("container"); var childNum = con.children.length; for (var i = 0; i < childNum; i++) { deleteRow(); } init(); $('num').innerHTML = 0; state = 0; } //页面初始化 function init() { for (var i = 0; i < 4; i++) { createRow(); } } //计分 function score() { var newScore = parseInt($('num').innerHTML) + 1; var newChpater = parseInt($('chapter').innerHTML) + 1 $('num').innerHTML = newScore; if (newScore % 20 == 0) { $("chapter").innerHTML = newChpater; accelerate(); } } init(); </script></body></html>
玩了几次,感觉还不错!其实早就想做这个游戏了,苦于没思路。现参考网上教程,终于解决了。
希望大家可以试着玩玩,若有BUG,请留言。

"Code"는 "Code"BroadlyIncludeLugageslikeJavaScriptandPyThonforFunctureS (htMlisAspecificTypeofCodeFocudecturecturingWebContent)

HTML, CSS 및 JavaScript는 웹 개발의 세 가지 기둥입니다. 1. HTML은 웹 페이지 구조를 정의하고 등과 같은 태그를 사용합니다. 2. CSS는 색상, 글꼴 크기 등과 같은 선택기 및 속성을 사용하여 웹 페이지 스타일을 제어합니다.

HTML은 웹 구조를 정의하고 CSS는 스타일과 레이아웃을 담당하며 JavaScript는 동적 상호 작용을 제공합니다. 세 사람은 웹 개발에서 의무를 수행하고 화려한 웹 사이트를 공동으로 구축합니다.

HTML은 간단하고 배우기 쉽고 결과를 빠르게 볼 수 있기 때문에 초보자에게 적합합니다. 1) HTML의 학습 곡선은 매끄럽고 시작하기 쉽습니다. 2) 기본 태그를 마스터하여 웹 페이지를 만들기 시작하십시오. 3) 유연성이 높고 CSS 및 JavaScript와 함께 사용할 수 있습니다. 4) 풍부한 학습 리소스와 현대 도구는 학습 과정을 지원합니다.

anexampleStartingtaginhtmlis, whithbeginsaparagraph.startingtagsareessentialinhtmlastheyinitiate rements, definetheirtypes, andarecrucialforstructurituringwebpages 및 smanstlingthedom.

메뉴에서 점선 분할 효과를 설계하는 방법은 무엇입니까? 메뉴를 설계 할 때는 일반적으로 접시 이름과 가격 사이에 왼쪽과 오른쪽을 정렬하는 것이 어렵지 않지만 점선 또는 중간의 점은 어떻습니까?

웹 코드 편집기의 HTML 요소 분석 많은 온라인 코드 편집기를 사용하면 사용자가 HTML, CSS 및 JavaScript 코드를 입력 할 수 있습니다. 최근에 누군가가 제안했습니다 ...

React-App-Lerewired를 사용하여 정적 페이지를 구축 할 때 코드 압축을 피하는 방법에 대해 많은 개발자가 제공하고 싶어합니다.


핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

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

인기 기사

뜨거운 도구

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

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

VSCode Windows 64비트 다운로드
Microsoft에서 출시한 강력한 무료 IDE 편집기

mPDF
mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.

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

뜨거운 주제



