自學了幾天c#,嘗試寫了乙個貪吃蛇小遊戲,比較詳細地做了注釋,實現:
(1)貪吃蛇基本功能
(2)長按加速
(3)計分板
xaml**及介面
namespace 貪吃蛇
//新食物生成
public void newfoodgenerate()
//計時器每乙個計時週期內的時間處理程式
void timer_tick(object sender, eventargs e)
canvas.setleft(snake[n], canvas.getleft(snake[n - 1]));
canvas.settop(snake[n], canvas.gettop(snake[n - 1]));
}//蛇頭移動
switch (snake[0].tag.tostring())
//最後再檢測是否失敗
if (fail())
");timer.stop();
close();}}
//失敗鑑定程式
public bool fail()
//碰到自己
for(int n = 1; n < snake.count; n++)
}return false;
}//獲取鍵盤值,輸入則得值
private void window_keydown(object sender, keyeventargs e)
if (key == "a" && snake[0].tag.tostring() != "d")
if (key == "s" && snake[0].tag.tostring() != "w")
if (key == "d" && snake[0].tag.tostring() != "a")
keytimer.interval = timespan.frommilliseconds(400);//400ms後開始加速
keytimer.isenabled=true;//計時器啟動
keytimer.tick += keytimer_tick;//事件關聯到事件處理程式上
}//加速事件處理程式
void keytimer_tick(object sender, eventargs e)
//結束加速
private void window_keyup(object sender, keyeventargs e)
}public class snake : collectionbase//繼承鍊錶類
//過載add,貪吃蛇遊戲只需自動增加相同的節點即可
public void add()
//初始化的蛇有三個節點
public snake()
//過載
public border this[int nodeindex]}}
}改進:可以做些介面聯動,ai蛇
參考:hui110110 c#中的貪吃蛇
yang-fei [c#].net中幾種timer的使用
綠意無痕 c# wpf border控制項總結
yongh701【c#】按鈕長按
C 貪吃蛇小遊戲
1.有許多值得新手學習的地方 2.不看就吃虧了噢 3.如果沒有值得學習的地方,我就倒立洗頭!include include include include include 方向鍵的ascll值 上72,左75,右77,下80 背景顏色的 0 黑色 1藍色 2 綠色 3湖藍色 4紅色 5紫色 6黃色 ...
c 貪吃蛇小遊戲
恢復內容開始 新手學習c 在上看到後自己模仿打出來的第乙個程式 開心,紀念一下 bean 食物類 block 蛇塊類 snake 蛇類 map 地圖 圖形類 食物類 class bean set 顯示食物方法 public void showbean graphics g 食物消失方法 public...
貪吃蛇小遊戲
1 doctype html 2 html 3 head 4 title snake title 5head 6 body style text align center margih 100px background color aaaaaa 7 canvas id canv width 400 ...