貪吃蛇:
1.它的移動我們採用頭部加乙個尾巴減乙個
2.我們將view的大小分成很多個格仔
3.蛇的移動是以乙個格仔為單位
/*** created by administrator on 2016/10/11.
*/public class gameview extends view
public gameview(context context, attributeset attrs)
@override
protected void ondraw(canvas canvas)
paint.setcolor(color.red);
//繪畫食物
canvas.drawrect(food.x * size, food.y * size, food.x * size + size, food.y * size + size, paint);
}@override
protected void onmeasure(int widthmeasurespec, int heightmeasurespec)
}private void initdata()
private void createbody()
}public void setorentation(int orentation)
//執行遊戲
private void startgame() catch (exception e)
if(ispause)catch (exception e) finally }}
}}).start();
}private void move() else
point head = body.getfirst();
switch (orentation)
if (!canrun(head))
});return;
}//頭部加1
body.addfirst(currentpoint);
if (currentpoint.equals(food))
});createfood();
} else
}//建立食物
public void createfood()
} while (body.contains(food));
}});
}//判斷是否能繼續遊戲
public boolean canrun(point head)
//執行不能越界
if (head.x
< 0)
if (head.y
< 0)
if (width != 0)
if (head.y > height / size-2)
}return true;
}//停止遊戲
public void stopgame()
//暫停
public void setpause()
//繼續
public void continuegame()finally
}public void settextview(textview textview)
//彈出對話方塊
public void showdailog()
});builder.setnegativebutton("放棄", new dialoginte***ce.onclicklistener()
});builder.create().show();
}//重寫開始
public void restart()
}
c 實現貪吃蛇
include include include include include include include include include word square color 7 義方向 define key up 72 define key down 80 define key left 75...
canvas實現貪吃蛇
效果圖ps 這個只是思路,詳細可看 注釋 一 先把蛇畫出來 定義一下蛇的結構,用乙個陣列儲存一堆矩形,包含蛇頭 紅 和蛇身 灰 畫蛇 初始狀態 二 蛇能動 重點 蛇移動方式 自始至終都只有蛇頭在動 需要乙個儲存方向的變數 direction 根據方向進行移動,一次移動乙個格 根據按鍵改方向 三 隨機...
QT實現貪吃蛇
linux作業系統 qt5.5.1 貪吃蛇的身體用什麼形式展現 當方向改變時,蛇身如何實現轉向前進 如何記錄蛇身的每乙個座標 如何判斷遊戲結束 首先有兩種辦法實現,第一 用qpushbutton按鍵類,每個乙個按鍵就是蛇的一部分身體,另外 用qpaintevent繪圖事件畫出蛇的身體,個人認為用qp...