资源简介
用C#写的小程序 排块游戏 新手作。
代码片段和文件信息
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace 排块游戏
{
public partial class Form1 : Form
{
const int N = 4;
Button[] buttons = new Button[N N];//按钮的数组
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender EventArgs e)
{
GenerateAllButtons();
}
private void button1_Click(object sender EventArgs e)
{
Shuffle();
}
void Shuffle()//打乱顺序
{
Random rnd = new Random();
for (int i = 0; i < 100; i++)
{
//多次随机交换两个按钮
int a = rnd.Next(N);
int b = rnd.Next(N);
int c = rnd.Next(N);
int d = rnd.Next(N);
Swap(buttons[a b] buttons[c d]);
}
}
void GenerateAllButtons()//生成所有按钮
{
int x0 = 100 y0 = 10 w = 45 d = 50;
for (int r = 0; r < N; r++)
for (int c = 0; c < N; c++)
{
int num = r * N + c;
Button btn = new Button();
btn.Text = (num + 1).ToString();
btn.Top = y0 + r * d;
btn.Left = x0 + c * d;
btn.Width = w;
btn.Height = w;
btn.Tag = r * N + c;//这个数据用来表示它所在行列位置
btn.Click += new EventHandler(btn_Click);//注册事件
buttons[r c] = btn;//放到数组中
this.Controls.Add(btn);//加到界面上
}
buttons[N - 1 N - 1].Visible = false;//最后一个不可见
}
void Swap(Button btna Button btnb)
{
string t = btna.Text;
btna.Text = btnb.Text;
btnb.Text = t;
bool v = btna.Visible;
btna.Visible = btnb.Visible;
btnb.Visible = v;
}
void btn_Click(object sender EventArgs e)
{
Button btn = sender as Button;
Button blank = FindHiddenButton();
if (IsNeighbor(btn blank))
{
Swap(btn blank);
blank.Focus();
}
if (ResultIs0k())
{
MessageBox.Show(“OK“);
}
}
Button FindHiddenButton()
{
for (int r = 0; r < N; r++)
for (int c = 0; c < N; c++)
{
if (!buttons[r c].Visible)
{
return buttons[r c];
}
}
return null;
}
bool IsNeighbor(Button btnA Button btnB)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
..A..H. 28160 2018-03-13 10:07 排块游戏\.vs\排块游戏\v15\.suo
文件 0 2018-03-11 10:33 排块游戏\.vs\排块游戏\v15\Server\sqlite3\db.lock
文件 593920 2018-03-13 09:56 排块游戏\.vs\排块游戏\v15\Server\sqlite3\storage.ide
文件 32768 2018-03-13 08:22 排块游戏\.vs\排块游戏\v15\Server\sqlite3\storage.ide-shm
文件 4140632 2018-03-13 10:07 排块游戏\.vs\排块游戏\v15\Server\sqlite3\storage.ide-wal
文件 189 2018-03-11 10:33 排块游戏\排块游戏\App.config
文件 9728 2018-03-13 09:56 排块游戏\排块游戏\bin\Debug\排块游戏.exe
文件 189 2018-03-11 10:33 排块游戏\排块游戏\bin\Debug\排块游戏.exe.config
文件 24064 2018-03-13 09:56 排块游戏\排块游戏\bin\Debug\排块游戏.pdb
文件 3843 2018-03-13 09:56 排块游戏\排块游戏\Form1.cs
文件 2100 2018-03-13 09:53 排块游戏\排块游戏\Form1.Designer.cs
文件 5817 2018-03-13 09:53 排块游戏\排块游戏\Form1.resx
文件 1464 2018-03-13 08:21 排块游戏\排块游戏\obj\Debug\DesignTimeResolveAssemblyReferences.cache
文件 7244 2018-03-13 08:34 排块游戏\排块游戏\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
文件 0 2018-03-11 10:33 排块游戏\排块游戏\obj\Debug\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
文件 0 2018-03-11 10:33 排块游戏\排块游戏\obj\Debug\TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs
文件 0 2018-03-11 10:33 排块游戏\排块游戏\obj\Debug\TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs
文件 42 2018-03-11 10:33 排块游戏\排块游戏\obj\Debug\排块游戏.csproj.CoreCompileInputs.cache
文件 1032 2018-03-13 09:54 排块游戏\排块游戏\obj\Debug\排块游戏.csproj.FileListAbsolute.txt
文件 1012 2018-03-13 09:53 排块游戏\排块游戏\obj\Debug\排块游戏.csproj.GenerateResource.Cache
文件 2384 2018-03-13 09:53 排块游戏\排块游戏\obj\Debug\排块游戏.csprojResolveAssemblyReference.cache
文件 9728 2018-03-13 09:56 排块游戏\排块游戏\obj\Debug\排块游戏.exe
文件 180 2018-03-13 09:53 排块游戏\排块游戏\obj\Debug\排块游戏.Form1.resources
文件 24064 2018-03-13 09:56 排块游戏\排块游戏\obj\Debug\排块游戏.pdb
文件 180 2018-03-13 09:53 排块游戏\排块游戏\obj\Debug\排块游戏.Properties.Resources.resources
文件 524 2018-03-11 10:33 排块游戏\排块游戏\Program.cs
文件 1322 2018-03-11 10:33 排块游戏\排块游戏\Properties\AssemblyInfo.cs
文件 2837 2018-03-11 10:33 排块游戏\排块游戏\Properties\Resources.Designer.cs
文件 5612 2018-03-11 10:33 排块游戏\排块游戏\Properties\Resources.resx
文件 1099 2018-03-11 10:33 排块游戏\排块游戏\Properties\Settings.Designer.cs
............此处省略19个文件信息
相关资源
- 网页设计,c#,ico小图标,共851个!
- WinForm验证码源码
- C#模仿Win7标准计算器
- Galil C#通讯链接范例
- C#制作一个简易画图工具
- 飞行棋代码
- 禁止商业用途RPG游戏C#(登陆注册,背
- Huffman树练习
- C# 数字键盘实现
- C# mysql、sqlserver连接demo源码
- winform自绘波形,鼠标滚轮滚动缩放波
- C#仿真飞行仪表盘
- C#动态添加数据到折线图
- C# winform 宿舍管理系统 ,vs2010开发,
- 基于C#邮件客户端
- C#酒店管理系统(报告+代码+讲义)
- 打砖块小游戏,C#源码
- C#贪吃蛇源码
- 豆瓣API接口获取书籍详细信息C#
- 粒子群算法求解TSP问题
- 网络TCPServer转串口UART源码
- C#实现坐标转换,七参数之间进行数据
- c#基础复习题含答案
- 三角高程近似平差C#
- 高斯正反算程序窗体程序,附计算
- C#开发webservice接口,对客户端post服务
- 中国矿业大学程序设计综合实践学生
- C#实现串口通信
- 数据结构与算法-C#版
- C#评委打分系统
评论
共有 条评论