c#编写连连看-------第一天
2007-04-18 19:00
344 查看
曾经在网上看过一个用JAVA编写的连连看,根据作者的思路,自己也实践了一遍,C#和JAVA差不多,现在想试着用C#编一遍,熟悉一下思路,进一步学习一下。特把此过程传到网上,一是记录一下整个过程,也为了督促自己坚持下去。
第一天
初步完成一个简单功能:将按钮按N*N排列,点击text相同的按钮,能够消去。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace lianliankanTest
{
public partial class Form1 : Form
{
int last=0,now=0; //按钮的Tab键值
Button[,] but; //按钮数组
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
but = new Button[5, 5]{{button1,button2,button3,button4,button5},
{button6,button7,button8,button9,button10},
{button11,button12,button13,button14,button15},
{button16,button17,button18,button19,button20},
{button21,button22,button23,button24,button25}};
for (int i = 0; i < 5; i++)
for (int j = 0; j < 5; j++)
{
int k=i+j;
but[i, j].Location = new Point(i * 40, j * 40); //按钮布局
but[i, j].Text = k.ToString(); //按钮赋不同的text
but[i, j].Click += new EventHandler(button_Click); //每个按钮都加一个事件
}
}
private void button_Click(object sender, EventArgs e) //处理点击按钮的事件
{
Button button = (Button)sender;
now = button.TabIndex;
if (last == now) //第一次点击
return;
int rowLast = last % 5;
int colLast = last / 5;
int rowNow = now % 5;
int colNow = now / 5;
this.label1.Text = last.ToString() + " " + now.ToString() + "/n" + "rowlast:" + rowLast.ToString() + "collast" + colLast.ToString() + "/n" + "now:" + rowNow.ToString()+" "+colNow.ToString() ;
if (this.but[colLast,rowLast].Text == this.but[colNow,rowNow].Text) //注意:按钮排列的行和列与按钮数组中的下标正好相反
{
but[colNow, rowNow].Visible = false;
but[colLast, rowLast].Visible = false;
}
last = now;
}
}
}
第一天
初步完成一个简单功能:将按钮按N*N排列,点击text相同的按钮,能够消去。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace lianliankanTest
{
public partial class Form1 : Form
{
int last=0,now=0; //按钮的Tab键值
Button[,] but; //按钮数组
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
but = new Button[5, 5]{{button1,button2,button3,button4,button5},
{button6,button7,button8,button9,button10},
{button11,button12,button13,button14,button15},
{button16,button17,button18,button19,button20},
{button21,button22,button23,button24,button25}};
for (int i = 0; i < 5; i++)
for (int j = 0; j < 5; j++)
{
int k=i+j;
but[i, j].Location = new Point(i * 40, j * 40); //按钮布局
but[i, j].Text = k.ToString(); //按钮赋不同的text
but[i, j].Click += new EventHandler(button_Click); //每个按钮都加一个事件
}
}
private void button_Click(object sender, EventArgs e) //处理点击按钮的事件
{
Button button = (Button)sender;
now = button.TabIndex;
if (last == now) //第一次点击
return;
int rowLast = last % 5;
int colLast = last / 5;
int rowNow = now % 5;
int colNow = now / 5;
this.label1.Text = last.ToString() + " " + now.ToString() + "/n" + "rowlast:" + rowLast.ToString() + "collast" + colLast.ToString() + "/n" + "now:" + rowNow.ToString()+" "+colNow.ToString() ;
if (this.but[colLast,rowLast].Text == this.but[colNow,rowNow].Text) //注意:按钮排列的行和列与按钮数组中的下标正好相反
{
but[colNow, rowNow].Visible = false;
but[colLast, rowLast].Visible = false;
}
last = now;
}
}
}
相关文章推荐
- 编写更好的C#代码(翻译)
- PB调用C#编写的DLL
- C# 第一天 (3) WINDOWS应用程序初体会
- 以C#编写的Socket服务器的Android手机聊天室Demo
- 用C#编写ActiveX控件(一)
- 黑马程序员_008布局案例:编写连连看布局
- 关于《用C#编写ActiveX控件》的几点说明
- C# 获取当前月第一天和最后一天 计算两个日期差多少天
- 编写高质量代码改善C#程序的157个建议[避免finaly内的无效代码、避免嵌套异常、避免吃掉异常、注意循环异常处理]
- 图文并茂——使用xfire编写webservice,并通过C#调用
- 一个用C#编写的自动读写配置文件的开源组件
- C# 编写服务 Windows service
- 【源码】c#编写的安卓客户端与Windows服务器程序进行网络通信
- C# 编写简单的控制台应用程序 显示如下数字金字塔
- 【LINQ 编写 C#】【PaaS】【机器学习】| Chat · 预告
- C# 编写SQL SERVER 2005 的存储过程
- 在EditPlus里配置C#的编写环境全过程! (转与修改)
- C# 编写Windows Service(windows服务程序)
- C#调用非托管C编写DLL的数据类型转换
- C#编写的用光盘做启动盘全程描述