游戏开发中的人工智能 复习
(个人复习,一些仅是给自己的复习提示(=w=),转载注明出处:http://blog.youkuaiyun.com/hcbbt/article/details/42815479)
配套教材:游戏开发中的人工智能
知识点
- 移动
- Bresenham,视线(略),拦截
// Bresenham if (deltaCol > deltaRow) { fraction = deltaRow * 2 - deltaCol; while (nextCol != endCol) { if (fraction >= 0) { nextRow = nextRow + stepRow; fraction = fraction - deltaCol; } nextCol = nextCol + stepCol; fraction = fraction + deltaRow; pathRow[currentStep] = nextRow; pathCol[currentStep] = nextCol; currentStep++; } } else { fraction = deltaCol * 2 - deltaRow; while (nextRow != endRow) { if (fraction >= 0) { nextCol = nextCol + stepCol; fraction = fraction - deltaRow; } nextRow = nextRow + stepRow; fraction = fraction + deltaCol; pathRow[currentStep] = nextRow; pathCol[currentStep] = nextCol; currentStep++; } }
// 拦截,类似视线 void DoIntercept(void) { Vector u, v; Bool left = false; Bool right = false; Vector Vr, Sr, St; Double tc; Vr = Prey.vVelocity - Predator.vVelocity; Sr = Prey.vPosition - Predator.vPosition; tc = Sr.Magnitude() / Vr.Magnitude(); St = Prey.vPosition + (Prey.vVelocity * tc); u &
- Bresenham,视线(略),拦截