📄 llkform.cs
字号:
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Threading ;
namespace 自娱自乐
{
/// <summary>
/// 连连看 的摘要说明。
/// </summary>
public class LLKForm : System.Windows.Forms.Form
{
private System.Windows.Forms.MainMenu LLKMenu;
private System.Windows.Forms.MenuItem menuGame;
private System.Windows.Forms.MenuItem menuGameDif1;
private System.Windows.Forms.MenuItem menuGameDif2;
private System.Windows.Forms.MenuItem menuGameDif3;
private System.Windows.Forms.MenuItem menuGameStop;
private System.Windows.Forms.MenuItem menuGameExit;
private System.Windows.Forms.MenuItem menuGameCompart1;
private System.Windows.Forms.MenuItem menuGameCompart2;
private System.Windows.Forms.MenuItem menuOpt;
private System.Windows.Forms.MenuItem menuOptHint;
private System.Windows.Forms.MenuItem menuOptRedo;
private System.Windows.Forms.MenuItem menuOptPause;
private System.Windows.Forms.MenuItem menuOptCompart;
private System.Windows.Forms.MenuItem menuOptConfig;
private System.Windows.Forms.Label labelAchievement;
private System.Windows.Forms.Label labelSchedule;
private System.Windows.Forms.Label labelHint;
private System.Windows.Forms.Label labelRedo;
private System.Windows.Forms.Label labelMode;
private System.Windows.Forms.Label labelLev;
private System.Windows.Forms.Label labelDif;
private System.Windows.Forms.Timer GameTime;
private System.Windows.Forms.Panel panelSchedule;
private System.Windows.Forms.Panel panelDif3;
private System.Windows.Forms.Panel panelDif2;
private System.Windows.Forms.Panel panelDif1;
private System.Windows.Forms.Panel panelPause;
private System.ComponentModel.IContainer components;
//定义全局参数
//定义 洗牌数,提示数,游戏时间,当前时间,奖励时间,游戏难度,游戏级别
public int NumRedo,NumHint,NumTimeMax,NumTime,NumTimeAdd,NumDif,NumLev ;
//定义 游戏状态,鼠标点击次数,列数,行数,路由次数
private int Status,MouseNum,NumWidth,NumHeight,PathCount ;
//每秒所耗进度
private float NumPlanDec ;
//定义 上次点击图片句柄
private PictureBox OldSender ;
//当前图片空间列表
private DataTable GridData;
//当前空闲空间列表,路由信息
private int[,] DeleData,Path ;
//定义画板
private Graphics Palette ;
public LLKForm()
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent();
//
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
}
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if(components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows Form Designer generated code
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(LLKForm));
this.LLKMenu = new System.Windows.Forms.MainMenu();
this.menuGame = new System.Windows.Forms.MenuItem();
this.menuGameDif1 = new System.Windows.Forms.MenuItem();
this.menuGameDif2 = new System.Windows.Forms.MenuItem();
this.menuGameDif3 = new System.Windows.Forms.MenuItem();
this.menuGameCompart1 = new System.Windows.Forms.MenuItem();
this.menuGameStop = new System.Windows.Forms.MenuItem();
this.menuGameCompart2 = new System.Windows.Forms.MenuItem();
this.menuGameExit = new System.Windows.Forms.MenuItem();
this.menuOpt = new System.Windows.Forms.MenuItem();
this.menuOptHint = new System.Windows.Forms.MenuItem();
this.menuOptRedo = new System.Windows.Forms.MenuItem();
this.menuOptPause = new System.Windows.Forms.MenuItem();
this.menuOptCompart = new System.Windows.Forms.MenuItem();
this.menuOptConfig = new System.Windows.Forms.MenuItem();
this.labelAchievement = new System.Windows.Forms.Label();
this.panelSchedule = new System.Windows.Forms.Panel();
this.labelSchedule = new System.Windows.Forms.Label();
this.labelHint = new System.Windows.Forms.Label();
this.labelRedo = new System.Windows.Forms.Label();
this.labelMode = new System.Windows.Forms.Label();
this.labelLev = new System.Windows.Forms.Label();
this.labelDif = new System.Windows.Forms.Label();
this.GameTime = new System.Windows.Forms.Timer(this.components);
this.panelDif3 = new System.Windows.Forms.Panel();
this.panelDif2 = new System.Windows.Forms.Panel();
this.panelDif1 = new System.Windows.Forms.Panel();
this.panelPause = new System.Windows.Forms.Panel();
this.panelSchedule.SuspendLayout();
this.SuspendLayout();
//
// LLKMenu
//
this.LLKMenu.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
this.menuGame,
this.menuOpt});
//
// menuGame
//
this.menuGame.Index = 0;
this.menuGame.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
this.menuGameDif1,
this.menuGameDif2,
this.menuGameDif3,
this.menuGameCompart1,
this.menuGameStop,
this.menuGameCompart2,
this.menuGameExit});
this.menuGame.Text = "游戏";
//
// menuGameDif1
//
this.menuGameDif1.Index = 0;
this.menuGameDif1.Shortcut = System.Windows.Forms.Shortcut.F1;
this.menuGameDif1.Text = "初级";
this.menuGameDif1.Click += new System.EventHandler(this.menuGameDif1_Click);
//
// menuGameDif2
//
this.menuGameDif2.Index = 1;
this.menuGameDif2.Shortcut = System.Windows.Forms.Shortcut.F2;
this.menuGameDif2.Text = "中级";
this.menuGameDif2.Click += new System.EventHandler(this.menuGameDif2_Click);
//
// menuGameDif3
//
this.menuGameDif3.Index = 2;
this.menuGameDif3.Shortcut = System.Windows.Forms.Shortcut.F3;
this.menuGameDif3.Text = "高级";
this.menuGameDif3.Click += new System.EventHandler(this.menuGameDif3_Click);
//
// menuGameCompart1
//
this.menuGameCompart1.Index = 3;
this.menuGameCompart1.Text = "-";
//
// menuGameStop
//
this.menuGameStop.Index = 4;
this.menuGameStop.Shortcut = System.Windows.Forms.Shortcut.F4;
this.menuGameStop.Text = "停止";
this.menuGameStop.Click += new System.EventHandler(this.menuGameStop_Click);
//
// menuGameCompart2
//
this.menuGameCompart2.Index = 5;
this.menuGameCompart2.Text = "-";
//
// menuGameExit
//
this.menuGameExit.Index = 6;
this.menuGameExit.Shortcut = System.Windows.Forms.Shortcut.F12;
this.menuGameExit.Text = "退出";
this.menuGameExit.Click += new System.EventHandler(this.menuGameExit_Click);
//
// menuOpt
//
this.menuOpt.Index = 1;
this.menuOpt.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
this.menuOptHint,
this.menuOptRedo,
this.menuOptPause,
this.menuOptCompart,
this.menuOptConfig});
this.menuOpt.Text = "选项";
//
// menuOptHint
//
this.menuOptHint.Index = 0;
this.menuOptHint.Shortcut = System.Windows.Forms.Shortcut.F5;
this.menuOptHint.Text = "提示";
this.menuOptHint.Click += new System.EventHandler(this.menuOptHint_Click);
//
// menuOptRedo
//
this.menuOptRedo.Index = 1;
this.menuOptRedo.Shortcut = System.Windows.Forms.Shortcut.F6;
this.menuOptRedo.Text = "洗牌";
this.menuOptRedo.Click += new System.EventHandler(this.menuOptRedo_Click);
//
// menuOptPause
//
this.menuOptPause.Index = 2;
this.menuOptPause.Shortcut = System.Windows.Forms.Shortcut.F7;
this.menuOptPause.Text = "暂停";
this.menuOptPause.Click += new System.EventHandler(this.menuOptPause_Click);
//
// menuOptCompart
//
this.menuOptCompart.Index = 3;
this.menuOptCompart.Text = "-";
//
// menuOptConfig
//
this.menuOptConfig.Index = 4;
this.menuOptConfig.Shortcut = System.Windows.Forms.Shortcut.F8;
this.menuOptConfig.Text = "配置";
this.menuOptConfig.Click += new System.EventHandler(this.menuOptConfig_Click);
//
// labelAchievement
//
this.labelAchievement.Font = new System.Drawing.Font("幼圆", 20.25F, System.Drawing.FontStyle.Bold);
this.labelAchievement.ForeColor = System.Drawing.Color.DodgerBlue;
this.labelAchievement.Location = new System.Drawing.Point(680, 8);
this.labelAchievement.Name = "labelAchievement";
this.labelAchievement.Size = new System.Drawing.Size(100, 25);
this.labelAchievement.TabIndex = 20;
this.labelAchievement.Text = "00000";
//
// panelSchedule
//
this.panelSchedule.BackgroundImage = ((System.Drawing.Bitmap)(resources.GetObject("panelSchedule.BackgroundImage")));
this.panelSchedule.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.panelSchedule.Controls.AddRange(new System.Windows.Forms.Control[] {
this.labelSchedule});
this.panelSchedule.Location = new System.Drawing.Point(220, 40);
this.panelSchedule.Name = "panelSchedule";
this.panelSchedule.Size = new System.Drawing.Size(550, 22);
this.panelSchedule.TabIndex = 19;
//
// labelSchedule
//
this.labelSchedule.Name = "labelSchedule";
this.labelSchedule.Size = new System.Drawing.Size(0, 20);
this.labelSchedule.TabIndex = 0;
//
// labelHint
//
this.labelHint.Font = new System.Drawing.Font("幼圆", 12F, System.Drawing.FontStyle.Italic);
this.labelHint.ForeColor = System.Drawing.Color.DodgerBlue;
this.labelHint.Location = new System.Drawing.Point(110, 40);
this.labelHint.Name = "labelHint";
this.labelHint.TabIndex = 18;
this.labelHint.Text = "提示数:";
//
// labelRedo
//
this.labelRedo.Font = new System.Drawing.Font("幼圆", 12F, System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134)));
this.labelRedo.ForeColor = System.Drawing.Color.DodgerBlue;
this.labelRedo.Location = new System.Drawing.Point(5, 40);
this.labelRedo.Name = "labelRedo";
this.labelRedo.Size = new System.Drawing.Size(100, 20);
this.labelRedo.TabIndex = 17;
this.labelRedo.Text = "洗牌数:";
//
// labelMode
//
this.labelMode.Font = new System.Drawing.Font("幼圆", 12F, System.Drawing.FontStyle.Italic);
this.labelMode.ForeColor = System.Drawing.Color.DodgerBlue;
this.labelMode.Location = new System.Drawing.Point(220, 5);
this.labelMode.Name = "labelMode";
this.labelMode.Size = new System.Drawing.Size(150, 20);
this.labelMode.TabIndex = 16;
this.labelMode.Text = "方式:";
//
// labelLev
//
this.labelLev.Font = new System.Drawing.Font("幼圆", 12F, System.Drawing.FontStyle.Italic);
this.labelLev.ForeColor = System.Drawing.Color.DodgerBlue;
this.labelLev.Location = new System.Drawing.Point(110, 5);
this.labelLev.Name = "labelLev";
this.labelLev.Size = new System.Drawing.Size(100, 20);
this.labelLev.TabIndex = 15;
this.labelLev.Text = "级别:";
//
// labelDif
//
this.labelDif.Font = new System.Drawing.Font("幼圆", 12F, System.Drawing.FontStyle.Italic);
this.labelDif.ForeColor = System.Drawing.Color.DodgerBlue;
this.labelDif.Location = new System.Drawing.Point(5, 5);
this.labelDif.Name = "labelDif";
this.labelDif.Size = new System.Drawing.Size(100, 20);
this.labelDif.TabIndex = 14;
this.labelDif.Text = "难度:";
//
// GameTime
//
this.GameTime.Interval = 1000;
this.GameTime.Tick += new System.EventHandler(this.GameTime_Tick);
//
// panelDif3
//
this.panelDif3.BackColor = System.Drawing.Color.Transparent;
this.panelDif3.Location = new System.Drawing.Point(60, 70);
this.panelDif3.Name = "panelDif3";
this.panelDif3.Size = new System.Drawing.Size(680, 400);
this.panelDif3.TabIndex = 21;
this.panelDif3.Visible = false;
//
// panelDif2
//
this.panelDif2.BackColor = System.Drawing.Color.Transparent;
this.panelDif2.Location = new System.Drawing.Point(100, 85);
this.panelDif2.Name = "panelDif2";
this.panelDif2.Size = new System.Drawing.Size(600, 360);
this.panelDif2.TabIndex = 22;
this.panelDif2.Visible = false;
//
// panelDif1
//
this.panelDif1.BackColor = System.Drawing.Color.Transparent;
this.panelDif1.Location = new System.Drawing.Point(140, 100);
this.panelDif1.Name = "panelDif1";
this.panelDif1.Size = new System.Drawing.Size(520, 320);
this.panelDif1.TabIndex = 23;
//
// panelPause
//
this.panelPause.BackColor = System.Drawing.Color.Transparent;
this.panelPause.BackgroundImage = ((System.Drawing.Bitmap)(resources.GetObject("panelPause.BackgroundImage")));
this.panelPause.Location = new System.Drawing.Point(150, 110);
this.panelPause.Name = "panelPause";
this.panelPause.Size = new System.Drawing.Size(500, 300);
this.panelPause.TabIndex = 24;
this.panelPause.Visible = false;
//
// LLKForm
//
this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
this.BackColor = System.Drawing.Color.Black;
this.ClientSize = new System.Drawing.Size(792, 466);
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.panelPause,
this.panelDif1,
this.panelDif2,
this.panelDif3,
this.labelAchievement,
this.panelSchedule,
this.labelHint,
this.labelRedo,
this.labelMode,
this.labelLev,
this.labelDif});
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.MaximumSize = new System.Drawing.Size(800, 500);
this.Menu = this.LLKMenu;
this.MinimumSize = new System.Drawing.Size(800, 500);
this.Name = "LLKForm";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "连连看";
this.Load += new System.EventHandler(this.LLKForm_Load);
this.panelSchedule.ResumeLayout(false);
this.ResumeLayout(false);
}
#endregion
public int SetNumHint
{
//设置提示次数
get
{
return NumHint;
}
set
{
NumHint = value ;
}
}
public int SetNumRedo
{
//设置洗牌次数
get
{
return NumRedo;
}
set
{
NumRedo = value ;
}
}
public int SetNumTimeMax
{
//设置提示次数
get
{
return NumTimeMax;
}
set
{
NumTimeMax = value ;
}
}
public int SetNumTimeAdd
{
//设置提示次数
get
{
return NumTimeAdd;
}
set
{
NumTimeAdd = value ;
}
}
public int SetNumLev
{
//设置提示次数
get
{
return NumLev;
}
set
{
NumLev = value ;
}
}
private void LLKForm_Load(object sender, System.EventArgs e)
{
//初始化配置
NumDif = 1 ;
NumLev = 1 ;
NumHint = 0 ;
NumRedo = 0 ;
NumPlanDec = 0 ;
NumTimeAdd = 0 ;
NumTimeMax = 0 ;
NumTime = NumTimeMax ;
Status = 0 ;
MouseNum = 0;
}
private void menuGameDif1_Click(object sender, System.EventArgs e)
{
//配置初级参数
Status = 1 ;
MouseNum = 0 ;
NumDif = 1 ;
if(NumLev == 0) { NumLev = 1 ; }
if(NumHint == 0) { NumHint = 5 ; }
if(NumRedo == 0) { NumRedo = 3 ; }
if(NumTimeAdd == 0) { NumTimeAdd = 2 ; }
if(NumTimeMax == 0) { NumTimeMax = 120 ; }
NumTime = NumTimeMax ;
NumPlanDec = panelSchedule.Width/NumTimeMax ;
labelAchievement.Text = "0" ;
labelSchedule.Left = panelSchedule.Width ;
panelPause.Visible = false ;
panelDif2.Visible = false ;
panelDif3.Visible = false ;
StatusShow() ;
//对象初始化
int PicNum = panelDif1.Controls.Count ;
for(int i=0;i<PicNum;i++)
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -