プログラミング 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という荒業で対応していましたが、フシギダネ系列の技を実装した際に「こんなん全部読み込んでられるか!」と流石になったので、簡易ながらオートローダーを実装していきます。 そして、実装したらしたで色々と問題も浮かび上がってきたので、このあたりは回を進めて行きなが...
プログラミング PHP,PHPポケモン,ポケモン プレイヤー情報作成編 PHPポケモン72 プレイヤー情報の作成 少し前よりプレイヤーをホーム画面に表示させるようにしましたが、ただイメージとして配置しただけでプレイヤー情報自体は設定していませんでした。なので、今回はプレイヤーとして持たせる必要のある情報を作成していきましょう。 クラスの作成 初代ポケモンではプレイヤー情報として閲...
SEO対策 PHP,WordPress,プログラミング WordPressで作ったサイトで実装するワンランク上のSEO対策 WordPressでSEOに強いサイトを運営したい 近年、ブログを採用せずともWordPressを使用したサイト作りが増えてきました。 その理由には更新の手軽さはもちろん、優秀なプラグインが揃っていることでSEO対策に強いサイト作りが簡単だということが大きいです。 今回は、WordPressのブログやサイトで役立...
プログラミング PHP,PHPポケモン,ポケモン PHPポケモン「状態異常編〜まひ〜」23 今回のPHPポケモンでは「状態異常」を導入します。バトルシステムにも関係してくる部分ですが、それ以外にも影響を与える部分が多く、且つ非常に判定がややこしく、作り込む必要があったため1つずつ片付けていきます。 状態異常の実装 ポケモンの除隊異常に該当するものは以下の7通りです。 ...
ネットワーク amazon,Paypal,Xserver,スパム,三井住友,楽天,迷惑メール これってスパム?amazon・paypalを装う悪質メールの対処方法とは 定期更新、役立つコラムのコーナー! 今回の注目したのは「迷惑(悪質)メールについて」です。 以前はamazonや楽天を名乗る業者から届いた迷惑メールについて紹介、その対処方法について取り上げましたが、今回は更にレベルアップしたスパムがいくつか届いたので、それらも紹介がてら、騙されないため...
プログラミング PHP,PHPポケモン,ポケモン オブジェクト指向有効活用編 PHPポケモン 93 オブジェクト指向の有効活用 β版に向けたPHPポケモンの構成見直し、今回は「オブジェクト指向」の役割について、より理解を深めつつ、保守性も良くなるように整えていきます。 機能を持たせる 様々なプロパティを定数や静的変数へ以降していますが、今回は「静的メソッド」の活用範囲を増やしていきます。まず...
プログラミング PHP,PHPポケモン,ポケモン 進化アニメーション 前編 PHPポケモン 59 進化アニメーションの実装 今回は後回しにしていた進化アニメーションの作り込みをしていきます。今までもレベルに達すれば進化はしていましたが、その演出はありませんでした。また、ポケモンではBボタンを押すことで進化のキャンセルをすることができます。なので、この辺りも実際のゲームを再現していきましょう。...
プログラミング PHP,PHPポケモン,ポケモン ビジュアル作り込み編(序) PHPポケモン66 ビジュアルの作り込み 最近は内部の作り込みが多かったので、今回のPHPポケモンでは見た目を少しだけ作り込んでいきます。とはいっても、機能自体がそこまで揃っていないため、あくまで仮の見た目となります。 ある程度見た目が整っていると、プレイする側のモチベーションや楽しみも増えると思ったので、こちらは並...
プログラミング jQuery,PHP,WordPress WordPressのJSファイル読み込みで覚えておきたい便利ワザを2つ紹介します JSファイルを読み込むときに、deferやasyncを付与したい・・・ get_template_directory_uri()をJSファイル内で使用したい・・・ WordPressには便利な関数が沢山用意されていますが、その全てが万能だということはありません。 今回はSEO対策でも必要になるdeferやasyncをスクリプトタグに付与させる...