ゲーム制作

ゲーム制作に必要なC#をマスターしよう!【変数表示編】

ユウ
ユウ

こんばんにちは、ユウです。

今回はC#で変数を用いてデータの表示をしていきたいと思うよ!

今回の基礎となる文字の出力は、以前の記事を参考にしてくれるとわかりやすいから、初めての人はそちらから読んでね。

ゲーム制作に必要なC#をマスターしよう!【文字の表示編】ゲーム制作で必要になるC#という言語の解説です。今回はその中で文字を表示させるものについてです。プログラミング言語にはおおまかな型があり、1つ身につけると他の型、つまり言語も簡単に身につけることができます。今回は、コメントやメソッドについての解説です。C#が初めてのプログラミングという方でも問題ありません!一緒に勉強していきましょう。...

今回C#を紹介するにあたって、発行元:SB クリエイティブ株式会社 著者:粂井 康孝(くめい やすたか)さんの「猫でもわかるC#プログラミング」を参考に紹介しています。

 

今回の記事で行うこと

・変数の使い方

・変数データの表示

前回の記事では、プログラミングでもっとも簡単な文字の出力を行いました。

これでも立派なプログラムですが、ゲームを作っていくにあたってはまだまだ不十分ですし、あなたももっとプログラマーらしいプログラムを書いていきたいと思いますよね。

そこで今回は変数(variable)というものについて、触れていきましょう!

変数というものは、値を格納する箱のような入れ物というイメージで大丈夫です。

変数について

変数

先ほど変数は箱のような入れ物と言いましたが、それに何を入れるのかによってデータ型(data type)を指定する必要があります。

このデータ型というのは様々な種類があり、整数を入れたい場合や浮動小数点、文字を入れるなどによって変えていかなければなりません。

このデータ型については、後の記事で紹介していくので今回は深く考えなくてよろしいですが大事な物となるので後に出てきた場合はきちんと覚えておくようにしてください。

ここでは、代表的に使われる整数型について説明していきます。

int x;

のように、最初にデータ型(int)、次に変数の名前(x)を書きます。

変数は使用する前に必ず、これから使うという宣言をしてあげなければなりません。

もし、この宣言がなかったらコンピュータが認識する際に「この文字いきなり入ってきたんだけど何?意味わからんのだが( ^ω^)・・・」という感じになってしまうので必ず宣言する必要があります。

ですので、変数を使う際にはこの文字がどのようなデータ型に当てはまるのかを宣言することを忘れないようにしましょう。

他にも宣言の仕方は様々なものがあり、以下のように書くことができます。

int x,y;
int x; int y;

代入

さて、ここで変数の宣言が出来たら次は入れ物中身を入れていきましょう。

この変数に値を入れることを代入(assignment)といいます。変数は次のように入れていきます。

x=1221;

これで変数xには1221という値が入りました。

プログラムにおいて「=」は等しいという意味ではなく、右の値を左の変数などに代入しますという意味だと覚えておいてください。

今回の場合は1221という値を整数型の変数であるxに代入するという意味になっています。

今の段階では「=」が等しい意味であることと、代入するということについて何か違いがあるの?と思う方もいるかもしれませんが、この機能はかなり大事ですので覚えておくようにしましょう!

では、次のような場合はどうでしょうか?

x = 1221;

x = 2020;

最初に1221がxに代入され、その次に2020がxに代入されています。

ここでは、xには何が入っているのでしょうか?

答えは2020です。

変数には最後の処理で入れられた値しか入りません。ですので、xには2020が入っているわけです。

これは非常に重要なことなので必ず覚えておきましょう。

・プログラムにおいて「=」は代入という意味

・変数は最後に代入された値を持つ

データ型には気を付けよう

さて、先ほどはxに1221や2020が代入しましたが、12.21を入れてみましょう。

するとどうでしょうか?コンパイルエラーになったかと思います。

この原因はデータ型と代入する値の型が異なっているところにあります。

1221などは整数ですが、12.21は小数点となりコンピュータ上ではこれらは、データの型が異なっているとみなされます。

最初のうちでコンパイルエラーの原因を考える場合は、データ型を気にしたほうがいいかと思います。

変数のまとめ

変数の宣言では以下のように書くことができます。

int x;
int a,y=2020,myAge;

変数の名前は、アルファベットに限らず自由につけることができます。

この変数名は意味の分かるようなものにしておくと、開発の際にかなりわかりやすくなるので意味を考えて変数名をつけるようにしましょう。

しかし、変数名にも少し決まりがあります。

変数名は数字で始まる名前(2peopleなど)はつけることができません。変数名の最初に来るのは文字だけです。

変数名で使えるもの・・・

✅「_」アンダースコア

✅「a~z,A~Z」アルファベット

✅「あ、イ、宇など」2バイト文字

「え⁉文字も使える?」のと思った方もいるかもしれませんが、使えはしますがあまりお勧めはしません。(日本人だけの開発現場で他の物と確実に分けて考えたい場合などは使ってもいいです。しかし、タイピングなどの問題で嫌がられるかもしれません。)

ですので、変数名はアンダースコアかアルファベットで表されるということを覚えておきましょう。

また、変数名にはキーワード(keyword)が使えません

キーワードとはあらかじめ定められた単語のことで予約語(reserved word)とも呼ばれます。

このキーワードというのはC#ないで特別な意味を持つもので、例えばclass,using,namespaceなどが挙げられます。

C# キーワード一覧

abstract as base bool break byte case catch char checked class const continue desimal default delegate do double else enum event explicit extern false finally fixed float for foreach goto if implicit in int interface internal is lock long  namespace new null object operator out override params private protected public readonly ref return sbyte short sizeof stackalloc static string struct switch this throw true try typeof unit ulong unchecked unsafe ushort using virtual void volatile while

キーワードはかなりの数がありますが、これはほとんど覚える必要はありません。

先ほどもいった通りキーワードはC#内で特別な意味を持つので、C#をやっていくうちに、これは変数名に使えないなということがわかるかと思います。

もし、どうしてもキーワードを変数名にしたいのであれば名前の最初に「@」をつけます。(@classなど)

しかし、これはとても紛らわしくなるのでやめておいたほうがいいかと思います。

私は遊び半分でふざけてクラス名をつけていた際に、これでややこしくなったことがあるので本当にやめておいたほうがいいです(笑)。

変数のデータ表示

変数に代入したデータを表示するには、前回でも行ったConsole.WriteLineを使います。

int age = 20;
Console.Writeline(“私の年齢は”+age+”歳です。”);

とすると、「私の年齢は20歳です。」と表示されます。

これは直感的にもわかるかと思います。

データの表示はこれだけで可能です。

それでは、簡単なプログラムを書いてみましょう。

ここでのConsole.WriteLine(a + “+” + b + “=” + total);では、+に気をつけるようにしましょう。

ここでの”+”は文字の表示として表しており、+はそれぞれを足し合わせているだけです。

ですので、今回のように足し算を表現したい場合などはこんがらがないようにしましょう。

今回はtotalでaとbの合計を代入して管理していますが、もし、totalの役割をなくした場合はどうなるのでしょうか。

このように、Console.WriteLineのなかで計算の処理もできるので覚えておくと便利です。

最後に

今回はC#の変数について紹介してきました。

変数を自由に使えるようになると、プログラムがかなり面白さを増します。

今回は整数型のみを使って行ってきましたが、今後は様々なデータ型を使用していきますが現段階では今回太文字で表示されていた部分のみを覚えておけばいいかと思います。

今回はこれで以上になります。

この記事の続きもすぐに出す予定ではありますので、読んでみてください。

最後まで読んでいただきありがとうございました!

ABOUT ME
ユウ
プログラミング担当です。夜行性大学生やってます。 メンバーの中で一番プログラミングが得意で、将来はBMIという研究をしてALSの患者さんへの医療機器の開発を目標にしています。 無線LAN有線LANより便利。