自學wordpress廈門seo公司
我們要知道,人機的移動和玩家的移動方式是一樣的,所以我們可以將玩家移動代碼以及檢測碰撞代碼移過來,唯一不同的就是人機檢測到碰撞后會改變方向繼續(xù)移動而不是停止
所以我們需要一個隨機數(shù)使人機檢測到碰撞后隨機修改方向
?Random rd = new Random();
然后將方向的meiju類型給一個int類型
?enum fangxiang
?{
? ? ?Up=1,
? ? ?Down=2,?
? ? ?Left=3,?
? ? ?Right=4//方便隨機數(shù)設置方向
?}
這樣隨機數(shù)是int類型方便強制類型轉換為枚舉類型
設置一個方向轉換方法
private void gaibianfangxiang()//發(fā)生碰撞改變方向
{
??
? ?fangxiang fx=(fangxiang)rd.Next(1, 5);
? ? if (fx == Fangxiang)
? ? {
? ? ? ? fx = (fangxiang)rd.Next(1, 5);//強制類型轉換
? ? }
? ? Fangxiang = fx;
}
在方法中首先我們定義一個新的方向變量用來存儲改變后的方向
? ?fangxiang fx=(fangxiang)rd.Next(1, 5);//強制類型轉換隨機數(shù)1到5(不包含5)
然后檢測轉換后的方向與原方向是否相等
? if (fx == Fangxiang)
? ? {
? ? ? ? fx = (fangxiang)rd.Next(1, 5);//強制類型轉換
? ? }
? ? Fangxiang = fx;
如果相等就再次調用隨機數(shù),反之就將人機方向轉換為轉換后的方向
將移動固定為true