博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#程序之二 -- 数独小游戏(1. UI设计)
阅读量:7232 次
发布时间:2019-06-29

本文共 814 字,大约阅读时间需要 2 分钟。

老师分配的项目需要编软件,刚好最近一直在玩手机上的数独,所以就想用空余时间写一个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 语句都是完全没问题的啦,哈哈。

参考链接: (讨论内容非常精彩)

目前的游戏界面:

转载于:https://www.cnblogs.com/dream4ever/p/4204647.html

你可能感兴趣的文章
Node入门教程(10)第八章:Node 的事件处理
查看>>
组策略应用之一:映射网络驱动器
查看>>
程序复杂度之圈复杂度
查看>>
【入门须知】学DIV CSS技术如何入门?学DIV CSS技术入门
查看>>
flask 中从eml中获取头邮件头信息
查看>>
laravel上传文件&获取请求实例(隐式)
查看>>
适配低内存手机让app存在多个进程
查看>>
BW中DSO的分类
查看>>
echo -en
查看>>
Mysql 复制(Replication)实现
查看>>
我的友情链接
查看>>
jar生成exe可执行的程序
查看>>
date 转化为 指定格式的String
查看>>
使用virtualbox安装RHEL 6.2+Oracle 11g
查看>>
系统的域名服务
查看>>
MySQL 复制表结构
查看>>
《Effective C#》条款8:确保0为值类型的有效状态
查看>>
动态迁移应用服务器(Esxi 动态迁移技术,业务不间断,在线迁移)
查看>>
systemd coding style
查看>>
warning: control reaches end of non-void function
查看>>