[源码和文档分享]基于C#实现的十五子游戏

一、项目介绍

十五子游戏开始界面,任意键进入十五子游戏,暂停按钮进入屏保。开始是十五个按钮按顺序,排成四排。点击开始按钮进入游戏,十五个按钮顺序被打乱,通过点击空白块周围的任意按钮,将该按钮移动到空白位置。以此来使十五个按钮按照正确的顺序重新排列,游戏获得胜利!

二、设计过程

游戏开始界面是老式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不停的在窗口绘制大小依次变大的圆来实现一个动态变换的效果。

参考文档和完整的文档和源码下载地址:

https://www.write-bug.com/article/2555.html

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 墙头飞上两只鹅 春樹斜陽亦娑婆 入夢唯期東曉曉 羅衣早上油壁車 ...
    東曉曉阅读 120评论 0 0
  • 我是文慧,专注于亲子教育和亲子阅读,希望可以帮助更多父母高质量陪伴孩子,我的育儿理念:读万卷书,行万里路。 201...
    文慧的心童年阅读 340评论 0 2
  • 今天“生本课堂”在艺术实验学校如期举行。上午由镇海二位年轻教师展示了主题习作课,其中第一节施老师的课设计独具匠心,...
    易文画影阅读 532评论 0 1
  • 想的多做的少,有可能你就被自己夸大的困难吓死了,不敢向前,永无成功的可能! 多去行动,多去尝试,有可能就会在前进的...
    小小星火阅读 255评论 0 0

友情链接更多精彩内容