#集合 #Looooooop! 2017/10/19 廖惠平
##Out Lines - 快速複習 - 集合型別 - 迴圈 - 流程控制 - 實作練習
#快速複習
##快速複習 - 真值表 - 邏輯判斷與流程控制 - 亂數 - 課後練習
#集合型別
##集合 - 一堆東西 - 一群東西 - 範圍內的東西
##集合型別 - List - Dictionary - Queue - SortedList - Stack - 還有很多很多
##List - 表示可以依照索引存取的強類型物件清單。 - 提供搜尋、排序和管理清單的方法。 - 實作ICollection、IEnumerable及IList等介面 - [MSDN List](https://msdn.microsoft.com/zh-tw/library/6sh2ey19.aspx)
##List屬性 - List變數名稱.屬性名稱 - Capacity: 可存放的數量 - Count: 目前的數量 - Item[Index]: 指定位置上的物件
##List常用方法 - List變數名稱.方法名稱(參數1, 參數2, 參數3, ...); - Add(object): 將物件放入List中 - Clear(): 將所有物件從List中清除 - Sort(): 使用預設排序 - ToArray(): 複製成新的陣列

List屬性


List<int> myList = new List<int>();

myList.Add(0);
myList.Add(2);
myList.Add(1);
Console.WriteLine("數量: {0},容量: {1}", myList.Count, myList.Capacity);
Console.WriteLine("1: {0}, 2: {1}, 3: {2}", myList[0], myList[1], myList[2]);

myList.Sort();
Console.WriteLine("1: {0}, 2: {1}, 3: {2}", myList[0], myList[1], myList[2]);

myList.Clear();
Console.WriteLine("數量: {0},容量: {1}", myList.Count, myList.Capacity);
					
#迴圈
##迴圈 - 重複 - 重複 - 重複 - 重複 - 直到是芥末日
##迴圈 - 不要複製貼上 - 指定繼續執行的條件 - while, for, foreach

While


while(條件)
{
	//會重複執行的部分
}
//重複完後執行的部分
					
##While ``` List<int> myList = new List<int>() {2,3,4,2,4}; int currentIndex = 0; while(currentIndex != 3) { Console.WriteLine(myList[currentIndex]); currentIndex += 1; } Console.WriteLine("做完三個了!"); ```

For


for(迴圈之前; 條件; 重複執行的最後一個動作)
{
	//重複執行的動作
}
//重複完後執行的部分
					

相當於...


//迴圈之前
while(條件)
{
	//重複執行的動作
	//重複執行的最後一個動作
}
//重複完後執行的部分
					
##For ``` List<int> myList = new List<int>() {2,3,4,2,4}; for(int i = 0; i != 3; i += 1) { Console.WriteLine(myList[i]); } Console.WriteLine("做完三個了!"); ```

Foreach


foreach(var 變數名稱 in 集合變數名稱)
{
	//重複執行的動作
}
					

相當於...


while(還沒窮舉完集合)
{
	var 變數名稱 = 集合變數名稱[目前的index];
	//重複執行的動作
}
					
##Foreach ``` List<int> myList = new List<int>() {2,3,4,2,4}; foreach(var number in myList) { Console.WriteLine(number); } Console.WriteLine("全部顯示完了!"); ```
#流程控制
##流程控制 - 開始寫之前先規劃好 - 確認邏輯 - 善用條件判斷 - 小心巢狀結構
#實作練習
##打怪獸 - 每隻怪獸有10滴血 - 總共有5隻怪獸 - 玩家每次可選擇2隻攻擊 - 每次攻擊怪獸減少1滴血 - 擊敗所有怪獸後結束遊戲 - 所有輸入要做防呆