にしのクエスト2

情報処理技術者試験と資格学校講師の日常

20221224103753

Unityで学ぶプログラミング 夏休みC#の基礎(6)変数を使った色々な処理

さてさて、前回の続きですよ。

文字列の結合

こんなプログラムを作ってみましょう。

string a;
string b;
string c;

//aとbに文字列を入れる
a="北海道";
b="札幌市";

//cで文字列の結合
c=a+b;

//表示する
Debug.Log (c);


f:id:koharuwest:20190812230436p:plain


変数の種類を文字列(string)に揃えてあげると、
なんとちゃんと結合までできちゃいます。

変数同士の数字の受け渡し

次に変数同士で数字を受け渡す処理を見ていきます。

 

//箱を作って
int a;
int b;


//aに数字を入れる
a=5;
b=1;

//bにaの数字を受け渡し、計算する。
b=a+b;

//両方を表示してみる
Debug.Log ("aは"+a+"です。bは"+b+"です。");

f:id:koharuwest:20190812230902p:plain

これでわかることは、受け渡されたaの値は変化しないが、
bの値は計算によって、変化することがわかります。

四則演算

四則演算で使用する記号は
加算 +  減算 -  乗算 *  除算 /  

この他にも
剰余 %   べき乗 ^

などがあります。で、次のプログラムと演習をどうぞ。


int a;
int b;
int c;


a=10;
b=2;

//cに計算結果を受け渡し。
c=a/b;

//表示する
Debug.Log (a+"割る"+b+"は"+c+"です");

演習問題

レベル1
割り算のあまりを表示できるようにしてください。
ヒント:剰余 a%b

レベル2
割り算と掛け算の答え両方が表示されるように改良してみてください。
ヒント:int d;

レベル3 レベル2のプログラムを短縮して表現しなさい。
ヒント:3行になる


それでは、この続きは次回に!

Unityで学ぶプログラミング 夏休みC#の基礎(5)変数の利点とルール

さてさて、前回の続きですよ。

なぜに、変数が必要か

この「空き箱」に例えられる変数がなぜに必要
か、プログラムを書くことで証明してみましょ
う。

全体としては、こんな感じになります。
    void Start()
    {
        //箱を作る
        int a;
        int b;
        int c;

        //箱に数値を入れて
        a = 5;
        b = 3;
        c = 0;

        //足し算
        c = a + b;
        Debug.Log(c);

        //引き算
        c = a - b;
        Debug.Log(c);

        //元の数字は
        Debug.Log("元の数字は"+a+"と"+b+"と"+c);
    }

どうでしょうか?

cの役割である計算結果は変化しますが、
aとbの変数の中身は変化しません。

このようにある一定の「状態」や「値」を保
持するのに、空き箱(変数)の存在は大変有
効です。

変数にはルールがありまーす

それでは、次のプログラムを。
aがfloatという小数を入れる箱になってます。
その中に、5.5f(fは小数だよ!という意味)
という値を入れています。

 

//箱を作って

float a;
int b;
float c;


//それぞれの箱に数字を入れます
a=5.5f;
b=3;

//足し算をして

c=a+b;

//表示させます。
Debug.Log(c);


あれれ?うまく行きません。

計算結果が保存されるのがcですね。bは整数型
intですから、計算相手が小数floatの場合は計算
ができないのです。


実は、変数では違う種類の中身を計算したりす
るに工夫が必要になります。

なので、

・なるべく同じ形の箱同士で計算するか。
※これが一番いいです。
例)

float a;
float b;
float c;

a=5.5f;
b=3.0f;

・箱の種類を変換するか 
※キャストっていいます。難しいです。
  同じfloatにしちゃえば問題ないって考え方です。

例)

c=(float)(a+b);

それでは、この続きは次回に!

オタク夫婦放談 週刊にしの はてなやって数年経ちますが、知らなかった機能について

2年以上やってるはずなんですが、知らなかった便
利な機能について書いてみたいと思います。

割と、最近追加されたやつですよね(震え声)

過去の記事を元にして記事を書く

記事の管理のところから

f:id:koharuwest:20190811231542p:plain

書く記事の編集ボタンを押すと、このようなメニュ
ーがあり、「コピーして新しい記事を書く」をクリ
ックしちゃうと・・・

なにい!(石崎くんで読んでくれ)

あらかじめ、テキストエディタでフォーマット作っ
ていちいち、貼り付けていたのに・・・カテゴリと
かもまんまコピーされちゃうので、便利だ。

上書きしたデータを元に戻す

よくやるんですが、これもさっきのメニューから編
集履歴を選んで。

f:id:koharuwest:20190811231904p:plain
なにこれ!前のバージョンに戻せるじゃん!
すっごい便利!記事の上書きやっちゃうんですよね。
(涙声)

投稿する写真を順番で選べるって知ってました?

写真を投稿のところで

f:id:koharuwest:20190811232035p:plain
連続して写真を選べてしまう。
で、この順番で貼り付けることができます。

しかも!

f:id:koharuwest:20190811232151p:plain

ここにチェックを入れてから貼り付けると

f:id:koharuwest:20190721073933p:plain

うちの看板娘ですよ

キャプションが入りますよ。すごい!

知らなかった・・・はてな開発ブログとかみとくべきでした。

いやあ、便利になってますねえ。

Unityで学ぶプログラミング 夏休みC#の基礎(4)変数

さてさて、前回の続きですよ。

新しいプログラムを作成する

まずは、Hierarchiyの中からgame objectを選び

f:id:koharuwest:20190803101122p:plain

右のinspector windowにあるプログラムのチェ

ック(Trainingのすぐ左)を外しておきます。

f:id:koharuwest:20190803101922p:plain


こうすることで、ここまでのプログラムは無効
になりますが(チェックを入れれば元に戻りま
す)新しいプログラムを作成しても、前のプロ
グラムに影響を与えません。

下のproject windowで右クリックし、

f:id:koharuwest:20190803101450p:plain

f:id:koharuwest:20190803101600p:plain

f:id:koharuwest:20190811230335p:plain
最後に、ゲームオブジェクトにアタッチします。

f:id:koharuwest:20190811230421p:plain


この辺の操作は慣れていただけたでしょうか?

今回から、このTraining2を使ってプログラムを
作っていきましょう。

変数とは?

変数とは公式: 型名 変数名; で表されます。

型名は変数の種類を表し、変数名を後ろに指定します。

string(文字列) 

int(整数) 
float(浮動小数点) 
double(倍精度小数点) 
bool(真偽)などがあります。

わかりやすく言えば、int a;

aという名前の整数型という種類の箱を作る!

という意味になるよ。

早速

入力してみましょう。
STARTのところでいいですよ。

 

f:id:koharuwest:20190811231007p:plain


結果は

f:id:koharuwest:20190811231113p:plain



それでは、この続きは次回に!