界面截图
开始游戏界面代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace 贪吃虫
{
public partial class frmKaiShiYouXi : Form
{
public frmKaiShiYouXi()
{
InitializeComponent();
}
private void frmKaiShiYouXi_Load(object sender, EventArgs e)
{
}
private void btnKaiShiYouXi_Click(object sender, EventArgs e)
{
frmTanChiChong myfrmTanChiChong = new frmTanChiChong();
myfrmTanChiChong.Show();
this.Hide();
}
}
}
主界面所用控件有:
主界面代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace 贪吃虫
{
public partial class frmTanChiChong : Form
{
public frmTanChiChong()
{
InitializeComponent();
}
private void frmTanChiChong_Load(object sender, EventArgs e)
{
rdbPuTong.Checked = true;
btnChongTou.Visible = false;
btnChongTou.Focus();
}
private void pictureBox1_Click(object sender, EventArgs e)
{
timShiJianKongZhi.Stop();
frmGuanYu myfrmGuanYu = new frmGuanYu();
myfrmGuanYu.ShowDialog();
timShiJianKongZhi.Start();
}
private void btnZhanTing_Click(object sender, EventArgs e)
{
btnKaiShi2.Visible = true;
btnZhanTing.Visible = false;
timShiJianKongZhi.Stop();
}
private void btnKaiShi2_Click(object sender, EventArgs e)
{
btnKaiShi2.Visible = false;
btnZhanTing.Visible = true;
timShiJianKongZhi.Start();
}
int intChongTouX = 10, intChongTouY = 10;
private void btnKaiShi_Click(object sender, EventArgs e)
{
if (rdbPuTong.Checked == true)
{ timShiJianKongZhi.Interval = 20; }
if (rdbkunNan.Checked == true)
{ timShiJianKongZhi.Interval = 1; lblNanDu.Text = "困难"; }
btnChongTou.Visible = true;
groupBox1.Visible = false;
btnChongTou.Focus();
strKaiGuan = "d";
btnChongTou.Location = new Point(intChongTouX, intChongTouY);
timShiJianKongZhi.Start();
}
string strKaiGuan;
private void btnChongTou_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == 119)
{
if (strKaiGuan == "w")
{ return; }
strKaiGuan = "s";
}
if (e.KeyChar == 97)
{
if (strKaiGuan == "d")
{ return; }
strKaiGuan = "a";
}
if (e.KeyChar == 115)
{
if (strKaiGuan == "s")
{ return; }
strKaiGuan = "w";
}
if (e.KeyChar == 100)
{
if (strKaiGuan == "a")
{ return; }
strKaiGuan = "d";
}
}
int intSuiJiX = 17, intSuiJiY = 10;
Button[] myButton = new Button[1000];
int intXiaBiao = -1;
static int intFenShu = 0;
private void timShiJianKongZhi_Tick(object sender, EventArgs e)
{
if (strKaiGuan == "a")
{
intChongTouX = intChongTouX - 10;
btnChongTou.Location = new Point(intChongTouX, intChongTouY);
}
if (strKaiGuan == "d")
{
intChongTouX = intChongTouX + 10;
btnChongTou.Location = new Point(intChongTouX, intChongTouY);
}
if (strKaiGuan == "w")
{
intChongTouY = intChongTouY + 10;
btnChongTou.Location = new Point(intChongTouX, intChongTouY);
}
if (strKaiGuan == "s")
{
intChongTouY = intChongTouY - 10;
btnChongTou.Location = new Point(intChongTouX, intChongTouY);
}
if (intChongTouX < 0)
{ intChongTouX = 945; }
if (intChongTouX > 945)
{ intChongTouX = 0; }
if (intChongTouY < 0)
{ intChongTouY = 450; }
if (intChongTouY > 450)
{ intChongTouY = 0; }
if (intChongTouX > intSuiJiX - 15 && intChongTouX < intSuiJiX + 15 && intChongTouY > intSuiJiY - 15 && intChongTouY < intSuiJiY + 15)
{
intXiaBiao++;
if (rdbkunNan.Checked == true)
{ intFenShu += 10; }
if (rdbPuTong.Checked == true)
{ intFenShu += 5; }
lblFenShu.Text = intFenShu.ToString();
Random myRandom = new Random();
intSuiJiX = myRandom.Next(0, 940);
intSuiJiY = myRandom.Next(0, 430);
myButton[intXiaBiao] = new Button();
myButton[intXiaBiao].Location = new Point(intSuiJiX, intSuiJiY);
myButton[intXiaBiao].Text = "虫身";
myButton[intXiaBiao].Name = "btnSuiJi" + intXiaBiao;
myButton[intXiaBiao].Size = new Size(20, 20);
myButton[intXiaBiao].ForeColor = Color.Red;
panel1.Controls.Add(myButton[intXiaBiao]);
}
if (intXiaBiao > 0)
{
int intTouX = btnChongTou.Location.X;
int intTouY = btnChongTou.Location.Y;
if (strKaiGuan == "a") { intTouX = intTouX + 5; }
if (strKaiGuan == "d") { intTouX = intTouX - 5; }
if (strKaiGuan == "w") { intTouY = intTouY - 5; }
if (strKaiGuan == "s") { intTouY = intTouY + 5; }
myButton[0].Location = new Point(intTouX, intTouY);
}
if (intXiaBiao > 1)
{
int[] myintX = new int[intXiaBiao - 1]; int[] myintY = new int[intXiaBiao - 1];
for (int i = 0; i < intXiaBiao - 1; i++)
{
myintX[i] = myButton[i].Location.X; myintY[i] = myButton[i].Location.Y;
}
for (int i = 0; i < intXiaBiao - 1; i++)
{
myButton[i + 1].Location = new Point(myintX[i], myintY[i]);
}
if (intXiaBiao > 5)
{
for (int i = 5; i < intXiaBiao - 1; i++)
{
int intX = btnChongTou.Location.X, intY = btnChongTou.Location.Y;
if (myintX[i] - 13 < intX && intX < myintX[i] + 13 && myintY[i] - 13 < intY && intY < myintY[i] + 13)
{
timShiJianKongZhi.Stop();
panel2.Visible = true;
}
}
}
}
}
int intGuanBi = 0;
private void button1_Click(object sender, EventArgs e)
{
intGuanBi++;
frmKaiShiYouXi myfrmKaiShiYouXi = new frmKaiShiYouXi();
myfrmKaiShiYouXi.Show();
this.Close(); this.Dispose();
}
private void frmTanChiChong_FormClosing(object sender, FormClosingEventArgs e)
{
if (MessageBox.Show("需要重新开始请按“否”,关闭程序请按“是”,", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes)
{
this.Dispose();
Application.ExitThread();
}
else
{
e.Cancel = true;
}
}
}
}