写前小叙
学完c#程序设计,就赶紧想写个什么小程序感受一下编程乐趣,于是写了这个简单好玩又刺激的经典游戏–贪吃蛇;由于是初学,刚开始也是不知道从哪写起,我也是看了好多大哥写的,我的程序很多地方也是受他们启发写的。我这篇仅仅作为自己写程序的一个记录,也是存在有一些问题,望大佬指出,不过目前还是可以完美运行的,分享出来作为给我和一样的初学者一些借鉴。
为了提高我的激情,我的游戏名为 《虚空巨蟒》。
效果展示
大致思路
先创建新的食物和五节巨蟒身体(都为标签),打开定时器,初始化按键状态为“暂停”,通过各个按键触发时改变按键状态为此按键目标,比如按上键,按键状态变为上,在定时器定时来临时,通过按键状态来改变巨蟒头的坐标,然后巨蟒的最后一节移动到倒数第二节的位置,巨蟒的倒数第二节移动到巨蟒的倒数第三节位置…,其中,如果巨蟒头的坐标与食物坐标相同,就新创建一个身体实例,然后再创建新的食物,改变定时器的定时时间为巨蟒身长的反比,就可以实现随巨蟒边长移动速度加快。
参考代码
namespace Snake
{
public partial class Form1 : Form
{
Label[] Snake_Body = new Label[500];//巨蟒身体数组,由label实例(标签)构成
Label food = new Label(); //食物
string Keyname = "stop"; //按键状态
int x, y,b=0;
int Snake_Long = 0, Snake_Tail_x, Snake_Tail_y;
Random R = new Random();//随机数
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
Makefood();//创建食物
for (int i = 0; i < 5; i++)
{
Label Snaker = new Label();//创造五个初始巨蟒身体实例
Snaker.Height = 10;
Snaker.Width = 10;
Snaker.Top = 300;
Snaker.Left = 150 - i * 10;
Snaker.BackColor = Color.DeepPink;
Snaker.Text = " ";
Snaker.Tag = i;
Sna