見出し画像

Unity C#における変数について

その1 変数の種類

UnityのC#における変数の種類は、8種類以上あります。

Int型
Long型
Float型
String型
Bool型
Vector3型
GameObject型
Transform型 など...

別にすべての変数を覚えなくても大丈夫ですが、今回は覚えといた方がいいものを紹介します。

そもそも変数とは、数学でいうxのような役割を担ってくれる存在だと認識した方がいいです。説明するのは難しく、習うより慣れの部分が結構あります。

Int型

Int型は、整数を代入するときに使います。

int x = 100; //Int型を宣言し、xという名前にしている。そして100を代入。

x + 50 = ?? //先ほど宣言したx足す50の計算をさせている。

この場合、 ?? は 150 となります。

xを100としていて、そのxに50を足すのですから、答えは150です。

これは簡単な例ですが、もっと活用した場合だと、

int x = 100;//Int型を宣言し、xという名前にしている。そして100を代入。
int y;    //Int型を宣言し、yという名前にしている。何も代入していない。


x + 50 = y // x足す50の答えはyと定義し、代入している。

x + y = ?? //x足す先ほど代入されたyの計算をしている。

この場合、 ?? は 250 となります。

xを宣言した時に100を代入していて、そこに50を足した数字をyに代入しています。

100(x) + 50 = 150(y)
100(x) + 150(y) = 250(??)ということです。

このように、Int型を組み合わせて計算することも可能です。
これを利用することで、HPを与えられたダメージ分マイナスすることもできます。

int HP = 100;
int Damage;

Damage = 25; //ダメージに25を代入する。

HP - Damage = 75; //ダメージ後のHPは75


クリッカーのタップ数計算

さて、ここからはクリッカーゲームで1番必要なタップされた回数などの
計算をしていきたいと思います。まずはこちらのプログラムをご覧ください

int Money; //Int型を宣言し、Moneyという名前にしている。

if(もしクッキーがクリックされたら) //if文の条件式を使い、
                  //クリックしたらお金が増えるようにしている。
{
  Money += 1;
}

なんと、たったこれだけでもう完成です。
このプログラムにUITextに所持金を表示させたり、
クリックしたときのアニメーションや音を追加するプログラムを書くことで、本格的なクリッカーゲームを完成することができます。
しかし、問題点が出てきます。
クリッカーゲームにはインフレが起こります。
1万...10万...100万...1億...など
膨大な数を使うことが多いです。
しかし、Int型で宣言しているMoneyには代入できる限界の数字というものがあります。
UnityはC#を使ってプログラムをしています。
C#では、Int型のサイズは4バイト。つまり、
最大値は 2147483647
最小値は -2147483648
となります。
よって、Moneyに代入できるのは21億4748万3647までしかできません。
なので21億4748万3647回クリックしたら、バグを起こしてしまうわけです。
それを解決するには、10億を最大所持金数に設定することや、
Int型ではなく、Float型やLong型など、バイトが大きい数を使うことで解決できます。

今日はここまで!

下記の本は細かいこともわかりやすく、初心者におすすめなのでもっと深く知りたい方は是非購入してみてください!


この記事が気に入ったらサポートをしてみませんか?