プログラミング PHP,PHPポケモン,ポケモン ポケモン預かりシステム編 システムの実装 PHPポケモン 87 ポケモン預かりシステムの実装 システムの仕様とクラスも整ってきたので、いざ実装をしていきましょう。 前回までに作成した項目で、いくつか変更になったものがあるので、まずはじめに挙げておきます。 シャットダウン機能 ボックスの選択を解除するというものでしたが、こちらを不採用にしました。ボックスは...
プログラミング PHP,PHPポケモン,ポケモン ポケモン預かりシステム編 ボックスの作成 PHPポケモン 86 ポケモン預かりシステムの実装 今回は、前回ざっくりと仕様決めをした「ポケモン預かりシステム」を実装していきます。ボックス内では操作する項目が多いため、ボックス自体に1つの画面を用意して、できる限りPHPによる制御だけで完結できるように作成していきます。 ボックスクラスの作成 それではまず、今...
プログラミング PHP,PHPポケモン,ポケモン ポケモン預かりシステム編 PHPポケモン 85 ポケモン預かりシステムとは ポケモンは手持ち(パーティー)に6匹しか入れることができません。そのため、ポケモンを捕まえた際にその上限に達していれば、ボックスへ転送するという仕組みをPHPポケモンでも実装していきます。これが、ポケモン預かりシステムです。 今回は前段階であるボックスの仕様決めをメイン...
プログラミング PHP,PHPポケモン,ポケモン 戦闘不能による交代編 PHPポケモン84 戦闘不能による交代 ポケモンが戦闘不能になった際、もし手持ちに戦える状態のポケモンが残っていれば「交代」か「逃げる」の2択になります。今までは手持ちポケモンが1匹のみで判定を行っていたので、今回は交代の選択肢も含めて勝負の判定の見直しをしていきます。 パーティーを含めた勝負判定 味方または...
プログラミング PHP,PHPポケモン,ポケモン ポケモン入れ替え編 PHPポケモン 83 ポケモンの入れ替え 複数ポケモンの所有、そして並び替えの機能が整ったので、いよいよバトルでのポケモン交代機能を実装します。ポケモンがバトル中に交代する方法は大きく分けて以下の4つです。 プレイヤー操作による交代 ひんしによる交代 相手ポケモンの技による交代 味方ポケモンの技による交代 ...
プログラミング PHP,PHPポケモン,ポケモン パーティーの並び替え編 PHPポケモン 82 パーティーの並び替え ポケモンをバトルに選出する際に欠かせないのが「パーティーの並び替え」です。パーティーの先頭(ひんし状態でない)がポケモンでは自動的に選択されるため、戦闘前に並び替えをしておく必要があります。 ゲーム上では簡単に見える処理ですが、これがPHPで行うとなれば少し厄介な問題が出てき...
プログラミング PHP,PHPポケモン,ポケモン 放物線アニメーション編 PHPポケモン 81 ボールアニメーション 前回までに作成した捕獲判定処理を使って、ボールのアニメーションを作成します。 捕獲演出は以下の通りです。 味方側から相手に向かってボールを投げる 相手ポケモンの前でボールを開く 捕獲判定で算出した揺れ回数分ボールを揺らす 捕まえた際は、ボールの揺れをストップ...
プログラミング PHP,PHPポケモン,ポケモン 捕獲処理実装編 PHPポケモン 80 捕獲処理の作成 前回モンスターボールのクラスを作成したので、今回は捕獲判定までの一連の処理を仕上げていきます。サービス自体は他のアイテムと一緒にするためItemServiceを呼び出し、その中で使用されたアイテムを判断して分岐を作ります。 バトル中のアイテムサービス(/App/Services/Battle/ItemService.ph...
プログラミング PHP,PHPポケモン,ポケモン モンスターボール作成編 PHPポケモン 79 モンスターボールとは ポケモンのゲームにとっての楽しみの1つである「バトル」はある程度実装できてきましたが、もう一つ無くてはならない楽しみがあります。それが「ポケモンを集める」というコレクター要素です。 そして、ポケモンを捕まえるために欠かせない道具の1つが「モンスターボール」です。 モンス...
プログラミング PHP,PHPポケモン,ポケモン プレイヤーのグローバル化編 PHPポケモン 78 2日ほどwiki作成にいそいそと励んでいましたが、開発をお休みしていたわけではありません。追加機能を実装するに辺り、色々と改善点が挙がってきたので、このタイミングでしっかりと見直しをしました。 本格的なシステム開発では、最初に仕様書や設計書が作成され、それに沿って作成していくことになります...
プログラミング PHP,PHPポケモン,ポケモン ポケモンプロパティ編(全国図鑑No・捕捉率・重さ) PHPポケモン 77 PHPポケモン記事も記念すべき第77回を迎えることができ、これもひとえに皆様のお力があってのことです。いろんな方のご協力もあり(ドット絵とかドット絵とかドット絵とか)見た目はかなりゲームらしくなってきました。 しかし、肝心のゲーム要素が本家と比べればまだまだ機能も少なく未実装の項目も多いので、これ...
プログラミング PHP,PHPポケモン,ポケモン フレンドリィショップ編 アイテムの販売 PHPポケモン 76 リュックの作成 前回はフレンドリィショップへ商品を並べ、計算機を作成するところまで作成しました。ですが、商品が購入できたとしても、それを保管しておくためのスペースがなければ意味がありません。 なので、プレイヤー情報に対してアイテムを格納できるように機能拡張をしましょう。 プレイヤークラス(/C...
プログラミング PHP,PHPポケモン,ポケモン 連続の技習得編 オブジェクトをセッションへ格納 PHPポケモン57 セッション経由でのオブジェクト引き継ぎ 技習得の処理が整ってきたので、ここで連続技習得・連続レベルアップ時にも問題なく動作するように作り込んでいきます。ですが、現状のモーダルをレスポンスやメッセージと同様に、そのまま引き継いだとしてもエラーが発生します。 その原因がセッション経由でのオブジェク...
プログラミング PHP,PHPポケモン,ポケモン HPバーアニメーション 後編 フロント側の対応 PHPポケモン 44 HPバーアニメーション それでは前回に続き、HPバーのアニメーションづくりをしていきましょう。前回、メッセージに合わせてレスポンスを返却するというサーバー側の仕組みを作成しました。なので、今回はそれをフロント側で受け取り、タイミングよくアニメーションで再現します。 フロント側(js)の処理 前回...
ネットワーク amazon,Paypal,Xserver,スパム,三井住友,楽天,迷惑メール これってスパム?amazon・paypalを装う悪質メールの対処方法とは 定期更新、役立つコラムのコーナー! 今回の注目したのは「迷惑(悪質)メールについて」です。 以前はamazonや楽天を名乗る業者から届いた迷惑メールについて紹介、その対処方法について取り上げましたが、今回は更にレベルアップしたスパムがいくつか届いたので、それらも紹介がてら、騙されないため...
プログラミング PHP,PHPポケモン,ポケモン PHPポケモン「バトルシステム実装編〜補正値計算・乱数・急所〜」21 バトルシステムの実装 今回は「急所」と「乱数」と「タイプ一致」の判定と補正を実装していきます。 ちなみにですが、ポケモンwikiを熟読したところ、補正値の計算にも順番があり、計算後に小数点の切り捨てや五捨五超入をするなど、そこそこ複雑な計算順序がありましたが、今回はそこまで精密に再現せず、補正値(...
プログラミング PHP,PHPポケモン,ポケモン あばれる編(あばれる・はなびらのまい)PHPポケモン52 あばれる状態とは 技を使うと、しばらくの間その技のみしか使用できなくなる技があります。その状態を「あばれる状態」と言います。 あばれる状態(ポケモンwiki) https://wiki.ポケモン.com/wiki/あばれる_(状態変化) あばれるの効果 2~3ターンの間攻撃し続け、交換したり、他の指示を出すことが出...
ライティング Facebook,Google AdSense,Twitter,ノマドワーク ブログで生活するための7つの道のり 〜収益化と拡散の方法教えます〜 ブログで生活したい 毎日数時間、ブログを書くだけで生きていける、そんな夢のような生活を実現させたいと思い描く人は多いですが、簡単なことでは有りません。 ですが、やらなければいけないことがわかっていれば、収益化するのは簡単です。 今回は「ブログで生活するための7つの道のり」をテ...
プログラミング PHP,PHPポケモン,ポケモン ゆびをふる編 PHPポケモン 69 ゆびをふるとは 今回PHPポケモンで実装する技は「ゆびをふる」です。 ゆびをふる(ポケモンwiki) https://wiki.ポケモン.com/wiki/ゆびをふる 「ゆびをふる大会」というゆびをふるのみを使った大会なども開催されているということもあり、ポケモンの技の中でも初代から長く愛されてきた1つです。で...
プログラミング PHP,PHPポケモン,ポケモン レポート(試験)編 PHPポケモン 94 今回の内容は、あくまで試験的なものとなります。実際にそのままの仕組みで導入するかは未定です。 ※セーブ機能の実装自体は予定しております また、今回はセーブするための仕組みの部分にのみにフォーカスを当てています。非公開ディレクトリやパーミッション等による最低限の対応は施していますが、試験的にア...