C#程序之二 -- 数独小游戏(1. UI设计)

老师分配的项目需要编软件,刚好最近一直在玩手机上的数独,所以就想用空余时间写一个PC上的单机版的数独小游戏,练练自己的编程能力。不能保证每天都有时间花在这个小程序上面,不过会尽量坚持下去,每完成一点东西,都会把核心代码和查到的相关资料发一下,目前还处在语法都没学完的阶段,想借这个机会记录一下自己的成长~



一、UI 设计

1. 用 ComboBox 控件来选择游戏难度;

2. 用 Label 控件显示本局游戏累计用时;

3. 九宫格大背景是一个设置了背景色的 Label 控件;

4. 每个格子都是 Textbox 控件,将其 “Multiline” 属性设置为 “True”,这样就可以调整其高度了(参考链接);开始/暂停/继续/结束游戏时,九宫格 UI 的对应变化如下:

4.1 开始游戏:九宫格显示题目;

4.2 暂停游戏:用一个单独绘制的 Label 盖住题目(hideLabel.Visible = true;);

4.3 继续游戏:隐藏用来覆盖题目的 Label;

4.4 结束游戏:九宫格所有 Textbox 清空。

5. 点击“开始游戏”按钮之后,按钮文字变为“暂停游戏”,之后每次点击此按钮,文字会轮流显示为“继续游戏”和“暂停游戏”,另外还有“停止游戏”按钮。

此处需要根据按钮文字的不同在 button_Click() 事件中调用对应的代码,Resharper 提示将 If…Else If…Else 语句替换为 Switch 语句,突然想到了两种语句哪一个高效的问题,于是在 StackOverflow 上搜到了这么一个讨论帖,根据讨论的内容看,对于判断条件只有三种不同值的情况,不管是用 If 语句还是 Switch 语句都是完全没问题的啦,哈哈。

参考链接:What is quicker, switch on string or elseif on type? (讨论内容非常精彩)

目前的游戏界面:

时间: 2024-12-27 20:47:36

C#程序之二 -- 数独小游戏(1. UI设计)的相关文章

使用AxureRP7.0制作经典数独小游戏原型,axure游戏原型下载

之前,有同学在Q群中提问,如何使用axure制作经典数独解谜小游戏,当时由于时间关系没有来得及亲手制作,而是给同学们提供了Axure6.5版本的一个数独解谜游戏的原型,本教程由axure原型库网站录制,转载请注明出处!但是那个原型做的太过繁杂,所以仅供大家参考交流:在此,金乌老师特地抽时间给同学们使用AxureRP7.0制作了一下,感觉对实战逻辑分析和axure变量的掌握比较有考验,所以就放出来供大家学习交流使用. 在学习的过程中,如果你仅凭自己现有的对axure的掌握,无法准确分析并组织出原型

游戏系统UI设计的考虑

一个游戏首先给人留下的印象便是游戏的UI设计,从一个玩家的角度可能可以比较好的对UI设计提出一些见解. 首先是简洁,玩家并不需要在游戏界面中获取太过复杂的信息,这反而会使他们对于游戏界面产生反感.其次是明了,以微软的Metro磁贴为例,在一个小方块上用简略的信息显示用户需要获取的信息,就可以在第一点简洁的基础上让用户获得足够的信息.第三是独特,一个独特的UI系统可能会使用户对整个游戏的印象分提高,典型的例子便是MineCraft的UI界面,与整个游戏的像素方块风格所协调,给人深刻的印象. 总而言

Java从基础到进阶学习之路----数独小游戏制作(一)

前言 数独这个游戏大多数人都玩过,所以具体的游戏本身就不描述了. 详见百度百科:http://baike.baidu.com/subview/961/10842669.htm 规则和目标 数独的规则很简单,就是在每一行,每一列,每个小宫格区(3X3)内不可以出现重复的数字. 先贴一下大概的游戏界面样子: 需求功能分析 站在学习者的角度来说 练下手,学习一下MVC框架模式 这个项目涉及的Java的主要内容有: 1.Java基础语法,特别是Java集合的部分. 2.Java内置的Observer模式

数独小游戏

写了个小游戏,画面非常简陋,但基本的功能实现了 下面是学习WindowsAPI时参考的文章,虽说几乎没看懂... [https://blog.csdn.net/farmwang/article/details/50603608] [https://blog.csdn.net/celte/article/details/10243309] [https://blog.csdn.net/m0_37801033/article/details/71540942] 单独绘制数独边框时:(我对颜色搭配实在

Java 初学 第一弹--编译并运行书上的简单程序(猜数字小游戏)

(博主原创) 首先说明一下,博主是大一上学期结束寒假时自己看的Java,然后我看的是Head First Java的中文版,因为大一学了c,所以里面的一些基本思想还是了解的,在看这本书时就浏览了一下(就是那种光看没有自己动手去敲代码的),然后看到书上的一个猜数字小游戏,就想手动敲一下,熟悉熟悉Java的语法,但是真正去做时,发现比看起来要困难一些. 首先是Java在建立一个源码文件之前要先建一个package,然后我用的Eclipse写的Java(感觉和pycharm风格差不多),再新建一个文件

Java从基础到进阶学习之路----数独小游戏制作(二)

详细设计 游戏数据结构设计 显然,需要存储数据的地方只有九宫格地图部分. 对于地图,很明显我们可以采用二维数组int [] [] game;来存储地图中的数据.但是int的二维数组虽然直接简单,但是还是有一定不便之处,比如没有集合的内置处理方法丰富.所以,显然,在游戏地图的生成过程中,一些辅助数据我们可以采用Java的集合. 地图生成算法 对于数独而言,游戏的成功的最根本的保证就是当前的地图有一个存在的解.这就像是解方程,如果不存在解,那么这个游戏本身就是失败的. 所以,重点在于如何产生一个存在

微信为什么要搞一个小游戏?

众厂关于 H5 游戏市场的争夺,自 2014 年以来,一直就没有停止过.但一直也没有尘埃落定,最终花落谁家,鹿死谁手现在还不好讲.微信推出小程序,继而推出小游戏,只是腾讯数年来在 H5 市场企业战略的一环. 微信为什么要自定义一套技术,起名为小程序?明明就是原来的 H5 技术,为什么 CSS 不叫 CSS,叫 WXSS:为什么 HTML 不叫 HTML,叫 WXML:为什么明明有 JS.TS,还要自主研发一个 WXS,并且声称"WXS 与 JS 是不同的语言,有自己的语法,并不和 JS 一致&q

用Kotlin破解Android版微信小游戏-跳一跳

前言 微信又更新了,从更新日志上来看,似乎只是一次不痛不痒的小更新.不过,很快就有人发现,原来微信这次搞了个大动作--在小程序里加入了小游戏.今天也是朋友圈被刷爆的缘故. 看到网上 有人弄了一个破解版的,于是自己也跟着网上的案例整了一下,感觉挺有意思的. 游戏如下: 来玩游戏 劳动成果 跳一跳 微信小程序可以玩游戏了,我们来破解一下<跳一跳>这个官方出品的小游戏吧. 思路 用usb调试安卓手机,用adb截图并用鼠标测量距离,然后计算按压时间后模拟按压. $ adb shell input sw

第三十八天 一乐在其中—Android的小游戏打飞机(二)移动飞机

8月6日,阴."桑条无叶土生烟,箫管迎龙水庙前.朱门几处看歌舞,犹恐春阴咽管弦". 上篇已经把飞机放到了屏幕上,怎么让飞机随手指自由移动,是本篇解决的问题. 本篇要用到的几个函数讲解: 一.cocos2d的触摸事件如下: 1.ccTouchesMoved:接受的是手指在屏幕上滑动/停留的信息,即当用户手指在屏幕移动时,执行该方法. 2.ccTouchesBegan:接受的是手指点击屏幕的那一下的信息,即当用户开始触摸屏幕时,执行该方法. 3.ccTouchesEnded: 接受手指离开