#真真假假,假假真真 2017/10/12 廖惠平
##Out Lines - 快速複習 - 真值表 - 邏輯判斷與流程控制 - 亂數 - 實作練習
#快速複習
##快速複習 - 型別 - 常數與變數 - 讀取資料 與 Parsing - 四則運算 - string.Format
#真值表
##真值表:And - 交集 - 且 ![And](and.png)
##真值表:And ||True|False| |--|--|--| |True|True|False| |False|False|False|
##真值表:Or - 聯集 - 或 ![Or](or.png)
##真值表:Or ||True|False| |--|--|--| |True|True|True| |False|True|False|
##真值表:Xor - Exclusive Or - 異或、互斥或 ![Xor](xor.png)
##真值表:Xor ||True|False| |--|--|--| |True|False|True| |False|True|False|
##練習 - A=true, B=false, C=true - A And B And C - (A Or B) Xor (B Or C) - (B Xor C) Or (B Xor A)
#邏輯判斷與流程控制
##布林 - bool: Boolean - true - false
##邏輯運算子 - Not: ! - Equal: == - Not Equal: != - And: && - Or: || - Xor: ^

邏輯運算子


Console.WriteLine("{0}", true);
Console.WriteLine("{0}", !true);
Console.WriteLine("{0}", true == true);
Console.WriteLine("{0}", true == flase);
Console.WriteLine("{0}", true != false);
Console.WriteLine("{0}", true && false);
Console.WriteLine("{0}", true || false);
Console.WriteLine("{0}", true ^ false);
Console.WriteLine("{0}", false ^ false);
					
##邏輯運算子 - 大於: > - 大於等於: >= - 小於: < - 小於等於: <= - 等於: ==

邏輯運算子


Console.WriteLine("{0}", 1 == 1);
Console.WriteLine("{0}", 1 != 2);
Console.WriteLine("{0}", 1 < 2);
Console.WriteLine("{0}", 1 <= 1);
Console.WriteLine("{0}", 1 > 2);
Console.WriteLine("{0}", 1 >= 2);
Console.WriteLine("{0}", 1+1 == 2);
Console.WriteLine("{0}", 1+1 > 2);
					

if

如果


if(條件)
{
	//條件為真則會做
}

					

if


bool isGirl = true;
Console.WriteLine("Line1");
if(isGirl)
{
	Console.WriteLine("She is a girl: {0}", isGirl);
}
Console.WriteLine("Line2 or line3?");
					

if、else

如果、其餘


if(條件)
{
	//條件為真則會做
}
else
{
	//其餘的會做
}

if、else


bool isGirl = false;
Console.WriteLine("Line1");
if(isGirl)
{
	Console.WriteLine("She is a girl: {0}", isGirl);
}
else
{
	Console.WriteLine("She isn't a girl: {0}", isGirl);
}
Console.WriteLine("Line2, line3 or line4?");
					

if、else if、else

如果、其餘之中如果、其餘


if(條件一)
{
	//條件一為真則會做
}
else if(條件二)
{
	//條件一不為真但條件二為真則會做
}
...
else
{
	//其餘的
}

if、else if、else


int score = 83;
Console.WriteLine("Line1");
if(score == 100)
{
	Console.WriteLine("Excellent!");
}
else if(score >= 90)
{
	Console.WriteLine("Great!");
}
else if(score >= 70)
{
	Console.WriteLine("Not bad!");
}
else if(score >= 60)
{
	Console.WriteLine("Fine");
}
else
{
	Console.WriteLine("Bad...");
}
Console.WriteLine("The score: {0}", score);
					

練習

執行結果?


bool isBoy = true;
bool isCute = true;
if(isBoy)
{
	if(isCute)
	{
		Console.Write("這麼可愛一定是男孩子!");
	}
	else
	{
		Console.WriteLine("唉呀,是個小正太~");
	}
}
else
{
	if(isCute)
	{
		Console.WriteLine("是ㄌㄌ!");
	}
	else
	{
		Console.WriteLine("成熟性感美麗的大姊姊>/////<");
	}
}
					
#亂數
##什麼是亂數 - 很亂的數字 - 沒有規則 - 真的是這樣嗎?

亂數


Random rd1 = new Random();
Random rd2 = new Random();

Console.WriteLine("First: {0}, {1}, {2}, {3}", rd1.Next(), rd1.Next(), rd1.Next(), rd1.Next());
Console.WriteLine("Second: {0}, {1}, {2}, {3}", rd2.Next(), rd2.Next(), rd2.Next(), rd2.Next());
					
##亂數 - 亂數表 - 亂數種子 - 我的選項沒有這麼多呀! - 使用%運算 - 使用Next()方法多載

亂數


Random rd1 = new Random(Guid.NewGuid().GetHashCode());
Random rd2 = new Random(Guid.NewGuid().GetHashCode());

Console.WriteLine("First: {0}, {1}, {2}, {3}", rd1.Next(), rd1.Next(), rd1.Next(), rd1.Next());
Console.WriteLine("Second: {0}, {1}, {2}, {3}", rd2.Next(), rd2.Next(), rd2.Next(), rd2.Next());

Console.WriteLine("First: {0}, {1}, {2}, {3}", rd1.Next(3), rd1.Next(3), rd1.Next(3), rd1.Next(3));
Console.WriteLine("Second: {0}, {1}, {2}, {3}", rd2.Next(4, 6), rd2.Next(4, 6), rd2.Next(4, 6), rd2.Next(4, 6));
					
#實作練習
##猜拳 - 使用者輸入1, 2, 3代表剪刀、石頭或布 - 電腦隨機出拳 - 顯示電腦出的拳 - 判斷勝負並顯示
#課後練習
##課後練習 - 抽籤 - 擲筊