プログラミング 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ポケモンでは本格的な技システムを実装していきます。技システムが整えば、皆さん期待のバトルシステムも間近です。セキュリティ面やファイル構成...
ネットワーク OSI参照モデル,TCP/IP,ネットワークモデル,プロトコル OSI参照モデルとTCP/IP 〜ネットワークモデルとは〜【第3回 ド素人のためのネットワーク講座】 ド素人のためのネットワーク講座! 栄えある第3回は「ネットワークモデル」についてです。 横文字や英字が多くなってきたり、歴史的経緯が関係してきたりとややこしくなってくる部分ですが、ネットワークを理解するためには押さえておきたいポイントです。 プログラミングやシステムエンジニアとし...
ビジネスモデル 千利休から学ぶビジネスモデルの作り方3ステップ!守破離とは 千利休の利休道歌に以下のような記述があります。 規矩作法 守り尽くして破るとも離るるとても本を忘るな これは武道や芸道など学びの基礎として考えられ、創造過程のベースとして用いられてきました。これはビジネスモデルを作り上げるという観点から見ても非常に重要かつ、失敗する多くの人が疎...
ネットワーク IoT,LAN,WAN,Wi-Fi LANとWANについて【第2回 ド素人のためのネットワーク講座】 YQUALがお送りする、ド素人のためのネットワーク講座。 栄えある第2回は「LANとWANについて」です。 フロントエンジニアや現在プログラミングを学習中の方を中心に、ネットワークについての基礎的理解を深めていくための内容になっています。 ざっくりとした説明で物足りない、または細かく見ていった...
プログラミング PHP,PHPポケモン,オブジェクト指向,ポケモン ピカチュウから学ぶオブジェクト指向 〜レベルシステム導入編〜 3 大人気?シリーズ「ピカチュウから学ぶオブジェクト指向」、今回はレベルシステムの導入編です。 第1回(基礎編)、第2回(クラス継承編)で作成したPokemonとPikachuのクラスを使用するので、最初から学習したい人はぜひご参考ください。 レベルシステムの導入 ポケモンのゲ...
プログラミング PHP,PHPポケモン,ポケモン バトルステータス可視化編 PHPポケモン 70 バトルステータスの可視化 現在のポケモンでは、バトルステータスの現状を可視化できるようになっており、どれぐらいのランク補正がかかっているか、フィールドがどういう状態になっているかがわかるようになっています。 初代、第2世代等では確認できなかった内容ではありますが、システムとしては便利な要素でも...
プログラミング PHP,PHPポケモン,ポケモン モンスターボール作成編 PHPポケモン 79 モンスターボールとは ポケモンのゲームにとっての楽しみの1つである「バトル」はある程度実装できてきましたが、もう一つ無くてはならない楽しみがあります。それが「ポケモンを集める」というコレクター要素です。 そして、ポケモンを捕まえるために欠かせない道具の1つが「モンスターボール」です。 モンス...
プログラミング PHP,PHPポケモン,ポケモン パーティー実装編 トレーナーの作成 PHPポケモン 63 パーティーとは ポケモンでは、ゲーム・アニメ共に最大6匹のパートナーポケモンと旅をすることができます。7匹以上は持ち歩くことができず、ボックスに転送されてしまうという仕組みです。そして、その6匹のパートナーポケモンの構成をパーティーと呼んでいます。 現在のPHPポケモンでは1匹のポケモンしか管理で...
プログラミング PHP,PHPポケモン,ポケモン レベルアップ時のステータス表示編 PHPポケモン 48 ステータスの表示 前回経験値バーのアニメーションとレベルアップ時の動的な変更を実装しましたが、レベルアップ時に表示されるステータスの実装は先送りにしていました。なので今回はそのステータス表示を作成しましょう。 ステータスはメッセージとして返却せずに、小モーダルを起動させるという方法で対応しま...