プログラミング PHP,PHPポケモン,ポケモン PHPポケモン「行動順判定+敵ポケモン攻撃編」25 行動順の判定 ポケモンの行動順は以下の通りです。 技の優先度 すばやさの実数値(補正有り) 同速の場合は50%の乱数 この順番で比較を行い、先行後攻を決めます。ただし、これは両者ともに攻撃を選択した場合のみです。アイテムの使用や交代は技よりも優先されますし(※一部技を除く)、にげる...
プログラミング PHP,PHPポケモン,ポケモン PHPポケモン「状態異常+逃走編〜ねむり・こおり・やけど・どく〜」24 状態異常の実装 今回は、前回作成した「まひ」を参考に、「ひんし」を除いた残りの状態異常も実装していきます。 クラスの作成 まずはそれぞれのクラスを作成します。前回解除時のメッセージを設定出来ていなかったので、まひと合わせて実装していきましょう。 状態異常:やけど(...
プログラミング PHP,PHPポケモン,ポケモン PHPポケモン「状態異常編〜まひ〜」23 今回のPHPポケモンでは「状態異常」を導入します。バトルシステムにも関係してくる部分ですが、それ以外にも影響を与える部分が多く、且つ非常に判定がややこしく、作り込む必要があったため1つずつ片付けていきます。 状態異常の実装 ポケモンの除隊異常に該当するものは以下の7通りです。 ...
プログラミング PHP,PHPポケモン,ポケモン PHPポケモン「バトルシステム実装編〜ランク補正〜」22 ランク補正とは ポケモンでは通常ステータスとは違い、バトル中にのみ変化するステータスが存在します。初代仕様であれば、「なきごえ」や「かたくなる」といった変化技により「こうげき」や「ぼうぎょ」の強化や弱体化をさせるものです。これはバトル中であれば引き継がれるものですが、交代やバトルが終了すればリ...
プログラミング PHP,PHPポケモン,ポケモン PHPポケモン「バトルシステム実装編〜補正値計算・乱数・急所〜」21 バトルシステムの実装 今回は「急所」と「乱数」と「タイプ一致」の判定と補正を実装していきます。 ちなみにですが、ポケモンwikiを熟読したところ、補正値の計算にも順番があり、計算後に小数点の切り捨てや五捨五超入をするなど、そこそこ複雑な計算順序がありましたが、今回はそこまで精密に再現せず、補正値(...
プログラミング PHP,PHPポケモン,ポケモン PHPポケモン「バトルシステム実装編〜ダメージ計算〜」20 バトルシステムの実装 今回はバトルシステムの中でもメインとなるダメージ計算と、命中判定の部分を実装していきます。 ダメージ計算 ポケモンのダメージ計算は初代から現在までそこまで大きな変化はありません。最新世代ではダメージに関係する要素(アイテム等)が多く、それにより補正値の修正はあります...
プログラミング jQuery,PHP,PHPポケモン,ポケモン PHPポケモン「バトルシステム実装編〜タイプ相性の判定〜」デモ&配布有り 19 システムを組むなら、仕様書や設計書はしっかり作りましょう。 ということで、またまたフォルダ移動やページ分けなどを見えないところでやりました。正直説明すると全く進まなくなりそうなので、改修部分は必要最低限にします。 結論、説明しません。(コード配布するので許してください) そして今...
プログラミング PHP,PHPポケモン,ポケモン PHPポケモン「野生ポケモン遭遇編」18 PHPポケモンが第18回にしていよいよバトルの第一歩、野生ポケモンとの遭遇編に突入です。 新しいコントローラーの作成と、バトル画面の作成、そしてポケモンデータの受け渡しなどを中心にご紹介します。 バトル画面の実装 ポケモンのゲームでも、野生ポケモンが現れるとバトル画面へ移管し...
プログラミング PHP,PHPポケモン,ポケモン PHPポケモン「オートロード編(修正版)」17 おまけ:日本語化 前回実装したオートローダーの使い方が盛大に間違っていたので、今回その間違いの説明をしながら、正しい実装方法をご紹介します。 申し訳ありません。(誠意) オートロードについて(再) 必要なタイミングで必要なファイルをrequireまたはincludeするあれです。 前回spl_autoload_reg...
プログラミング PHP,PHPポケモン,ポケモン PHPポケモン「オートローダー編」16 今までは技やタイプを一括requireという荒業で対応していましたが、フシギダネ系列の技を実装した際に「こんなん全部読み込んでられるか!」と流石になったので、簡易ながらオートローダーを実装していきます。 そして、実装したらしたで色々と問題も浮かび上がってきたので、このあたりは回を進めて行きなが...
プログラミング PHP,PHPポケモン,ポケモン PHPポケモン「タイプ実装編」15 ポケモンのタイプについて 2020年剣盾シリーズでのポケモンでは、全18タイプが実装されています。初代では15タイプ(あく、はがね、フェアリーを除く)からスタートして、たった3つのタイプしか増えていない、と感じる方もいるかも知れませんが、この追加に関してもバトルの歴史を大きく動かしてきたのです...
プログラミング PHP,PHPポケモン,ポケモン PHPポケモン「技クラス実装編」14 前回せっかくBootstrapを使って見た目を整えたにも関わらず、ビューポートの記述が抜けているという凡ミスが発覚したので修正しています。 サーセン。 今回のPHPポケモンでは本格的な技システムを実装していきます。技システムが整えば、皆さん期待のバトルシステムも間近です。セキュリティ面やファイル構成...
プログラミング artisan,Laravel,Linux,PHP,Trait Laravel7系でTraitのmakeコマンドを作成する方法 Laravel7がリリースされて、さっそくそれを使った開発の機会がやってきましたので、使用頻度の高いものをまとめていきたいと思います。 5系や6系の情報は多く出回っていますが、6系がLTSということもあって7系の情報は少なめですね。 今回は「Laravel7系でTraitのmakeコマンドを作成する方法」をご紹介します...
プログラミング Laravel,PHP 【Laravel】1対1リレーションをわかりやすく解説(belongsTo) Laravelの1対1リレーションのbelongsToについて、公式マニュアルでは専用単語ばかりでどうしてもわかりにくいと感じてしまっている方へ向けて、わかりやすく解説しました。 ※例で紹介しているコードについては、一部英語を日本語表記で使用している部分もありますので、コピペで使用する方は必要に応じて置き換え...
プログラミング PHP,PHPポケモン,ポケモン 進化アニメーション 後編 PHPポケモン 60 ポケモンの進化演出 前回に続いて、ポケモンの進化演出を実装していきます。バックエンドの処理はざっと説明をしたので、今回はフロントエンド(JavaScript)側の処理を作成していきましょう。 進化画面は新しく設けたので、こちらにもバトル画面で使っているメッセージ用JSを作成していきます。処理自体はほとん...
プログラミング PHP,PHPポケモン,ポケモン 戦闘不能による交代編 PHPポケモン84 戦闘不能による交代 ポケモンが戦闘不能になった際、もし手持ちに戦える状態のポケモンが残っていれば「交代」か「逃げる」の2択になります。今までは手持ちポケモンが1匹のみで判定を行っていたので、今回は交代の選択肢も含めて勝負の判定の見直しをしていきます。 パーティーを含めた勝負判定 味方または...
プログラミング PHP,PHPポケモン,オブジェクト指向,ポケモン ピカチュウから学ぶオブジェクト指向 〜ステータス導入編〜 6 PHPをピカチュウ(ポケモン)から学ぶ大人気コーナー、第6回目は「ステータス機能の導入編」です。 前回(第5回)で終了段階でのサンプルコードを公開しているので、もし本記事から始める人はぜひそちらを参考にしてください。 ※お詫び 調べたところによると、ポケモンの経験...
雑記 PHP,PHPポケモン,ポケモン PHPポケモン(α)攻略wiki「稼ぎ方特集」 前回に引き続き、連続wiki投稿でPHPポケモン溺愛ユーザーにとっては歓喜の2日間です。 という冗談も踏まえつつ、今回は「稼ぐ」ということについて真面目に考察してみたいと思います。もしリアル世界での「稼ぐ」を目的に来た人は、盛大にブラウザバックしてください。 PHPポケモンにおける「稼ぐ」...
プログラミング PHP,PHPポケモン,ポケモン ポケモンプロパティ編(全国図鑑No・捕捉率・重さ) PHPポケモン 77 PHPポケモン記事も記念すべき第77回を迎えることができ、これもひとえに皆様のお力があってのことです。いろんな方のご協力もあり(ドット絵とかドット絵とかドット絵とか)見た目はかなりゲームらしくなってきました。 しかし、肝心のゲーム要素が本家と比べればまだまだ機能も少なく未実装の項目も多いので、これ...
プログラミング jQuery,PHP,WordPress WordPressのJSファイル読み込みで覚えておきたい便利ワザを2つ紹介します JSファイルを読み込むときに、deferやasyncを付与したい・・・ get_template_directory_uri()をJSファイル内で使用したい・・・ WordPressには便利な関数が沢山用意されていますが、その全てが万能だということはありません。 今回はSEO対策でも必要になるdeferやasyncをスクリプトタグに付与させる...