C 貪吃蛇小遊戲

2021-08-15 15:18:49 字數 2013 閱讀 7978

自學了幾天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 ...