プログラミング JavaScript,jQuery,PHP,PHPポケモン,ポケモン PHPポケモン「アクション制御編」27 今回のPHPポケモンでは主に画面の作り込みをしていきます。 とは言っても、ガッチリCSSを書いてよりゲームらしい見た目にするわけではなく、あくまで「ゲームシステムを再現するため」だけに整えていくのが目的です。 ということで、今回はPHPよりもBootstrapさんとjQueryさんに活躍してもらいます。 ...
プログラミング PHP,PHPポケモン,ポケモン PHPポケモン「バトルシステム編〜HP計算〜」26 HP計算 これまでに実装したダメージ計算ですが、計算はできていてもお互いに相手ポケモンのHPを削ることはできませんでした。なので、今回は実際のバトルのように、HPに対してダメージを与えるという仕組みを作成していきます。 残りHP ここで必要になるのが「残りHP」という概念です。今までステータス上のHP...
プログラミング 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という荒業で対応していましたが、フシギダネ系列の技を実装した際に「こんなん全部読み込んでられるか!」と流石になったので、簡易ながらオートローダーを実装していきます。 そして、実装したらしたで色々と問題も浮かび上がってきたので、このあたりは回を進めて行きなが...
プログラミング JavaScript,jQuery,PHP,PHPポケモン,ポケモン PHPポケモン「アクション制御編」27 今回のPHPポケモンでは主に画面の作り込みをしていきます。 とは言っても、ガッチリCSSを書いてよりゲームらしい見た目にするわけではなく、あくまで「ゲームシステムを再現するため」だけに整えていくのが目的です。 ということで、今回はPHPよりもBootstrapさんとjQueryさんに活躍してもらいます。 ...
プログラミング HTML,PHP,プログラミング学習 【変数とは】初心者が最短でPHPを使えるようになるための実践的な学び方 ※PHP初心者へ向けた内容となりますので、ある程度HTMLの知識がある方を対象とした内容になります。予めご了承ください。 Webプログラミングを学ぶ方はHTML、そしてCSSを学び、そしてJavascriptやPHPという順に学んでいくひとが多いでしょう。 私も実際に、似たような手順で学んでいきました。 ...
プログラミング PHP,PHPポケモン,ポケモン PHPポケモン「コントローラー編」〜POSTとSESSIONの活用〜 10 今回のPHPポケモンでは、今まで作った機能用のコントローラーになるインターフェースを作成します。ポケモンやメソッドを選択できるようにして、よりゲーム性の高いアプリケーションを実装しましょう。 第1回から学習したい方はコチラ コントローラーの実装 それでは実装したアクション...
プログラミング PHP,PHPポケモン,ポケモン 放物線アニメーション編 PHPポケモン 81 ボールアニメーション 前回までに作成した捕獲判定処理を使って、ボールのアニメーションを作成します。 捕獲演出は以下の通りです。 味方側から相手に向かってボールを投げる 相手ポケモンの前でボールを開く 捕獲判定で算出した揺れ回数分ボールを揺らす 捕まえた際は、ボールの揺れをストップ...
プログラミング Laravel,PHP 【Laravel】1対1リレーションをわかりやすく解説(belongsTo) Laravelの1対1リレーションのbelongsToについて、公式マニュアルでは専用単語ばかりでどうしてもわかりにくいと感じてしまっている方へ向けて、わかりやすく解説しました。 ※例で紹介しているコードについては、一部英語を日本語表記で使用している部分もありますので、コピペで使用する方は必要に応じて置き換え...
プログラミング PHP,PHPポケモン,ポケモン ポケモンセンター編 PHPポケモン 37 ポケモンセンター バトルシステムを作る関係上、どうしてもダメージを受けることが多くなってきたので、そろそろポケモンセンターを建設(作成)します。 とは言っても、ポケモンセンターに行って交換やらボックス整理などができるわけではなく、ただ回復ポイントを設置するだけの簡単な処理です。 HPの回復 ...
プログラミング artisan,Laravel,Linux,PHP,Trait Laravel7系でTraitのmakeコマンドを作成する方法 Laravel7がリリースされて、さっそくそれを使った開発の機会がやってきましたので、使用頻度の高いものをまとめていきたいと思います。 5系や6系の情報は多く出回っていますが、6系がLTSということもあって7系の情報は少なめですね。 今回は「Laravel7系でTraitのmakeコマンドを作成する方法」をご紹介します...
プログラミング PHP,PHPポケモン,ポケモン へんしん編 PHPポケモン 74 へんしんとは 今回はサムネイルに合わせて、特別技の1つ「へんしん」を実装します。 へんしん https://wiki.ポケモン.com/wiki/へんしん へんしんを使うことで、相手ポケモンをコピーすることができますが、その全てをコピーするわけではありません。コピーできる項目とそうでない項目は以下の通りで...