この記事では、パズルゲームを実装するためのjsの具体的なコードを参考までに共有します。具体的な内容は次のとおりです。 1. jsパズルとは何ですか?js で作られた小さなゲーム 2. 使用手順1. まずdivボックスを作成する <スタイル> div,本文{ マージン: 0; 高さ: 0; } #箱{ 幅: 800ピクセル; 高さ: 800ピクセル; 背景色: バーリーウッド; 位置: 相対的; } #ボックスdiv{ 幅: 200ピクセル; 高さ: 200px; 背景: url(./imgs/bg.jpg) 繰り返しなし; 位置: 絶対; } </スタイル> </head> <本文> <div id="box"></div> </本文> 2. jsを書く <スクリプト> // タグを取得します var box = document.getElementById("box"); var arrs = []; // ループして 16 個のオブジェクトを作成し、配列に追加します for(var i = 0; i < 4; i++){ (var j = 0; j < 4; j++){ var divNode = document.createElement("div") divNode.style.top = 200 * i + "px" divNode.style.left = 200 * j + "px" // オブジェクトを作成する var pox = { 左: 200* i、 トップ:200*j, } // 作成したオブジェクトを配列に追加します if( i !== 3 || j !== 3 ){ arrs.push(pox) }それ以外{ divNode.style.background = "なし"; divNode.className = "スペース" } ボックスの子要素を追加します。 } } コンソールにログ出力します。 // オブジェクトをランダムに抽出する for(var i = 0; i < 15; i++){ var ranNum = parseInt(Math.random() * (15 - i)) var x = arrs[ranNum].left; var y = arrs[ranNum].top; box.children[i].style.backgroundPosition = - x + "px " + - y + "px"; arrs.splice(ranNum,1); } //キーボードイベント document.onkeyup = function(event) { // 押されたキーを取得します var key = event.keyCode // (キー == 38) の場合 { var x = box.querySelector(".space").style.left var y = box.querySelector(".space").style.top (var i = 0; i < 16; i++) の場合 { parseInt(box.children[i].style.top) == parseInt(y) - 200 && parseInt(box.children[i].style.left) == parseInt(x) の場合 ボックス.children[i].style.top = y box.querySelector(".space").style.top = parseInt(y) - 200 + "px" } } // 次へ}else if (key == 40) { var x = box.querySelector(".space").style.left var y = box.querySelector(".space").style.top // すべての小さなdivを走査し、空白の上にあるものを見つけてyに代入します (var i = 0; i < 16; i++){ parseInt(box.children[i].style.top) == parseInt(y) + 200 && parseInt(box.children[i].style.left) == parseInt(x) の場合 { ボックス.children[i].style.top = y box.querySelector(".space").style.top = parseInt(y) + 200 + "px" } } // 左 }else if (key = 38) { var x = box.querySelector(".space").style.left var y = box.querySelector(".space").style.top (var i = 0; i < 16; i++) の場合 { parseInt(box.children[i].style.left) == parseInt(x) - 200 && parseInt(box.children[i].style.top) == parseInt(y)) { box.children[i].style.left = x box.querySelector(".space").style.left = parseInt(x) - 200 + "px" } } // 正しい }else if (key = 39) { var x = box.querySelector(".space").style.left var y = box.querySelector(".space").style.top (var i = 0; i < 16; i++) の場合 { parseInt(box.children[i].style.left) == parseInt(x) + 200 && parseInt(box.children[i].style.top) == parseInt(y) の場合 box.children[i].style.left = x box.querySelector(".space").style.left = parseInt(x) + 200 + "px" } } } } </スクリプト> レンダリング レンダリング完了 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: nginx ssl を設定して https アクセスを実装する手順 (初心者向け)
>>: Mysql のいくつかの複雑な SQL ステートメント (重複行のクエリと削除)
目次前面に書かれたログインの概要ログインビジネスプロセスログインサービスの関連技術ポイントログイント...
目次1. クロスドメインフィルタ CorsFilter 1.1 設定例1.2 パラメータの説明2. ...
この記事では、MySQL ビューの原理と使用法についてまとめます。ご参考までに、詳細は以下の通りです...
目次1. インデックスの役割2. インデックスの作成と削除(1)ALTER TABLE文を使用して、...
ssh に入り、次のコマンドを入力してパスワードをリセットします (コマンドの末尾の「testpas...
一般的に、データ テーブル内の列を ID 列として設定すると、ID 列の表示値を手動で ID 列に挿...
ポーリングアルゴリズムの紹介多くの人が職場で nginx を使用しており、その設定に精通しています。...
この記事では、例を使用して MySQL カスタム関数の原理と使用方法を説明します。ご参考までに、詳細...
序文全文インデックスを使用できるのは Innodb と MyISAM ストレージ エンジンのみです ...
NFSが提供するサービスマウント: サーバー上で /usr/sbin/rpc.mountd サーボ ...
この記事では主に、MySQL 8.0 ドライバーと Alibaba Druid バージョン間の互換性...
まず効果図を見てみましょう: 完全なコードは添付されています <テンプレート> <...
1. MySQL 8.0.12 バージョンのインストール手順。 1. ダウンロードhttps://d...
コードをコピーコードは次のとおりです。 <オブジェクト id="player1&qu...
関数を使用する前にパラメータのプロパティを理解して、関数の使い方をより深く理解する必要があることは誰...