本篇將會介紹關於打磚塊上細節的問題,首先我們在先前有知道了如何判斷一個打磚塊遊戲讓他可以自己執行並且過關,但是我們如果是要藉由學習,除了要有足夠的樣本數之外,也要有相關的執行參數,才可以達到打磚塊自己直接並且透過學習過關的功能。
在這裡將會介紹這個關鍵的判斷行動到底要怎麼寫出來呢?
Ballget_NOWway = np.array(Ballposition)[:,0][:,np.newaxis]
Ballget_NOWway_next = Ballget_NOWway[1:,:]
vx = ( Ballget_NOWway_next - Ballget_NOWway[0:len(Ballget_NOWway_next),0][:,np.newaxis])
Ballget_NOWway_Y = np.array(Ballposition)[:,1][:,np.newaxis]
Ballget_NOWway_Y_next = Ballget_NOWway_Y[1:,:]
vy = (Ballget_NOWway_Y_next - Ballget_NOWway_Y[0:len(Ballget_NOWway_Y_next),0][:,np.newaxis])
以上那些程式碼是將一顆球的軌跡算出來,再利用球的移動過程來判斷板子是否要往哪邊移動,經過多種檔案的參數在加以分析過後就會讓程式非常的穩定,不過要特別注意,計算只是個小事情,問題是如果一開始接受到進來的檔案如果是有問題的,那這樣學習起來不一定會讓自己的關卡過關,所以再放入資料時一定要注意這份資料是不是真的過關的資料,不然分析了一堆結果資料不是過關的,他訓練起來就不一定會過得。
以上為不專業的AI介紹,謝謝大家,那我們下篇見~~~~~