• 大小: 512KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-28
  • 语言: C#
  • 标签: C#  大作业  源码  

资源简介

全是自己写的一个十五子游戏,里面有源代码,可执行文件、课程报告

资源截图

代码片段和文件信息

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 MoveBlock
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            LBWNB lBWNB = new LBWNB();
            lBWNB.ShowDialog();
            InitializeComponent();
        }

        const int N = 4;    //按钮的行数和列数
        Button[]buttons= new Button[NN];  //按钮的二维数组
        bool moveOk = false;    //是否点击了开始按钮
        
        private void Form1_Load(object sender EventArgs e)
        {
            //在窗体加载的时候产生所有按钮
            GenerateAllButtons();
        }

        private void button1_Click(object sender EventArgs e)
        {
            if (moveOk == true && MessageBox.Show(“是否重新开始 ?“ “Warning“ MessageBoxButtons.YesNo)
                == System.Windows.Forms.DialogResult.No)
                goto end;
            else
            {
                label1.Visible = false;
                label2.Visible = false;
                moveOk = true;
            }

            //点击按钮的时候打乱所有按钮
            Shuffle();
            end: ;
        }
        //打乱顺序
        void Shuffle()
        {
            //多次随机交换两个按钮
            Random rnd = new Random();
            for (int i = 0; i < 100; i++)
            {
                //循环随机交换100次
                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 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 GenerateAllButtons()
        {
            int x0 = 88 y0 = 38; //按钮相对于左上角的坐标
            int w = 45 d = 50;     //按钮的宽度(width)为45,两个按钮之间的距离(distance)为50
            for(int r = 0; r < N; r++) 
            {
                //行数(row)
                for(int c = 0; c < N; c++)
                {
                    //列数(column)
                    int num = r * N + c;
                    Button btn = new Button();
                    btn.Text = (num+1).ToString(); //加一是为了不从0开始
                    btn.Top = y0 + r * d;       //设置按钮的坐标
                    btn.Left = x0 + c * d;
                    btn.Width = w;              //设置按钮的大小
                    btn.Height = w;
                    btn.Visible = true;     //每一个按钮刚出来时都是可见的
                    btn.Tag = r * N + c;    //用来记录每个按钮所在行列位置
                    //注册事件
                    btn.Click += Btn_Click;

                    buttons[r c] = btn;    //放到数组中
                    this.Controls.Add(btn); //把按钮放到界面上

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-12-24 20:47  大作业-十五子游戏\
     目录           0  2018-12-23 21:31  大作业-十五子游戏\MoveBlock\
     目录           0  2018-12-23 21:31  大作业-十五子游戏\MoveBlock\.vs\
     目录           0  2018-12-23 21:31  大作业-十五子游戏\MoveBlock\.vs\MoveBlock\
     目录           0  2018-12-23 21:31  大作业-十五子游戏\MoveBlock\.vs\MoveBlock\DesignTimeBuild\
     文件         212  2018-12-23 21:30  大作业-十五子游戏\MoveBlock\.vs\MoveBlock\DesignTimeBuild\.dtbcache
     目录           0  2018-12-23 21:31  大作业-十五子游戏\MoveBlock\.vs\MoveBlock\v15\
     文件       63488  2018-12-23 21:30  大作业-十五子游戏\MoveBlock\.vs\MoveBlock\v15\.suo
     目录           0  2018-12-23 21:31  大作业-十五子游戏\MoveBlock\.vs\MoveBlock\v15\Server\
     目录           0  2018-12-23 21:31  大作业-十五子游戏\MoveBlock\.vs\MoveBlock\v15\Server\sqlite3\
     文件           0  2018-10-31 15:21  大作业-十五子游戏\MoveBlock\.vs\MoveBlock\v15\Server\sqlite3\db.lock
     文件      581632  2018-12-23 21:30  大作业-十五子游戏\MoveBlock\.vs\MoveBlock\v15\Server\sqlite3\storage.ide
     目录           0  2018-12-23 21:31  大作业-十五子游戏\MoveBlock\MoveBlock\
     文件        1126  2018-10-31 15:21  大作业-十五子游戏\MoveBlock\MoveBlock.sln
     目录           0  2018-12-23 21:31  大作业-十五子游戏\MoveBlock\MoveBlock\bin\
     目录           0  2018-12-23 21:31  大作业-十五子游戏\MoveBlock\MoveBlock\bin\Debug\
     文件       19456  2018-11-20 17:20  大作业-十五子游戏\MoveBlock\MoveBlock\bin\Debug\MoveBlock.exe
     文件       38400  2018-11-20 17:20  大作业-十五子游戏\MoveBlock\MoveBlock\bin\Debug\MoveBlock.pdb
     目录           0  2018-12-23 21:31  大作业-十五子游戏\MoveBlock\MoveBlock\bin\Release\
     文件       11264  2018-10-31 22:23  大作业-十五子游戏\MoveBlock\MoveBlock\bin\Release\MoveBlock.exe
     文件       24064  2018-10-31 22:23  大作业-十五子游戏\MoveBlock\MoveBlock\bin\Release\MoveBlock.pdb
     文件        6753  2018-11-20 17:20  大作业-十五子游戏\MoveBlock\MoveBlock\Form1.cs
     文件        5798  2018-11-20 17:20  大作业-十五子游戏\MoveBlock\MoveBlock\Form1.Designer.cs
     文件        7267  2018-11-20 17:20  大作业-十五子游戏\MoveBlock\MoveBlock\Form1.resx
     文件         766  2018-10-31 22:21  大作业-十五子游戏\MoveBlock\MoveBlock\Goofy.ico
     文件        3411  2018-11-20 17:16  大作业-十五子游戏\MoveBlock\MoveBlock\LBWNB.cs
     文件        9348  2018-11-20 17:16  大作业-十五子游戏\MoveBlock\MoveBlock\LBWNB.Designer.cs
     文件        6011  2018-11-20 17:16  大作业-十五子游戏\MoveBlock\MoveBlock\LBWNB.resx
     文件        4240  2018-11-20 16:07  大作业-十五子游戏\MoveBlock\MoveBlock\MoveBlock.csproj
     目录           0  2018-12-23 21:31  大作业-十五子游戏\MoveBlock\MoveBlock\obj\
     目录           0  2018-12-23 21:31  大作业-十五子游戏\MoveBlock\MoveBlock\obj\Debug\
............此处省略36个文件信息

评论

共有 条评论