九宫格游戏
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 cs_nineplay {
public partial class Form1 : Form {
public Form1() {
InitializeComponent(); }
Color OnColor = Color.Coral; Color OffColor = Color.Yellow; int seconds1,seconds2=999; int count1,count2=999;
int[,] ChangeCells ={{-1,-1,-1,-1,-1}, {1,2,4,5,-1}, {2,1,3,-1,-1}, {3,2,5,6,-1}, {4,1,7,-1,-1}, {5,2,4,6,8}, {6,3,9,-1,-1}, {7,4,5,8,-1}, {8,7,9,-1,-1}, {9,5,6,8,-1} };
Button[] Buttons = new Button[10]; int num = 0; //bool TF=true; struct TM {
public int Time, Times; }
TM[] tm = new TM[100];
private void Button_Click(object sender, EventArgs e) {
Button btnHit = (Button)sender; int No = int.Parse(btnHit.Text);
for (int i = 0; i
int X = ChangeCells[No, i]; if (X != -1) {
if (Buttons[X].BackColor == OffColor) Buttons[X].BackColor = OnColor; else
Buttons[X].BackColor = OffColor; } }
count1 += 1;
lblCount.Text = "次数:" + count1.ToString() + "次"; int sum = 0;
for (int i = 1; i
if (Buttons[i].BackColor == OnColor) sum += 1; }
if (sum == 8 && Buttons[5].BackColor == OffColor) {
btnStart.Enabled = true; btnStop.Enabled = false; tmrTime.Enabled = false;
btnStart.Text = "开始"; Clear.Enabled = true;
MessageBox.Show("恭喜!过关...."); for (int i = 1; i
Buttons[i].Enabled = false;
if (seconds2 > seconds1) {
cbxTime.SelectedIndexChanged EventHandler(cbxTime_SelectedIndexChanged);
cbxTimes.SelectedIndexChanged EventHandler(cbxTimes_SelectedIndexChanged); //TF = false;
cbxTime.Text = seconds1.ToString(); cbxTimes.Text = count1.ToString(); cbxTime.Items.Add(seconds1); cbxTimes.Items.Add(count1); tm[num].Time = seconds1; tm[num].Times = count1; num++;
-= -=
new new
seconds2 = seconds1; count2 = count1;
Grade.Text = "最好成绩:"; JL.Text = "新纪录"; }
else if (seconds2 == seconds1&&count2>count1) {
cbxTime.SelectedIndexChanged EventHandler(cbxTime_SelectedIndexChanged);
cbxTimes.SelectedIndexChanged EventHandler(cbxTimes_SelectedIndexChanged); //TF = false;
cbxTime.Text = seconds1.ToString(); cbxTimes.Text = count1.ToString(); cbxTime.Items.Add(seconds1); cbxTimes.Items.Add(count1); tm[num].Time = seconds1; tm[num].Times = count1; num++;
seconds2 = seconds1; count2 = count1; JL.Text = "新纪录"; }
//TF = true;
cbxTime.SelectedIndexChanged EventHandler(cbxTime_SelectedIndexChanged); cbxTimes.SelectedIndexChanged EventHandler(cbxTimes_SelectedIndexChanged); }
}
private void Form1_Load(object sender, EventArgs e) {
Clear.Enabled = false; btnStart.Enabled = true; btnStop.Enabled = false;
button1.Click += new EventHandler(Button_Click); button2.Click += new EventHandler(Button_Click); button3.Click += new EventHandler(Button_Click); button4.Click += new EventHandler(Button_Click); button5.Click += new EventHandler(Button_Click); button6.Click += new EventHandler(Button_Click); button7.Click += new EventHandler(Button_Click); button8.Click += new EventHandler(Button_Click);
-= -= += += new new
new new
button9.Click += new EventHandler(Button_Click); Buttons[1] = button1; Buttons[2] = button2; Buttons[3] = button3; Buttons[4] = button4; Buttons[5] = button5; Buttons[6] = button6; Buttons[7] = button7; Buttons[8] = button8; Buttons[9] = button9; for (int i = 1; i
Buttons[i].Enabled = false; }
private void btnStart_Click(object sender, EventArgs e) {
//cbxTime.SelectedIndexChanged EventHandler(cbxTime_SelectedIndexChanged); //cbxTimes.SelectedIndexChanged EventHandler(cbxTimes_SelectedIndexChanged); JL.Text = "";
cbxTime.SelectedIndexChanged EventHandler(cbxTime_SelectedIndexChanged); cbxTimes.SelectedIndexChanged EventHandler(cbxTimes_SelectedIndexChanged); cbxTime.Text = seconds2.ToString(); cbxTimes.Text = count2.ToString(); cbxTime.SelectedIndexChanged EventHandler(cbxTime_SelectedIndexChanged); cbxTimes.SelectedIndexChanged EventHandler(cbxTimes_SelectedIndexChanged); tmrTime.Enabled = false;
string Message = "是否重新开始?"; string Cap = "重新开始";
DialogResult result=DialogResult.Yes;
if (btnStart.Text == "重新开始")
result=MessageBox.Show(Message, Cap, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2); if (result == DialogResult.Yes) {
btnStart.Text = "重新开始"; btnStop.Text = "暂停"; tmrTime.Enabled = true; count1 = 0;
+= new +=
new
-= new -=
new
+= new +=
new
MessageBoxButtons.YesNo,
seconds1 = 0;
lblCount.Text = "次数:" + count1.ToString() + "次"; lblTime.Text = "秒数:" + seconds1.ToString() + "秒"; Random r = new Random(); for (int i = 1; i
Buttons[i].Enabled = true; if (r.Next(1, 10) > 5)
Buttons[i].BackColor = OnColor; else
Buttons[i].BackColor = OffColor; }
//seconds1 = 0;
tmrTime.Enabled = true; btnStart.Enabled = true; btnEnd.Enabled = true; btnStop.Enabled = true; }
else tmrTime.Enabled = true; Clear.Enabled =false; }
private void btnEnd_Click(object sender, EventArgs e) {
string Message = "是否退出?"; string Cap = "退出"; DialogResult result;
bool Ena = tmrTime.Enabled; tmrTime.Enabled = false;
result = MessageBox.Show(Message, Cap, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2); if (result == DialogResult.Yes) Application.Exit(); else tmrTime.Enabled = Ena; }
private void tmrTime_Tick(object sender, EventArgs e) {
seconds1 += 1;
lblTime.Text = "秒数:" + seconds1.ToString() + "秒"; }
private void button10_Click(object sender, EventArgs e) {
MessageBoxButtons.YesNo,
MessageBox.Show("\t开始时1-9格黄橘两色随机分布,按动一个键,周围的键颜色会转变为相反色,使5键为黄色,其余键为橘色,则游戏过关。具体规则如下:\n\t(1)按动1键,则1,2,4,5键颜色变反;按动3,7,9键同理\n\t(2)按动2键,则1,2,3键颜色变反;按动4,6,8键同理\n\t(3)按动5键,则2,4,5,6,8键颜色变反"); }
private void btnStop_Click(object sender, EventArgs e) {
if (btnStop.Text == "暂停") {
btnStop.Text = "继续"; for (int i = 1; i
Buttons[i].Enabled = false; tmrTime.Enabled = false; btnStart.Enabled = false; } else {
btnStop.Text = "暂停"; for (int i = 1; i
Buttons[i].Enabled = true; tmrTime.Enabled = true; btnStart.Enabled = true; }
/*if (Buttons[1].Enabled == true) for (int i = 1; i
else for (int i = 1; i
private void cbxTime_SelectedIndexChanged(object sender, EventArgs e) {
cbxTimes.Text = tm[cbxTime.SelectedIndex].Times.ToString(); }
private void cbxTimes_SelectedIndexChanged(object sender, EventArgs e) {
cbxTime.Text = tm[cbxTimes.SelectedIndex].Time.ToString(); }
private void Clear_Click(object sender, EventArgs e) {
if (btnStart.Enabled == true && btnStart.Text == "开始") {
seconds2 = 999; count2 = 999; cbxTime.SelectedIndexChanged EventHandler(cbxTime_SelectedIndexChanged); cbxTimes.SelectedIndexChanged EventHandler(cbxTimes_SelectedIndexChanged);
cbxTime.Text = seconds2.ToString(); cbxTimes.Text = count2.ToString(); //cbxTime = new ComboBox(); //cbxTimes = new ComboBox(); cbxTime.SelectedIndexChanged EventHandler(cbxTime_SelectedIndexChanged); cbxTimes.SelectedIndexChanged EventHandler(cbxTimes_SelectedIndexChanged); tm = new TM[100]; num = 0;
cbxTime.Items.Clear(); cbxTimes.Items.Clear();
MessageBox.Show("记录已清空!"); } }
} }
-= -= += += new new
new new