C#编扫雷源码 一2008年03月23日

把以前写的东西存下来 嘿嘿

原帖:http://hi.baidu.com/activezfj/blog/item/31cd4b3499f6eb4a241f14b7.html(此博客已无情被关,近3000多篇原创呀,说出来都是泪)

源代码:
[Form1.CS]
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;


namespace MineClearance
{
     /// <summary>
     /// Summary description for Form1.
     /// </summary>
     public class Form1 : System.Windows.Forms.Form
     {
         private System.Windows.Forms.MainMenu mainMenu1;
         private System.Windows.Forms.MenuItem menuItem1;
         private System.Windows.Forms.MenuItem menuItem2;
         private System.Windows.Forms.MenuItem menuItem3;
         private System.Windows.Forms.MenuItem menuItem4;
         private System.Windows.Forms.MenuItem menuItem5;
         private System.Windows.Forms.MenuItem menuItem6;
         private System.Windows.Forms.MenuItem menuItem7;
         private System.Windows.Forms.MenuItem menuItem9;
         private System.Windows.Forms.MenuItem menuItem12;
         private System.Windows.Forms.MenuItem menuItem13;
         private System.Windows.Forms.MenuItem menuItem14;
         private System.ComponentModel.IContainer components;


         private FaceControl faceControl1;
         private MineCountControl mineCountControl1;
         private TimerControl timerControl1;


         private int [ , ] Mine;//==-2时,表示这个地雷已经爆炸;==-1时,代表这个位置是地雷;否则代表周围的地雷的数量
         private int [ , ] Turn;//==-1 表示这个位置已经翻开;==0 表示这个位置没有翻开;==1 表示这个位置插上红旗;
         private int BoardWidth;//宽度
         private int BoardHeight;//高度
         private uint MineCount;
         private Point MP = new Point(0, 0);//用来记录鼠标点击的方格
         private bool GameStartMark;//游戏开始标志
         private uint Count
         {
             get
             {
                 return MineCount;
             }
             set
             {
                 MineCount = value;
                 mineCountControl1.mineCount = (int)value;
             }
         }


         public Form1()
         {
             //
             // Required for Windows Form Designer support
             //
             InitializeComponent();


             //
             // TODO: Add any constructor code after InitializeComponent call
             //
             mineCountControl1 = new MineCountControl();
             faceControl1 = new FaceControl();
             faceControl1.Click += new EventHandler(ClickFace);
             timerControl1 = new TimerControl();
             timerControl1.Rouse += new EventHandler(RouseTime);
             timerControl1.rouseTime = 999;
             Reset(9, 9, 10);
             this.CenterToScreen();


             this.Controls.Add(faceControl1);
             this.Controls.Add(mineCountControl1);
             this.Controls.Add(timerControl1);
         }


         /// <summary>
         /// Clean up any resources being used.
         /// </summary>
         protected override void Dispose( bool disposing )
         {
             if( disposing )
             {
                 if (components != null) 
                 {
                     components.Dispose();
                 }
             }
             base.Dispose( disposing );
         }


         Windows Form Designer generated code
/// <summary>
         /// The main entry point for the application.
         /// </summary>
         [STAThread]
         static void Main() 
         {
             Application.Run(new Form1());
         }


         //鼠标坐标转换成雷区方格的坐标
         private Point MToA(int x, int y)
         {
             x -= 13; y -= 53;
             if(x < 0 || x > BoardWidth * 20 || y < 0 || y > BoardWidth * 20 )
             {
                 throw new Exception();
             }
             x = x / 20;
             y = y / 20;
             return new Point(x , y);
         }


         //鼠标坐

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

关中游侠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值