第6講 ゲーム基礎その2
第5話 銃社員(jyu関数)開発の考え方
もし、シューティングゲームにおいてスペースキーを押すと弾が出るとして、
if (CheckHitKey(KEY_INPUT_SPACE) != 0){・・・
だと、Space(スペース)を押している間、弾の連射になっていまいます。
もちろん、ゲームによっては連射機能があった方が面白い場合もあるでしょう。
しかし、単発の弾が出るようにもしたいものです。
ゲームの秘密の道具箱であるDXライブラリにあれば、
借りてくるのですが、残念ながらさすがの秘密の道具箱にもなかったのですね。

そこで、自作するわけですが、考え方を説明しておきましょう。
対象としているキーを直前には指を離していて、
今キーを押したときのみに、
キーが押されたと判定する社員(関数)をjyu社員(銃社員)と名付けます。
銃関数のコードは5行程度と短いのですが、
初心者にはかなり、むずかしいプログラムになります。

流れ図にすると、
002

対象となるキーが今押されている?→はい→直前には押されていた?→いいえ→キーが押されたと判定
対象となるキーが今押されている?→はい→直前には押されていた?→はい→キーが押されていないと判定
対象となるキーが今押されている?→いいえ→キーが押されていないと判定

キーボードにはキーがたくさんあるわけです。
どのキーについても判定できる関数(社員)の開発が問われるわけです。
どんな場合にもいずれの場合にも通用することを、
汎用性(はんようせい)がある、
普遍性(ふへんせい)がある、
といいます。
Zキーについての判定しかできない社員では、
優秀な社員とはいえません。
1つのことしかできない場合を個別的であると言います。

世界で一番強い囲碁棋士をやぶったアルファ碁を、
マスコミはAIと呼んでいますが、
これは間違いです。
研究者が言うAIとは、個別囲碁しかできない人工知能ではなく、
掃除でも車の運転でもショッピングでも何でもできる人工知能です。
ですから、本来のAIは現時点では開発はできていないわけです。
汎用的(普遍的)な人工知能ができたときに、はじめてAIが開発できたというわけです。

皆さん、AIの正体って何だと思います。
正解は、ただのコンピュータプログラムです。
ですから、皆さん今勉強しているプログラミングの学習を進めていけば、
皆さんもAIを開発できるようになるわけです。
AIとはだたのアプリ(ソフト)に過ぎないと言うことを覚えておいてください。

汎用的な銃社員を開発するためには、
引数を利用します。
一度基礎に戻って、引数を用いると汎用的なものができることを確認してみましょう。



第4話へ  第6話へ

002

初心者のための excel 2016 マクロ VBA 入門講義 基礎から応用まで
vc++ c言語 c++ 入門 初心者 基礎から応用まで
eclipse c++ 入門
魔方陣 数独で学ぶ VBA 入門

数独のシンプルな解き方・簡単な解法の研究
VB講義へ
VB講義基礎へ
初心者のための世界で一番わかりやすいVisual C++入門基礎講座
初心者のための世界で一番わかりやすいVisual Basic入門基礎講座
初心者のための世界で一番わかりやすいVBA入門講義(基礎から応用まで)
初心者のための VC++による C言語 C++ 入門 基礎から応用まで第1部
eclipse java 入門
java 入門 サイト 基礎から応用まで
本サイトトップへ