第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#
を学ぶ方がおおいというわけなんだよ」
新規登録で充実の読書を
- マイページ
- 読書の状況から作品を自動で分類して簡単に管理できる
- 小説の未読話数がひと目でわかり前回の続きから読める
- フォローしたユーザーの活動を追える
- 通知
- 小説の更新や作者の新作の情報を受け取れる
- 閲覧履歴
- 以前読んだ小説が一覧で見つけやすい
アカウントをお持ちの方はログイン
ビューワー設定
文字サイズ
背景色
フォント
組み方向
機能をオンにすると、画面の下部をタップする度に自動的にスクロールして読み進められます。
応援すると応援コメントも書けます