• 大小: 739KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-02
  • 语言: C#
  • 标签: L型骨牌  覆盖棋盘  

资源简介

这个是学校期末C#课程设计,通过C#编程语言实现图形化界面,并运用分治法的算法思想来实现棋盘的全覆盖(L型骨牌),用VS就可以直接运行

资源截图

代码片段和文件信息

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 zhangzhe
{
    public partial class Form1 : Form
    {
        int[] board;//定义棋盘的二维数组
        int x;//特殊方块横坐标
        int y;//特殊方块纵坐标
        int pownum = 0;
        int smallsize = 0;//设置每一个pbox的大小
        int size = 0;
        int next=0;
        int flag = 1;
        int title = 0;//title就是将要添加颜色的3个pbox的位置记录下来,给board数组中
        System.Timers.Timer t;
        Dictionary dic = new Dictionary();//定义的集合存放pbox

        public Form1()
        {
            InitializeComponent();

        }
        public void chessBoard(int tr int tc int dr int dc int size)  
       {  
        if(size == 1) return;  
        int t1 = title++;   
        int s = size/2;//每一次化大棋盘为一半的子棋盘  
        //要处理带有特殊棋子的棋盘,第一步先处理左上棋盘  
        if(dr < tr + s && dc< tc + s)//左上角子棋盘有特殊棋子  
            chessBoard(trtcdrdcs);//处理有特殊棋子的左上角子棋盘  
        else//处理无特殊棋子的左上角子棋盘  
        {  
            board[tr+s-1tc+s-1] = t1;//设左上角子棋盘的右下角为特殊棋子,用t型的骨牌覆盖。由于骨牌有三种,当处理过程中同一级设置的特殊棋子用相同的骨牌覆盖  
            chessBoard(trtctr+s-1tc+s-1 s);//处理有用骨牌覆盖的格子作为特殊棋子的左上角子棋盘  
        }          
        //第二步处理右上角棋盘  
        if(dr < tr+s && dc >=tc+s)//右上角子棋盘有特殊棋子  
        {  
            chessBoard(trtc+sdrdcs);//处理有特殊棋子的右上角子棋盘  
        }      
        else  
        {  
            board[tr+s-1tc+s] =t1;//设右上角子棋盘的左下角为特殊棋子,用t型的骨牌覆盖。由于骨牌有三种,当处理过程中同一级设置的特殊棋子用相同的骨牌覆盖  
            chessBoard(trtc+str+s-1tc+ss);//处理有用骨牌覆盖的格子作为特殊棋子的右上角子棋盘  
        }  
          
        //第三步处理左下角子棋盘  
        if(dr >=tr+s && dc        {  
            chessBoard(tr+stcdrdcs);//处理有特殊棋子的左下角子棋盘  
        }  
        else  
        {  
            board[tr+stc+s-1] = t1;//设左下角子棋盘的右上角为特殊棋子,用t型的骨牌覆盖。由于骨牌有三种,当处理过程中同一级设置的特殊棋子用相同的骨牌覆盖  
            chessBoard(tr+stctr+stc+s-1s);//处理有用骨牌覆盖的格子作为特殊棋子的左下角子棋盘  
        }  
          
        //第四步处理右下角棋盘  
        if(dr>=tr+s&& dc>= tc+s)//右下角子棋盘有特殊棋子  
        {    
            chessBoard(tr+stc+sdrdcs);//处理有特殊棋子的右下角子棋盘  
        }  
        else  
        {  
            board[tr+stc+s] = t1;//设子棋盘右下角的左上角为特殊棋子,用t型的骨牌覆盖。由于骨牌有三种,当处理过程中同一级设置的特殊棋子用相同的骨牌覆盖  
            chessBoard(tr+stc+str+stc+ss);//处理有用 骨牌覆盖的格子作为特殊棋子的右下角子棋盘  
        }  
       }
        

        private void PaddingButton_Click(object sender EventArgs e)//一键生成棋盘 点击事件
        {//接收来自前端输入
            //检测是否输入值
            button_reset_Click(sender e);
              if (comboBox_X.Text == ““ || comboBox_Y.Text == ““)
            {
                MessageBox.Show(“对不起不允许输入空值!请填写特殊方块的XY值!“);
            }
        

            //获取特殊格子的位置
            try
            {
                x = Convert.ToInt32(comboBox_X.Text);
                
 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

    ..A..H.     51712  2018-06-12 10:46  Zhangzhe\.vs\LBoneCard\v14\.suo

     文件     141758  2018-06-04 18:17  Zhangzhe\a.jpg

     文件        490  2013-03-18 17:00  Zhangzhe\LBoneCard\bin\Debug\914张哲.vshost.exe.manifest

     文件     158208  2018-06-11 15:38  Zhangzhe\LBoneCard\bin\Debug\LBoneCard.exe

     文件      30208  2018-06-11 15:38  Zhangzhe\LBoneCard\bin\Debug\LBoneCard.pdb

     文件      22696  2018-06-12 10:47  Zhangzhe\LBoneCard\bin\Debug\LBoneCard.vshost.exe

     文件        490  2018-04-12 07:35  Zhangzhe\LBoneCard\bin\Debug\LBoneCard.vshost.exe.manifest

     文件      12950  2018-06-12 10:45  Zhangzhe\LBoneCard\Form1.cs

     文件      10909  2018-06-06 13:07  Zhangzhe\LBoneCard\Form1.Designer.cs

     文件       5817  2018-06-06 13:07  Zhangzhe\LBoneCard\Form1.resx

     文件       2870  2018-06-06 12:01  Zhangzhe\LBoneCard\obj\x86\Debug\DesignTimeResolveAssemblyReferences.cache

     文件       7132  2018-06-06 11:55  Zhangzhe\LBoneCard\obj\x86\Debug\DesignTimeResolveAssemblyReferencesInput.cache

     文件        248  2017-06-01 22:49  Zhangzhe\LBoneCard\obj\x86\Debug\GenerateResource.read.1.tlog

     文件        602  2017-06-01 22:49  Zhangzhe\LBoneCard\obj\x86\Debug\GenerateResource.write.1.tlog

     文件       3653  2018-06-04 18:00  Zhangzhe\LBoneCard\obj\x86\Debug\LBoneCard.csproj.FileListAbsolute.txt

     文件        977  2018-06-04 17:18  Zhangzhe\LBoneCard\obj\x86\Debug\LBoneCard.csproj.GenerateResource.Cache

     文件       9046  2018-06-04 17:06  Zhangzhe\LBoneCard\obj\x86\Debug\LBoneCard.csprojResolveAssemblyReference.cache

     文件     158208  2018-06-11 15:38  Zhangzhe\LBoneCard\obj\x86\Debug\LBoneCard.exe

     文件        180  2018-06-04 17:18  Zhangzhe\LBoneCard\obj\x86\Debug\LBoneCard.Form1.resources

     文件      30208  2018-06-11 15:38  Zhangzhe\LBoneCard\obj\x86\Debug\LBoneCard.pdb

     文件     142220  2018-06-04 18:19  Zhangzhe\LBoneCard\obj\x86\Debug\LBoneCard.Properties.Resources.resources

     文件       4608  2018-06-04 18:18  Zhangzhe\LBoneCard\obj\x86\Debug\TempPE\Properties.Resources.Designer.cs.dll

     文件       2086  2018-06-12 10:48  Zhangzhe\LBoneCard\obj\x86\Debug\zhangzhe.csproj.FileListAbsolute.txt

     文件       1047  2018-06-06 13:07  Zhangzhe\LBoneCard\obj\x86\Debug\zhangzhe.csproj.GenerateResource.Cache

     文件       9177  2018-06-06 11:56  Zhangzhe\LBoneCard\obj\x86\Debug\zhangzhe.csprojResolveAssemblyReference.cache

     文件        180  2018-06-06 13:07  Zhangzhe\LBoneCard\obj\x86\Debug\zhangzhe.Form1.resources

     文件        489  2018-06-04 18:08  Zhangzhe\LBoneCard\Program.cs

     文件       1350  2017-05-25 18:23  Zhangzhe\LBoneCard\Properties\AssemblyInfo.cs

     文件       3218  2018-06-04 18:18  Zhangzhe\LBoneCard\Properties\Resources.Designer.cs

     文件       6189  2018-06-04 18:18  Zhangzhe\LBoneCard\Properties\Resources.resx

............此处省略24个文件信息

评论

共有 条评论

相关资源