> # ♻️ 资源
> **大小:** 488KB
> **文档链接:**[**https://www.yuque.com/sxbn/ks/100013204**](https://www.yuque.com/sxbn/ks/100013204)
> **➡️ 资源下载:**[**https://download.csdn.net/download/s1t16/88236838**](https://download.csdn.net/download/s1t16/88236838)
> **注:更多内容可关注微信公众号【神仙别闹】,如当前文章或代码侵犯了您的权益,请私信作者删除!**
> ![qrcode_for_gh_d52056803b9a_344.jpg](https://cdn.nlark.com/yuque/0/2023/jpeg/2469055/1692147256036-49ec7e0c-5434-4963-b805-47e7295c9cbc.jpeg#averageHue=%23a3a3a3&clientId=u8fb96484-770e-4&from=paste&height=140&id=u237e511a&originHeight=344&originWidth=344&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=8270&status=done&style=none&taskId=ud96bf5f7-fe85-4848-b9c2-82251181297&title=&width=140.1999969482422)
# 一、项目介绍
十五子游戏开始界面,任意键进入十五子游戏,暂停按钮进入屏保。开始是十五个按钮按顺序,排成四排。点击开始按钮进入游戏,十五个按钮顺序被打乱,通过点击空白块周围的任意按钮,将该按钮移动到空白位置。以此来使十五个按钮按照正确的顺序重新排列,游戏获得胜利!
# 二、设计过程
游戏开始界面是老式windows电脑的屏保,通过Timer组件和五个Lable控件以及随机数对象Random来实现。设置timer的Interval属性,每0.1秒变换lable的BackColor,Left,Top属性,来达到lable背景颜色不断变换,位置移动的效果,当lable移动到窗体边缘就以相反的方向进行移动,从而实现类似屏保的开始界面。
游戏通过两个for循环创建了4*4的按钮数组,在for循环里设置了按钮的大小,坐标等相关属性,然后通过this.Controls.Add方法把按钮添加到窗体。当点击按钮时通过Button btn = sender as Button,来找到被点击的按钮,然后判断该按钮是否与空白按钮相邻,若相邻则把按钮上面的数字和可见性进行交换,从而实现将按钮移动到空白位置的视觉效果。每移动一次就判断按钮顺序是否正确,若正确则提示成功。为了防止玩家多次移动仍不能成功,右下角的按钮通过Controls.Remove方法删除所有按钮,然后重新创建来实现对所有按钮进行排序。
暂停功能也是通过timer组件,用g.DrawEllipse不停的在窗口绘制大小依次变大的圆来实现一个动态变换的效果。
# 三、使用说明
**游戏开始界面**
![image.png](https://cdn.nlark.com/yuque/0/2023/png/2469055/1692586614161-fd833ebb-9dfb-4574-8484-88bdb8cf5c95.png#averageHue=%23050100&clientId=uaf641c63-63c3-4&from=paste&height=338&id=u74cfa589&originHeight=423&originWidth=750&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=71277&status=done&style=none&taskId=uf005f439-64e7-4f87-b855-b370f625389&title=&width=600)
**任意按键进入游戏**
![image.png](https://cdn.nlark.com/yuque/0/2023/png/2469055/1692586624749-d4916314-86be-486d-9c07-1d2ae68a362c.png#averageHue=%23ebeaea&clientId=uaf641c63-63c3-4&from=paste&height=446&id=uaf82302a&originHeight=558&originWidth=575&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=41718&status=done&style=none&taskId=ub31997b1-e6c2-4291-a323-58a24357dd3&title=&width=460)
点击开始按钮,开始游戏
![image.png](https://cdn.nlark.com/yuque/0/2023/png/2469055/1692586646632-a9a11f64-ff2a-4d72-9567-f8fa8af2e162.png#averageHue=%23ebebeb&clientId=uaf641c63-63c3-4&from=paste&height=446&id=uccbf2105&originHeight=558&originWidth=575&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=34823&status=done&style=none&taskId=u92cf7078-d9dd-4f74-9a05-025548e53dc&title=&width=460)
点击空白块周围的按钮进行移动,体验游戏
点击暂停按钮,暂停游戏
![image.png](https://cdn.nlark.com/yuque/0/2023/png/2469055/1692586662192-c6da9ea4-cbf6-4ff3-8a61-c5ec02f559df.png#averageHue=%234ba7a9&clientId=uaf641c63-63c3-4&from=paste&height=338&id=u9191aab8&originHeight=423&originWidth=750&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=933432&status=done&style=none&taskId=u4cef6f44-a98e-4b05-b946-ea8bacee5b9&title=&width=600)
游戏成功!
![image.png](https://cdn.nlark.com/yuque/0/2023/png/2469055/1692586671910-979356e0-7072-4814-a9d7-7b3cf2927de6.png#averageHue=%23ededed&clientId=uaf641c63-63c3-4&from=paste&height=450&id=uf2ea30c7&originHeight=563&originWidth=750&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=59848&status=done&style=none&taskId=u968d8fb4-41dc-46f1-a679-67046318a35&title=&width=600)
# 四、总结
之前相同的控件一直都是从工具栏拖到窗体,非常费时和费力。通过上网查询发现在创建多个类似按钮的时候,可以通过循环函数创建按钮,然后通过this.Controls.Add方法把按钮添加到窗口,这样就可以避免拖多个相同的控件到界面上,这个感觉非常有用。还有就是通过Timer组件可以实现很多不断变化的效果,唯一的缺点就是很耗内存。通过十五子游戏,让我更加体会到了写代码时要细心,很可能一个细微的错误,因为刚开始的不注意,使后来找错误浪费了大量的时间。
没有合适的资源?快使用搜索试试~ 我知道了~
基于C#实现的十五子游戏【100013204】
共51个文件
cs:10个
cache:9个
resources:6个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 115 浏览量
2023-08-21
10:59:01
上传
评论
收藏 490KB ZIP 举报
温馨提示
游戏开始界面是老式windows电脑的屏保,通过Timer组件和五个Lable控件以及随机数对象Random来实现。设置timer的Interval属性,每0.1秒变换lable的BackColor,Left,Top属性,来达到lable背景颜色不断变换,位置移动的效果,当lable移动到窗体边缘就以相反的方向进行移动,从而实现类似屏保的开始界面。 游戏通过两个for循环创建了4*4的按钮数组,在for循环里设置了按钮的大小,坐标等相关属性,然后通过this.Controls.Add方法把按钮添加到窗体。当点击按钮时通过Button btn = sender as Button,来找到被点击的按钮,然后判断该按钮是否与空白按钮相邻,若相邻则把按钮上面的数字和可见性进行交换,从而实现将按钮移动到空白位置的视觉效果。每移动一次就判断按钮顺序是否正确,若正确则提示成功。为了防止玩家多次移动仍不能成功,右下角的按钮通过Controls.Remove方法删除所有按钮,然后重新创建来实现对所有按钮进行排序。 暂停功能也是通过timer组件,用g.DrawEllipse不停的在窗口绘制大小依次变
资源推荐
资源详情
资源评论
收起资源包目录
100013204-基于C#实现的十五子游戏.zip (51个子文件)
fifteen_child_game
src
MoveBlock
MoveBlock
Form1.Designer.cs 6KB
Suspend.resx 6KB
Suspend.Designer.cs 2KB
MoveBlock.csproj 4KB
Form1.cs 6KB
obj
Release
MoveBlock.csproj.CoreCompileInputs.cache 41B
MoveBlock.csproj.FileListAbsolute.txt 876B
MoveBlock.pdb 24KB
DesignTimeResolveAssemblyReferencesInput.cache 7KB
MoveBlock.Form1.resources 1KB
MoveBlock.csproj.GenerateResource.cache 1012B
MoveBlock.Properties.Resources.resources 180B
MoveBlock.exe 11KB
DesignTimeResolveAssemblyReferences.cache 827B
Debug
MoveBlock.csproj.CoreCompileInputs.cache 41B
MoveBlock.csproj.FileListAbsolute.txt 1KB
MoveBlock.pdb 38KB
MoveBlock.LBWNB.resources 180B
DesignTimeResolveAssemblyReferencesInput.cache 7KB
MoveBlock.Form1.resources 1KB
MoveBlock.csproj.GenerateResource.cache 1KB
MoveBlock.csprojAssemblyReference.cache 30KB
MoveBlock.Suspend.resources 180B
MoveBlock.Properties.Resources.resources 180B
MoveBlock.exe 19KB
DesignTimeResolveAssemblyReferences.cache 1KB
LBWNB.cs 3KB
LBWNB.Designer.cs 9KB
Goofy.ico 766B
Suspend.cs 1KB
bin
Release
MoveBlock.pdb 24KB
MoveBlock.exe 11KB
Debug
MoveBlock.pdb 38KB
MoveBlock.exe 19KB
Properties
Resources.Designer.cs 3KB
Settings.Designer.cs 1KB
Settings.settings 242B
AssemblyInfo.cs 1KB
Resources.resx 5KB
Program.cs 469B
Form1.resx 7KB
LBWNB.resx 6KB
.vs
MoveBlock
v15
.suo 62KB
Server
sqlite3
storage.ide 568KB
db.lock 0B
DesignTimeBuild
.dtbcache 212B
MoveBlock.sln 1KB
十五子游戏.exe 19KB
十五子游戏.docx 258KB
LICENSE 1KB
README.md 5KB
共 51 条
- 1
资源评论
神仙别闹
- 粉丝: 2673
- 资源: 7640
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功