プログラミング JavaScript,jQuery,PHP,PHPポケモン,ポケモン PHPポケモン「バトルシステム編 〜バトル終了判定〜」28 バトル終了判定 今回はバトル終了判定を実装しましょう。今までは「にげる」による戦闘離脱のみで、ひんし状態でも殴り合うことが出来たので、それを解消するためにも戦闘結果による判定を導入します。 ひんし状態の監視 まずは「ひんし」の監視です。現在は交代ポケモンどちらか一方がひんし状態になれば、そ...
プログラミング 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ポケモン,ポケモン config実装編(ドット記法・多次元配列) PHPポケモン 71 configファイルの作成 プログラミングでは設定値というものを使うことが良くあります。量が多い場合はデータベースへ格納して管理する場合も多いですが、わざわざテーブルを用意してまで格納するほどのものでなければ、ファイルに配列として定義してアクセスできる方が便利です。フレームワークではこれらをconfigフ...
プログラミング PHP,PHPポケモン,オブジェクト指向,ポケモン ピカチュウから学ぶオブジェクト指向 〜クラス継承編〜 2 ピカチュウから学ぶオブジェクト指向の第2弾はオブジェクトの継承についてです。 前回作成したピカチュウクラスを使用するので、もし基礎的な内容を学習したい人は、以下の記事を参考にしてください。 オブジェクトの継承が理解できれば、複雑で規模の大きなシステムを構築することができるようになり...
ライティング ブロガー,ブログ 簡単に良質なブログ記事を量産する3箇条【ネタがないとは言わせない】 ブログの毎日のテーマ決めが大変・・・ そもそも良質な記事をどうやって書けるようになるのかわからない こんな悩みを抱えていませんか? 始めたばかりで伸び悩んでいる人には多いのではないでしょうか。 今回はブログで収益化や、アクセス数を伸ばそうと考えている人へ向けて「簡単に良質なブログ...
プログラミング PHP,PHPポケモン,ポケモン 戦闘不能による交代編 PHPポケモン84 戦闘不能による交代 ポケモンが戦闘不能になった際、もし手持ちに戦える状態のポケモンが残っていれば「交代」か「逃げる」の2択になります。今までは手持ちポケモンが1匹のみで判定を行っていたので、今回は交代の選択肢も含めて勝負の判定の見直しをしていきます。 パーティーを含めた勝負判定 味方または...
ネットワーク amazon,Paypal,Xserver,スパム,三井住友,楽天,迷惑メール これってスパム?amazon・paypalを装う悪質メールの対処方法とは 定期更新、役立つコラムのコーナー! 今回の注目したのは「迷惑(悪質)メールについて」です。 以前はamazonや楽天を名乗る業者から届いた迷惑メールについて紹介、その対処方法について取り上げましたが、今回は更にレベルアップしたスパムがいくつか届いたので、それらも紹介がてら、騙されないため...
プログラミング PHP,PHPポケモン,ポケモン トレーナー戦編 バトルシステムへの追加 PHPポケモン 98 トレーナー戦闘の追加 前回トレーナー情報を作成したので、今回はその情報をバトルシステムへ組み込んでいきます。 現在、野生ポケモンとの戦闘では「battle」という値actionの値で受け取っています。同じサービス内で分岐を作ると複雑になってしまうので、battle_trainerという新しい分岐を使ってサービス分けをし...
雑記 アウトプット,インプット,ニュース 手っ取り早く情報強者になる簡単な方法 ニュースや情報番組、討論番組をみると、出演者の方々の情報量の多さに圧倒されることがあります。 また、ユニークな考え方に共感を得る人も多いでしょう。 どうやって、情報を仕入れているのか? なぜそんなことまで知っているのか? メディアで取り上げられているような人や、活躍している人の多く...
プログラミング PHP,PHPポケモン,ポケモン レポート(試験)編 PHPポケモン 94 今回の内容は、あくまで試験的なものとなります。実際にそのままの仕組みで導入するかは未定です。 ※セーブ機能の実装自体は予定しております また、今回はセーブするための仕組みの部分にのみにフォーカスを当てています。非公開ディレクトリやパーミッション等による最低限の対応は施していますが、試験的にア...