テキスト正誤 p.095の枠内のプログラム
【誤】if("") {
【正】if(string型の変数 != "")
ミニ演習 mini095
・p.095の枠内のプログラムには誤りがありエラーになる ・これを修正して、string型のパブリック変数sが空かどうかを判断するプログラムにしよう
作成例
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class mini095 : MonoBehaviour {
public string s; //パブリック変数
void Start() {
if (s != "") {
Debug.Log("空ではない");
} else {
Debug.Log("空です");
}
}
void Update() {
}
}
ミニ演習 mini095a
・p.091 Chap2_7_3を条件演算子で書き直そう ・「9」をint型のパブリック変数にする ・2のべき乗である場合は「2のべき乗である」と表示しよう ・ただし、プログラム中で「2のべき乗で」は1回のみ用いること
作成例
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class mini095a : MonoBehaviour {
public int n; // パブリック変数
void Start() {
string s = "2のべき乗で"; //連結用の前半文字列
Debug.Log(!Mathf.IsPowerOfTwo(n) ? s + "はない" : s + "ある");
}
void Update() {
}
}
追加演習「ジャンケン」その1 janken1
・int型のパブリック変数handを定義する ・インスペクタに説明「手をどうぞ(0=グー,1=チョキ,2=パー)」をHeader機能で表示する ・handの値に応じて「あなたの手=」に続けて「グー」または「チョキ」または「パー」を表示
作成例
using UnityEngine;
public class janken1 : MonoBehaviour {
[Header("手をどうぞ(0=グー,1=チョキ,2=パー)")]
public int hand;
void Start() {
string s = "あなたの手=";
Debug.Log(s + ((hand == 0) ? "グー" : (hand == 1) ? "チョキ" : "パー"));
}
void Update() {}
}
追加演習「ジャンケン」その2 janken2
・CPU側を作ろう。毎回異なる手を出して欲しいので乱数を使おう ・C#では、System.RandomクラスのインスタンスメソッドNextを呼ぶと乱数が提供される ・このとき、Next(種類数)を指定することで、0から種類数-1までの、どれかの値を返してくれる ・利用例: System.Random r = new System.Random(); //乱数クラスのオブジェクトを生成(後述) Debug.Log(r.Next(10)); //0から9までのどれかが表示される ・この機能を用いて、0から2までの乱数を得て、対応する手を表示するようにしよう ・乱数の値に応じて「わたしの手=」に続けて「グー」または「チョキ」または「パー」を表示
作成例
using UnityEngine;
public class janken2 : MonoBehaviour {
[Header("手をどうぞ(0=グー,1=チョキ,2=パー)")]
public int hand;
void Start() {
System.Random r = new System.Random(); //乱数クラスのオブジェクトを生成
string s = "あなたの手=";
Debug.Log(s + ((hand == 0) ? "グー" : (hand == 1) ? "チョキ" : "パー"));
string c = "わたしの手=";
int cpuh = r.Next(3); //乱数で0,1,2を得る
Debug.Log(c + ((cpuh == 0) ? "グー" : (cpuh == 1) ? "チョキ" : "パー"));
}
void Update() { }
}
提出:追加演習「ジャンケン」その3 janken3
・判定を表示しよう ・例「あなたの勝ち」「わたしの勝ち」「あいこ」 ・ヒント:先に「あいこ」を判断すると楽。判定はORで連結した条件ですると良い ※ 計算式で判定することもできる:(3 + hand - cpuh) % 3 == 2 ならばhandの勝ち