プログラミング PHP,PHPポケモン,ポケモン 状態異常演出編 PHPポケモン 62 状態異常の演出 今回は「状態異常」にかかった際の動的な変更、演出を実装していきます。 どく状態になれば、メッセージに合わせて「どく」を表記、まひ状態になれば、メッセージに合わせて「まひ」をセットするという単純なものです。 返り値の変更 それではまず、状態異常をセットしてメッセージを生成して...
プログラミング PHP,PHPポケモン,ポケモン グローバル&ヘルパー関数編 PHPポケモン 61 進化や技習得、HPバーや経験値バーの演出ができているのに、なぜ状態異常の演出はされていないの? そう感じている方が少なからずいるはずです。 現段階では、状態異常になっても次の画面に移管しなければ表示されません。これは、PHP側で内部処理は行われているが、メッセージに合わせた動的な変更がされていな...
プログラミング PHP,PHPポケモン,ポケモン 進化アニメーション 後編 PHPポケモン 60 ポケモンの進化演出 前回に続いて、ポケモンの進化演出を実装していきます。バックエンドの処理はざっと説明をしたので、今回はフロントエンド(JavaScript)側の処理を作成していきましょう。 進化画面は新しく設けたので、こちらにもバトル画面で使っているメッセージ用JSを作成していきます。処理自体はほとん...
プログラミング PHP,PHPポケモン,ポケモン 進化アニメーション 前編 PHPポケモン 59 進化アニメーションの実装 今回は後回しにしていた進化アニメーションの作り込みをしていきます。今までもレベルに達すれば進化はしていましたが、その演出はありませんでした。また、ポケモンではBボタンを押すことで進化のキャンセルをすることができます。なので、この辺りも実際のゲームを再現していきましょう。...
プログラミング PHP,PHPポケモン,ポケモン 引き継ぎ考慮のメッセージID重複回避編 PHPポケモン 58 今回のPHPポケモンでは内部の作り込みをしていきます。見た目への反映は無いので、プレイを楽しみにしている人や、ポケモンが好きで毎日チェックしてくれているような人は、ブラウザをバックしてもらって問題ありません。 それでは、前々回辺りから保留にしていた「メッセージIDに重複回避対策」についてです。 &...
プログラミング PHP,PHPポケモン,ポケモン 連続の技習得編 オブジェクトをセッションへ格納 PHPポケモン57 セッション経由でのオブジェクト引き継ぎ 技習得の処理が整ってきたので、ここで連続技習得・連続レベルアップ時にも問題なく動作するように作り込んでいきます。ですが、現状のモーダルをレスポンスやメッセージと同様に、そのまま引き継いだとしてもエラーが発生します。 その原因がセッション経由でのオブジェク...
プログラミング PHP,PHPポケモン,ポケモン 忘れさせる技選択 後編(新しい技を習得) PHPポケモン 56 新しい技を習得 前編に続き、技習得時の処理分岐を作成していきましょう。今回は「新しい技を習得する」です。 前回は覚えようとしている技を諦めるだけだったので、ポケモンのオブジェクトを書き換える必要がありませんでしたね。ですが、新しく覚えようとしている技を既に覚えている技と置き換える場合は、ポケモ...
プログラミング PHP,PHPポケモン,ポケモン 忘れさせる技選択 前編(覚えるのを諦める) PHPポケモン 55 忘れさせる技の選択 PHPポケモンでは技習得時に忘れさせる技の選択が出来ず、古いものから順番に消えていっていました。ですが、これでは主力技として使っているものが、覚えたくもない技に消されてしまうということが起こってしまいます。 実際のゲームでも、技を覚えようとした際に既に最大数の4枠が埋まっていれ...
プログラミング PHP,PHPポケモン,ポケモン バーアニメーションの不具合対応編 PHPポケモン 54 最近は細々した対応が多くて「早く次のステップに進めよ!」と思っている方も多いでしょう。 ご意見ごもっともですが、残っている対応が意外にも追加しなければいけない処理が多く苦戦しているのが実情だったりします。そして、そのおかげか試行回数が多くなり見過ごしていた不具合や修正不備がポロポロ出てきていま...
プログラミング PHP,PHPポケモン,ポケモン HPバー色変更編(アニメーション) PHPポケモン53 HPバーの色変更 残りHPの割合に合わせて色クラスをセットしていましたが、ダメージを受けた際の判定処理(動的は変更)が未実装でしたので、今回はコチラを対応します。 残数(割合)の判定 HPの色判定は、HTMLの描画時とJSによるHP変動時に行います。animateメソッド前や後に行うと変更のズレが生じるため、a...
プログラミング PHP,PHPポケモン,ポケモン あばれる編(あばれる・はなびらのまい)PHPポケモン52 あばれる状態とは 技を使うと、しばらくの間その技のみしか使用できなくなる技があります。その状態を「あばれる状態」と言います。 あばれる状態(ポケモンwiki) https://wiki.ポケモン.com/wiki/あばれる_(状態変化) あばれるの効果 2~3ターンの間攻撃し続け、交換したり、他の指示を出すことが出...
プログラミング PHP,PHPポケモン,ポケモン 壁技編(リフレクター・ひかりのかべ)PHPポケモン 51 壁技とは 前回実装した「しろいきり」と同じく、初代から実装されたフィールド効果技が存在します。それが「壁技」です。 壁(ポケモンwiki) https://wiki.ポケモン.com/wiki/壁 壁とは、バトルにおける場の状態の一種、およびその場を形成するわざの総称。わざとしては第一世代から存在するが、場の状...
雑記 アウトプットのための3つの習慣【3対7を成立させよう】 インプットとアウトプットの比率は3対7がベストだと言われています。 しかし、簡単にできるインプットに比べて、アウトプットは習慣化させておくことが大切です。それができていない人の多くが、膨大に本を読んだり学習に取り組んでも身につかず、趣味のレベルで終わってしまうのです。 今回は、そんな...
プログラミング PHP,PHPポケモン,ポケモン ブラウザで遊べる「PHPポケモン」 PHPポケモン 約1ヶ月半をかけて作り込んできたPHPポケモンですが、ある程度遊べるぐらいのレベルになったので、みなさまにも体験・楽しんでいただけるよう本日(2020年10月12日)より一般公開します。 PHPポケモンへのリンクは本記事の最後に用意しておりますので、プレイする前に注意事項等に目を通し...
プログラミング PHP,PHPポケモン,ポケモン PHPポケモン「行動順判定+敵ポケモン攻撃編」25 行動順の判定 ポケモンの行動順は以下の通りです。 技の優先度 すばやさの実数値(補正有り) 同速の場合は50%の乱数 この順番で比較を行い、先行後攻を決めます。ただし、これは両者ともに攻撃を選択した場合のみです。アイテムの使用や交代は技よりも優先されますし(※一部技を除く)、にげる...
プログラミング foreach,PHP,配列 【配列とは】初心者が最短でPHPを使えるようになるための実践的な学び方 初心者の方、今からプログラミングを始める方、HTMLとCSSの領域から抜け出せない人たちを対象にした、PHPをできるだけ使えるようになるための方法を紹介するコーナー。 栄えある第二回は【配列編】です。 第一回を飛ばしてこのページへに来てしまい「変数って何?」というレベルの人は、第一回の【変数編...
プログラミング PHP,PHPポケモン,ポケモン PHPポケモン「バトルシステム編〜努力値の獲得〜」33 努力値の実装 今回はポケモンのやりこみ要素の一つ、努力値システムを導入します。既に努力値の項目は「ピカチュウで学ぶオブジェクト指向」の段階で実装し、ステータス計算にも判定済みですが、肝心な「努力値を獲得する仕組み」自体は出来ていませんでした。なので、バトルシステムも終盤となったこのタイミングで...
プログラミング JavaScript,jQuery,PHP,PHPポケモン,ポケモン PHPポケモン「バトルシステム編 〜バトル終了判定〜」28 バトル終了判定 今回はバトル終了判定を実装しましょう。今までは「にげる」による戦闘離脱のみで、ひんし状態でも殴り合うことが出来たので、それを解消するためにも戦闘結果による判定を導入します。 ひんし状態の監視 まずは「ひんし」の監視です。現在は交代ポケモンどちらか一方がひんし状態になれば、そ...
プログラミング PHP,PHPポケモン,ポケモン PHPポケモン「オートロード編(修正版)」17 おまけ:日本語化 前回実装したオートローダーの使い方が盛大に間違っていたので、今回その間違いの説明をしながら、正しい実装方法をご紹介します。 申し訳ありません。(誠意) オートロードについて(再) 必要なタイミングで必要なファイルをrequireまたはincludeするあれです。 前回spl_autoload_reg...
プログラミング jQuery,プログラミング学習,初心者 たった10分!?読むだけでプログラミングが上達する3原則 プログラミングがなかなか身につかない 学習をしているけど、自分で書くとなれば思うようにいかなかったり、覚えたはずなのにその使い方や応用方法がわからない人のほとんどが、作り方そのものが間違っている傾向にあります。 今回は、プログラミング初学者や、なかなかスキルアップができない人...