7
AI 人人人人人人人人 - 人人人人 人人 : 人人人人 人人 :498G0054 人人 : 人人人

AI 人工智慧期末報告 - 坦克遊戲

Embed Size (px)

DESCRIPTION

AI 人工智慧期末報告 - 坦克遊戲. 班級 : 資工四乙 學號 : 498G0054 姓名 : 莊凱向. 遊戲規則. 限時時間內看可以擊倒幾台坦克,擊倒一台會有 100 分,同時也要閃躲 AI 坦克的攻擊, 被擊中遊戲 結束。. AI 介紹. foreach (Tank t in eTanks ) { switch ( t.Direct )//0-- 上 , 1-- 下 , 2-- 左 ,3- - 右 { case 0: // 向上 - PowerPoint PPT Presentation

Citation preview

Page 1: AI 人工智慧期末報告 - 坦克遊戲

AI 人工智慧期末報告 - 坦克遊戲

班級 : 資工四乙學號 :498G0054姓名 : 莊凱向

Page 2: AI 人工智慧期末報告 - 坦克遊戲

遊戲規則

限時時間內看可以擊倒幾台坦克,擊倒一台會有 100 分,同時也要閃躲 AI 坦克的攻擊,

被擊中遊戲結束。

Page 3: AI 人工智慧期末報告 - 坦克遊戲

AI 介紹 foreach (Tank t in eTanks) { switch (t.Direct)//0-- 上 ,1-- 下 ,2-- 左 ,3-- 右 { case 0: // 向上 if (t.Top == 0 || Map[t.Left, t.Top - 1] == 1   @ ||Meet_Tank(t.Left, t.Top - 1))// 遇到牆或坦克 t.newDirect();// 坦克轉向 else t.Top--; break; case 1:   // 向下 if (t.Top==9 ||Map[t.Left, t.Top + 1] == 1 || Meet_Tank(t.Left, t.Top + 1))// 遇到牆或坦克 t.newDirect();// 坦克轉向 else t.Top++; break;

Page 4: AI 人工智慧期末報告 - 坦克遊戲

case 2:// 向左 if (t.Left == 0 || Map[t.Left-1, t.Top] == 1 || Meet_Tank(t.Left-1, t.Top))// 遇到牆或坦克 t.newDirect();// 坦克轉向 else t.Left--; break; case 3:   // 向右 if (t.Left == 9 || Map[t.Left+1, t.Top ] == 1 || Meet_Tank(t.Left+1, t.Top))// 遇到牆或坦克 t.newDirect();// 坦克轉向 else t.Left++; break; }

Page 5: AI 人工智慧期末報告 - 坦克遊戲

for (int i = 0; i < eTanks.Count; i++)// 敵方坦克爆破 if (eTanks[i] != null) { Tank t = (Tank)eTanks[i]; if (TMap[t.Left, t.Top] == -1) { t.Explore(e.Graphics); eTanks.RemoveAt(i); i--; TMap[t.Left, t.Top] = 0; lblX.Text ="("+ t.Left + "," + t.Top + ") 坦克被擊中 "; Score += 100; lblScore.Text = Score.ToString(); } }

Page 6: AI 人工智慧期末報告 - 坦克遊戲

if (TMap[MyTank.Left, MyTank.Top] == -1)// 己方坦克爆破 { MyTank.Explore(e.Graphics); TMap[MyTank.Left, MyTank.Top] = 0; lblX.Text=" 遊戲者你被擊中遊戲結束 "; timer1.Enabled = false;// 遊戲結束 } CheckWin();// 檢查是否勝利 }  

Page 7: AI 人工智慧期末報告 - 坦克遊戲

DEMO