この記事の内容は、キャンバス上でバックギャモン ゲームを実装するコード例です。必要な方は参考にしていただければ幸いです。
効果
コード
nbsp;html> <meta> <title>五子棋</title> <script></script> <canvas></canvas> <script> (function () { // 画布绘制 let canvas = document.getElementById("canvas"); let context = canvas.getContext("2d"); context.beginPath(); for (let i = 0; i < 19; i++) { // 竖线绘制 context.moveTo(10 + i * 20, 10); context.lineTo(10 + i * 20, 370); // 横线绘制 context.moveTo(10, 10 + i * 20); context.lineTo(370, 10 + i * 20); } context.stroke(); })(); // 鼠标单击 let blorwh = 0; // 定义用于判断落子的二维数组 let matrix = new Array(19); // 进行赋值 for(let i = 0; i < 19; i++){ matrix[i] = new Array(19); for(let j = 0; j < 19; j++){ matrix[i][j] = 0; } } $("#canvas").click((event) => { // 每次落子的时候取反 blorwh = !blorwh; console.log(event.offsetX); let canvas = document.getElementById("canvas"); let context = canvas.getContext("2d"); // 保存要落子的坐标 let arcPosX, arcPosY; // 保存棋子在数组中的位置 let mtxPosX, mtxPosY; // 和每一条线进行比较,如果相差10个像素以内,即,靠近 for(let x = 0; x < 19; x++){ if(Math.abs(event.offsetX - (10 + x * 20)) < 10){ // 获得需要骡子的x arcPosX = 10 + x * 20; mtxPosX = x; } if(Math.abs(event.offsetY - (10 + x * 20)) < 10){ // 获得需要的y arcPosY = 10 + x * 20; mtxPosY = x; } } // 画出棋子 // 落子为空,进行绘制,反之不绘制 if(matrix[mtxPosX][mtxPosY] == 0) { context.beginPath(); if (blorwh) { context.fillStyle = "white"; context.arc(arcPosX, arcPosY, 10, 0, Math.PI * 2, false); context.stroke(); // 白子为1 matrix[mtxPosX][mtxPosY] = 1; } else { context.fillStyle = "black"; context.arc(arcPosX, arcPosY, 10, 0, Math.PI * 2, false); // 黑子为2 matrix[mtxPosX][mtxPosY] = 2; } context.fill(); } // 获胜检测 if(matrix[mtxPosX - 1][mtxPosY] == matrix[mtxPosX][mtxPosY] && matrix[mtxPosX - 2][mtxPosY] == matrix[mtxPosX][mtxPosY] && matrix[mtxPosX -3][mtxPosY] == matrix[mtxPosX][mtxPosY] && matrix[mtxPosY - 4][mtxPosY] == matrix[mtxPosX][mtxPosY]){ if(matrix[mtxPosX][mtxPosY] == 1){ alert("白方获胜"); }else{ alert("黑方获胜"); } } }) </script>
アイデア
バックギャモンを保存する配列を作成する場所だけです。
トラバースすることで勝敗を判断できます。
繰り返しチェスを配置する場合は、保存した配列の位置にすでにチェスの駒があるかどうかを判断するだけです。
クロスラインとその近傍の点に落ちているかどうかを判断します。差が一定値未満の場合、チェス配置が行われます。
以上がCanvas を使用してバックギャモン ゲームを実装するコード例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

H5とHTML5は異なる概念です。HTML5は、新しい要素とAPIを含むHTMLのバージョンです。 H5は、HTML5に基づくモバイルアプリケーション開発フレームワークです。 HTML5はブラウザを介してコードを解析およびレンダリングしますが、H5アプリケーションはコンテナを実行し、JavaScriptを介してネイティブコードと対話する必要があります。

HTML5の重要な要素には、最新のWebページの構築に使用される、、,,,,などが含まれます。 1.ヘッドコンテンツを定義します。2。リンクをナビゲートするために使用されます。3。独立した記事のコンテンツを表します。4。ページコンテンツを整理します。5。サイドバーコンテンツを表示します。

HTML5とHTML5の略語であるHTML5とH5の間に違いはありません。 1.HTML5はHTMLの5番目のバージョンであり、Webページのマルチメディア関数とインタラクティブ機能を強化します。 2.H5は、HTML5ベースのモバイルWebページまたはアプリケーションを参照するためによく使用され、さまざまなモバイルデバイスに適しています。

HTML5は、W3Cによって標準化されたHyperText Markup言語の最新バージョンです。 HTML5は、新しいセマンティックタグ、マルチメディアサポート、フォームの強化、Web構造の改善、ユーザーエクスペリエンス、SEO効果を導入します。 HTML5は、Webページ構造をより明確にし、SEO効果をより良くするために、、、、、、などの新しいセマンティックタグを導入します。 HTML5はマルチメディア要素をサポートしており、サードパーティのプラグインは不要で、ユーザーエクスペリエンスと読み込み速度が向上します。 HTML5はフォーム関数を強化し、ユーザーエクスペリエンスを向上させ、フォーム検証効率を向上させるなどの新しい入力タイプを導入します。

クリーンで効率的なHTML5コードを書き込む方法は?答えは、タグのセマンティック、構造化されたコード、パフォーマンスの最適化、一般的な間違いを回避することにより、一般的な間違いを避けることです。 1.コードの読みやすさとSEO効果を改善するには、セマンティックタグなどを使用します。 2。適切なインデントとコメントを使用して、コードを構造化して読みやすいままにします。 3.不必要なタグを減らし、CDNを使用してコードを圧縮することにより、パフォーマンスを最適化します。 4.タグが閉じていないなどの一般的な間違いを避け、コードの有効性を確認してください。

H5は、マルチメディアサポート、オフラインストレージ、パフォーマンスの最適化により、Webユーザーエクスペリエンスを向上させます。 1)マルチメディアサポート:H5と要素は、開発を簡素化し、ユーザーエクスペリエンスを向上させます。 2)オフラインストレージ:WebStorageとIndexEdDBは、エクスペリエンスを改善するためにオフラインで使用できるようにします。 3)パフォーマンスの最適化:ウェブワーカーと要素は、パフォーマンスを最適化して帯域幅の消費を削減します。

HTML5コードは、タグ、要素、属性で構成されています。1。タグはコンテンツタイプを定義し、などの角度ブラケットに囲まれています。 2。要素は、startタグ、内容、および内容などのエンドタグで構成されています。 3。属性は、開始タグのキー値のペアを定義し、ような関数を強化します。これらは、Web構造を構築するための基本ユニットです。

HTML5は、最新のWebページを構築するための重要なテクノロジーであり、多くの新しい要素と機能を提供します。 1。HTML5は、Webページの構造とSEOを強化するなどのセマンティック要素を導入します。 2。プラグインなしのマルチメディア要素と埋め込みメディアをサポートします。 3.フォームは、新しい入力タイプと検証プロパティを強化し、検証プロセスを簡素化します。 4.オフラインおよびローカルストレージ機能を提供して、Webページのパフォーマンスとユーザーエクスペリエンスを向上させます。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

WebStorm Mac版
便利なJavaScript開発ツール

メモ帳++7.3.1
使いやすく無料のコードエディター

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

ホットトピック









