尊敬されるHabraコミュニティに挨拶します。 リリースの日に
「キャンバスとスプライトを使用してゲームを作成する」という記事を読んだ後、Canvasの知識を深めることにしました。 したがって、作業中にこの要素に対処する必要がない限り、APIをすばやく実行する必要がありました。
もちろん、線、長方形、三角形、半円を描くことは非常に楽しい仕事です。 しかし、実際の経験を積むために、タスクが設定されました-機能的でシンプルなものを作成する。
それで、アイデアはあなた自身のゲーム、おなじみのヘビを書くために生まれました。
残念ながら、仕事と休息には非常に時間がかかるため、ゲームは今だけ終了しました。
ゲームのベータ版のデモンストレーションとして使用してください。 誰かが私の仕事を手伝ってくれるかもしれません。 おそらく招待を受けるでしょうが、同時に同僚の批判的または称賛に値する意見に興味を持って耳を傾けます。
行こう!
コードはより便利であるため、jQueryライブラリを使用して記述されています。 すべての変数と関数は、ページ読み込みイベントの後に宣言されます。 変数を列挙し、いくつかのデフォルト設定を設定し、キャンバスのサイズも設定し、ヘビの「体」を決定します。 多次元配列になります。 考えは、ヘビの体は9x9ピクセルの領域を持つセクターのセットであり、各セクターの起源は10の倍数であるということです。視覚的な分離のために、セクターの「右側」は描画されません。
競技場の境界を表示する機能。デフォルト設定が発表された直後に呼び出します。
他の必要な関数が呼び出されるスネーク出力関数。
順番に。 state == true(ゲームのtrue / false状態が開始/一時停止)の場合、関数は一連のアクションを実行します。アクションの説明はコメントに記載されています。
以下は、snake()で呼び出される他のすべての関数です。
簡単に言えば、ウサギの結論(その座標のランダムな値の生成と、ヘビの「体」におけるそのような存在の確認);
与えられた範囲のランダムな値の関数ジェネレーター。
ウサギを「食べる」ことを確認する(「頭」の座標とウサギの座標);
ゲームの終了のアナウンスとデフォルト設定への復帰(新しい開始のため);
「ゲーミング」キーを押すイベントと対応する結果をキャッチします。
ここでプレイでき
ます 。
コメントで健全な批判を聞いてうれしいです。 ご清聴ありがとうございました!