第3話


ソーラー「ところで


ここにきたみんなは




             🌞C言語について🌞





知っているかな😊?」


マックス「え いや まったく


見たことも聞いたこともないが・・・


それが 何か我々と関係してくるのか?」


solarplexuss「YES! 私もです なんですか?


それ?」


ソーラー「そ、そっか


そのような方は


やはり


C言語の基礎的な部分をこのカクヨムで掲載されている以下の2つの参考書で学んでほしいな


1つ目の小説はこちらです 最初に読むのはこちらですよ

👇


天国にいけるC言語入門 シーズン1 パソコン超初心者がゼロから東方風シューティングをつくる編 最新のVisual Studio2019にも対応しています 

👇アドレスは

https://kakuyomu.jp/works/1177354054881541562

です



2つ目の小説はこちらです 

👇


天国にいけるC言語入門 ヘキサ構造体 (最新のVisual Studio2019にも対応しています) ver1.2001

👇アドレスは

https://kakuyomu.jp/works/1177354054881541503

です



ソーラー「


さすがに


int

とか

for{}文

とか

関数

引数

戻り値

など


が理解できないと


C言語を使ってのゲームプログラミングはちょっと難しいね」


solarplexuss「そ、そんなあ」


ソーラー「


といっても


これらは


すぐに理解できる項目なので


これら2つの参考書を参考にしながら


同時に


本書を読み進めていくことも十分可能かな😊」


solarplexuss「ほっ」


マックス「


intか・・・


そんなことはとうに知っておるわ


安心せい


doubleもしっておるわ


な~はっはっはあ~~~」


solarplexuss「!! いつのまに学んでるんだ」



マックス「変数についても知っているんだぞ~」


solarplexuss「オゥ ノォゥ」



ソーラー「なんだ なら大丈夫かな」


ssolarplexuss「全然、大丈夫でないんですけど」



ソーラー「


まあ


そんなに難しく構える必要はないかな?


実際に


全く何も知らない超初心者の方が


C言語を使って半年ぐらいでゲームプログラミングできるようになるというのも


本当の話です



C言語のほんと基礎的な部分


int

とか

for{}文

とか

関数

引数

戻り値

などが


理解できるだけで


簡単に


C言語を使ってのゲームプログラミングができるようになるんです」


マックス「さっきのプログラムをみたが・・・・


とても


そんな簡単に


C言語を使ってのゲームプログラミングができるようになる見えないが?・・・


C言語を使ってのゲームプログラミングはめちゃくちゃ難しそうではないか?


さすがに


それは無理ではないか?」


ソーラー「いやあ それが


C言語を使ってのゲームプログラミングは


ほんと簡単なんです


前のエピソードでも述べましたが


C言語を使ったゲームプログミングの仕組みを知ることで


C言語を使ったゲームプログミングがいかに簡単で単純かを理解できます


では


C言語を使ったゲームプログミングの仕組みを解説してみようかな😊





まずは次のプログラムをご覧ください

👇

#include <stdio.h>


int main(void)

{

printf("Hello,World\n");


return 0;

}


プログラムの実行結果


Hello,World


C:\Users\solar\source\repos\Project7\Debug\Project7.exe (プロセス 132556) は、コード 0 で終了しました。

このウィンドウを閉じるには、任意のキーを押してください...



マックス「なんなんだ


このプログラムは!?


全く意味が・・・!


意味があぁぁ


あぁっ


あああ


わかるかも・・・


なんだ


コマンドプロンプト画面に


Hello,World


を表示するプログラムか・・・


これなら俺でもわかる」


solarplexuss「ええっ


これがわかるとは


優秀さんなんだね マックス」


マックス「ふはは


そうだろう そうだろう


俺はprofessionalだからな」


ソーラー「そうです


このプログラムは


コマンドプロンプト画面に


Hello,World


を表示するプログラムです



このプログラムの先頭の命令文にご注目ください


#include <stdio.h>//👈ここに注目


int main(void)

{

printf("Hello,World\n");


return 0;

}


プログラムの実行結果


Hello,World



マックス「ヘッダファイル<stdio.h>


をインクルードしているな


そのことにより


printf関数が使えるようになったわけだ」


ソーラー「そうなんです


ヘッダファイル<stdio.h>


をインクルードすることにより


printf関数が使えるようになったわけです


では


もし


printf関数を使わずにコマンドプロンプト画面に


Hello,World


を表示するにはどうしたらよいでしょうか?」


マックス「どうするっていわれてもなあ・・・


全く無理だろう


そんなことができるのか?


C言語で


コンピュータにそんな命令くだせるのか?」


ソーラー「うふふ


実は


printf関数をつかわなくても


C言語を使って


Hello,Worldをコマンドプロンプト画面に表示することができます」


マックス「天国にいけるC言語入門ではそんな方法は習わなかったが・・・」


ソーラー「皆さんが学ばれたのはC言語のほんの一部なんです


C言語は高度な機能をもっており


C言語をつかえばOS(オペレーションシステムというコンピュータに命令を与えるためのプログラム)を記述することも可能なんです


実際にUNIXとよばれるOSはC言語で記述されています」


マックス「ほんとお?


とてもそんな感じに見えないが・・・」


ソーラー「そう見えないのも


まあ 無理ないかな


いままで学んできた内容では


そう思うのも仕方ないかな


C言語で


printf関数をつかわず


Hello,Worldをコマンドプロンプト画面に表示することはできますが


その場合


そのプログラムの記述量は大変長く複雑なものになります


そこで


コマンドプロンプト画面に文字列データを表示することができる


プログラム(printf関数に当たるプログラム)をあらかじめ作製しておいて


保存しておき


Hello,Worldをコマンドプロンプト画面に表示する場合に


その保存したプログラム(printf関数に当たるプログラム)を利用するという方法が考えられました


そうすれば


文字列をコマンドプロンプト画面に表示する場合


ゼロから長くて複雑なプログラムを


そのたびに作製する必要がなくなるというわけです



printf関数

ような便利なプログラムは


C言語標準ライブラリというものにまとめて保存されています


私たちは


C言語標準ライブラリを使うことができるので


C言語標準ライブラリに必要なプログラム(関数)が含まれている場合


もう


ゼロから長くて複雑なプログラムを作製する必要がありません


printf関数をつかえば


とても簡単に


printf("Hello,World\n");


と記述するだけで


Hello,World



コマンドプロンプト画面に表示することができます



ですので


私たちは


printf関数をつかわず


ゼロからプログラムを組んで


Hello,Worldをコマンドプロンプト画面に表示する方法を


学ばなくなったというわけなんです


学ばなくなっても困ることはほぼないんです


重要性の高いプログラムはほとんど作成され


C言語標準ライブラリに


まとめられています


そうだね


アセンブリ言語を知っている人は


C言語を使ったプログラムは


アセンブリ言語を使ったプログラムと


よく似ていることに気づくかな


C言語はアセンブリ言語のように


どんなに細かい命令でも


コンピュータに与えることができるんです


私たちがそれを学んでいないだけなんです」


マックス「まてよ・・・


どんなに細かい命令でも


コンピュータに与えることができる


ということは


キャラクターが動き回っているようなゲーム画面を作りたい場合


それを実行するプログラムも


C言語で


ゼロから記述することができるってことか?」


ソーラー「もちろんです


ですが


ゲームキャラクターをディスプレイ画面に表示するプログラム



ゲームキャラクターを動かすプログラム



ゼロからC言語で記述するのはとてつもなく大変です


実は


ゲームキャラクターをディスプレイ画面に表示するプログラム



ゲームキャラクターを動かすプログラム


などは


ありがたいことに


すでに


誰かによって作成されています😊


それらのプログラムは


ライブラリにまとめられているので


そのライブラリを使えば


簡単に


ゲームキャラクターをディスプレイ画面に表示したり


ゲームキャラクターを動かす


ことができるようになるというわけです


だから


ゲームキャラクターをディスプレイ画面に表示したり


ゲームキャラクターを動かすプログラムを


ゼロからC言語で記述しなくてもいいんだよ」


マックス「そういうことか


もしや・・


C言語標準ライブラリ



ゲームキャラクターをディスプレイ画面に表示するプログラム



ゲームキャラクターを動かすプログラム



すでに


含まれていたりしてな・・・」


ソーラー「おしい


含まれていません


そこで


山田 巧さん

が作ったライブラリ


             🌞DXライブラリ🌞


を用いることになります


DXライブラリ

には

ゲームキャラクターをディスプレイ画面に表示するプログラム



ゲームキャラクターを動かすプログラム

などなど


ゲーム作りに必要な便利なプログラムがたくさん


が含まれています


そこで


DXライブラリ


を用いて


ゲームを作っていくことになるんだよ」


solarplexuss「あ、あの


そんな簡単に


C言語標準ライブラリ以外の


ライブラリを使っていくことができるの?」


ソーラー「もちろんです


自分💖💖で作ったライブラリを


C言語標準ライブラリ



合わせてつかうこともできます



私たちが


自分で作った便利なプログラムを自分でライブラリにまとめておいて


自分で


使いたいときに


そのプログラムを使用するようにすることができます


また


他の方が作られた


便利なプログラムがまとめられているライブラリを


追加することにより


その


他の方が作られた便利なプログラムを


使うこともできます」


solarplexuss「すごいな


じゃあ どんどんどんどん


ライブラリ


を追加していけば


どんどん


プログラミングが


簡単になっていくんじゃないかな?」


ソーラー「そうなんです


C言語以外にも


Java


Python


などの


プログラミング言語


が存在しますが


それらの


プログラミング言語は


非常に優秀なライブラリをもっています


ですので


それらの言語を用いれば


プログラミングが簡単になるため


Java

Python


を使用する方がおおいというわけです


さらに


それらの言語は


現在でも


さらに


ライブラリが拡張され続けているので


どんどん


プログラミングが


簡単になっていっています


とくに


Python



人工知能=AIを作製するときに便利なライブラリを持っているので


人工知能=AIを作製するときに


よく用いられます


最近 人気の言語ですね


つまり


使いたいライブラリ


を持っている言語を


使うという考え方なんだね


プログラミング言語は


それぞれ



独自にライブラリを発展させていて


それぞれが


便利なライブラリをもっているんだよ」


solarplexuss「ははあ


じゃあ


あるプログラミング言語で使用することができるけど


別の


プログラミング言語では使用できない


ライブラリっていうのも


あるってこと?」


ソーラー「そうなんです


例えば


ゲーム作りで用いられる有名なUnityというソフト(ライブラリ)



C#というプログラミング言語でしか


使用することができません


そこで


ゲーム開発をするのに


C#


を学ぶ方がおおいというわけなんだよ」




  • Twitterで共有
  • Facebookで共有
  • はてなブックマークでブックマーク

作者を応援しよう!

ハートをクリックで、簡単に応援の気持ちを伝えられます。(ログインが必要です)

応援したユーザー

応援すると応援コメントも書けます

新規登録で充実の読書を

マイページ
読書の状況から作品を自動で分類して簡単に管理できる
小説の未読話数がひと目でわかり前回の続きから読める
フォローしたユーザーの活動を追える
通知
小説の更新や作者の新作の情報を受け取れる
閲覧履歴
以前読んだ小説が一覧で見つけやすい
新規ユーザー登録無料

アカウントをお持ちの方はログイン

カクヨムで可能な読書体験をくわしく知る