この記事では、簡単なパズルゲームを実装するためのjsの具体的なコードを参考までに共有します。具体的な内容は次のとおりです。 ゲームは非常にシンプルで、パズルを組み立てて、マウスでピースをドラッグして別のピースと交換するだけです。言語はHTML+jsです。コメントが分からない場合はメッセージを残して質問してください。 スクリーンショットコードエリア<!DOCTYPE html> <html> <ヘッド> <メタ文字セット="utf-8"> <タイトル></タイトル> </head> <スタイル タイプ="text/css"> div{ 幅: 200ピクセル; 高さ: 200px; } .tu{ 背景画像:url(anni.jpg); } //background-position を使用して各 div に異なる画像を追加します。つまり、9 つの div で完全な画像が形成されます。 #z-1{ 背景位置: 0px 0px; } #z-2{ 背景位置:-200px 0px; } #z-3{ 背景位置:-400px 0px; } #z-4{ 背景位置:0 -200px; } #z-5{ 背景位置: -200px -200px; } #z-6{ 背景位置: -400px -200px; } #z-7{ 背景位置: 0px -400px; } #z-8{ 背景位置: -200px -400px; } #z-9{ 背景位置: -400px -400px; } </スタイル> <スクリプト> //ドラッグ後に 2 つの画像の交換を完了します。 関数オーバー(e){ e.preventDefault(); //デフォルトを防止} // グラブ関数drag(e){ var id = e.target.id; // コンソールログ(e.target.id); e.dataTransfer.setData("id",id);//送信するキャプチャされた ID を設定します。 } //関数drop(e)の後{ var beizhuaId=e.dataTransfer.getData("id");// キャプチャした ID を受け入れます。 // console.log(beizhuaId); // 逮捕された人物のID var fangID=e.target.id;//場所のID; var beizhua=document.getElementById(beizhuaId);//キャプチャしたオブジェクトを取得します。 var fang=document.getElementById(fangID);//解放するオブジェクトを取得します。 var f_beizhua=beizhua.parentNode;//対応する親ノードを検索します var f_fang=fang.parentNode; //sonsf_beizhua.appendChild(fang) を交換する。 f_fang.appendChild(beizhua); 勝つ(); } // 勝敗判定方法。親と子の ID 名に同じシリアル番号が付けられ、ループしてカウントを累積します。 関数win(){ var tus = document.getElementsByClassName('tu'); var count=0; for(var i=0;i<tus.length;i++){ var tu = tus[i]; var fu = tu.parentNode; var tu_id=tu.getAttribute("id"); var fu_id=fu.getAttribute("id"); if(tu_id.replace("z-","")==fu_id.replace("f-","")){ カウント++; console.log(カウント); }それ以外{ 戻る; } } if(count==9){ alert("あなたの勝ちです!"); } } // ボタンをスクランブルします。乱数を生成します。appenChild メソッドを使用して複数回スワップします。これがスクランブルです。 関数 daluan(){ (var i=0;i<100;i++){ var tus = document.getElementsByClassName('tu'); var m = parseInt (Math.random() * 9); var n = parseInt(Math.random() * 9); var tusmp=tus[m].parentNode; var tusnp=tus[n].parentNode; tusmp.appendChild(tus[n]); tusnp.appendChild(tus[m]); } } </スクリプト> <本文> <表の境界線="1"> <tr> <td> <div id="f-1" ondragover="over(イベント)" ondrop="drop(イベント)"> <div id="z-1" class="tu" draggable="true" ondragstart="ドラッグ(イベント)"></div> </div> </td> <td> <div id="f-2" ondragover="over(イベント)" ondrop="drop(イベント)"> <div id="z-2" class="tu" draggable="true" ondragstart="ドラッグ(イベント)"></div> </div> </td> <td> <div id="f-3" ondragover="オーバー(イベント)" ondrop="ドロップ(イベント)"> <div id="z-3" class="tu" draggable="true" ondragstart="ドラッグ(イベント)"></div> </div> </td> </tr> <tr> <td> <div id="f-4" ondragover="オーバー(イベント)" ondrop="ドロップ(イベント)"> <div id="z-4" class="tu" draggable="true" ondragstart="ドラッグ(イベント)"></div> </div> </td> <td> <div id="f-5" ondragover="オーバー(イベント)" ondrop="ドロップ(イベント)"> <div id="z-5" class="tu" draggable="true" ondragstart="ドラッグ(イベント)"></div> </div> </td> <td> <div id="f-6" ondragover="オーバー(イベント)" ondrop="ドロップ(イベント)"> <div id="z-6" class="tu" draggable="true" ondragstart="ドラッグ(イベント)"></div> </div> </td> </tr> <tr> <td> <div id="f-7" ondragover="over(イベント)" ondrop="drop(イベント)"> <div id="z-7" class="tu" draggable="true" ondragstart="ドラッグ(イベント)"></div> </div> </td> <td> <div id="f-8" ondragover="over(イベント)" ondrop="drop(イベント)"> <div id="z-8" class="tu" draggable="true" ondragstart="ドラッグ(イベント)"></div> </div> </td> <td> <div id="f-9" ondragover="over(イベント)" ondrop="drop(イベント)"> <div id="z-9" class="tu" draggable="true" ondragstart="ドラッグ(イベント)"></div> </div> </td> </tr> </テーブル> <input type="button" value="シャッフル" onclick="daluan()" /> </本文> </html> 結論内容は非常に少なく、論理もそれほど強力ではありませんが、アイデアは明確である必要があります。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
フロントエンドcss3 フィルターは、Web ページのグレー効果を実現できるだけでなく、ナイト モー...
サーバーの LNPM 環境をインストールして構成する場合、複数のバージョンの PHP の共存を考慮す...
この記事はMySQL 8.0に基づいていますこの記事では、日付と時刻の操作のための MySQL 関数...
CSS3 アニメーション トランジションを使用して、リンクの上にマウスを移動すると小さなポップアップ...
0x0 はじめにまず、ハッシュアルゴリズムとは何でしょうか?メッセージやセッション項目など、一部のデ...
Supervisor は非常に優れたデーモン管理ツールです。自動起動、ログ出力、自動ログカットなど、...
ハッシュモード(デフォルト)動作原理:ウェブページのハッシュ値の変化を監視する—> onhas...
序文:親コンポーネントと子コンポーネント間でデータを渡す場合、通常は props と emittin...
背景すべては、WeChat 技術グループのクラスメートが「写真の主な色を取得する方法はあるか」と尋ね...
目次ケース1:ケース2:ケース3:簡単にまとめると:過去 2 日間で、完全なテーブル スキャンを引き...
Linux サーバーに Docker をインストールした後、関連する公式 Docker イメージを...
この記事では、例を使用して、MySQL ストアド プロシージャで複数の値を返す方法について説明します...
要件:PC側とモバイル側は2つの独立したプロジェクトです。2つのプロジェクトの内容は基本的に同じで、...
目次1. テレポート1.1 テレポートの紹介1.2 テレポートの使用1.3 プレビュー効果2. サス...
1. 環境と準備1. Ubuntu 14.04 2.Docker環境2. 建設プロセス1. ミラーソ...