贪吃蛇游戏
自编简易贪吃蛇游戏 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace Gsnake { public delegate void my_Event_handler(object sender, KeyEventArgs e); public partial class Form1 : Form { public event my_Event_handler start_KeyDown; private Floor f; public Form1() { InitializeComponent(); this.BackColor = Color.FromArgb(212,208,200); f = new Floor(new Point (120,120)); } private void startMenuItem_Click(object sender, EventArgs e) { if (startMenuItem.Text == "开始") { startMenuItem.Text = "暂停"; tmrStart.Enabled = true; } else if (startMenuItem.Text == "暂停") { startMenuItem.Text = "开始"; tmrStart.Enabled = false; } } private void reStartMenuItem_Click(object sender, EventArgs e) { tmrStart.Enabled = true; f.ReSet(this.CreateGraphics ()); } private void tmrStart_Tick(object sender, EventArgs e) { this.label1.Text = "分数: " + f.S.Score.ToString(); this.label2.Text = "蛇长: " + f.S.HeadNumber.ToString(); if (f.S.getHitSelf) { tmrStart.Enabled = false; DialogResult result = MessageBox.Show("撞入自身, 游戏结束!是否开始新游戏?", "用户选择", MessageBoxButtons.YesNo); if (result == DialogResult.Yes) { reStartMenuItem_Click(sender, e); } else if (result == DialogResult.No ) { exitMenuItem_Click(sender,e ); } } else if (f.CheckSnakeHitWall()) { tmrStart.Enabled = false; DialogResult result = MessageBox.Show("撞入边界, 游戏结束!是否开始新游戏?", "用户选择", MessageBoxButtons.YesNo); if (result == DialogResult.Yes) { reStartMenuItem_Click(sender, e); } else if (result == DialogResult.No) { exitMenuItem_Click(sender, e); } } else f.Display(this.CreateGraphics()); } private void Form1_Load(object sender, EventArgs e) { } private void Form1_KeyDown(object sender, KeyEventArgs e) { if(tmrStart.Enabled ==true ) { int d = 5; if( e.KeyValue==37) //左 d = 3; else if(e.KeyValue==38) //上 d = 0; else if(e.KeyValue==39) //右 d = 1; else if(e.KeyValue==40) //下 d = 2; f.S.TurnDirection(d); } } private void exitMenuItem_Click(object sender, EventArgs e) { Application.Exit(); } private void speedMenuItem_Click(object sender, EventArgs e) { tmrStart.Interval = 500; } private void mediumMenuItem_Click(object sender, EventArgs e) { tmrStart.Interval = 300; } private void hardMenuItem_Click(object sender, EventArgs e) { tmrStart.Interval = 100; } } }
- 1
- 粉丝: 0
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助