您的位置:首页 > 编程语言 > C#

基于C#制作的狼人游戏介绍

2017-07-03 18:16 351 查看
马上就要成为大二的“腊肉”了,想写点东西把大一做过的东西记录一下,一来可以和关注我们的小伙伴还有大一的“小鲜肉”做个分享,二来也可以为我的大一留一点回忆。

感慨的部分就到这了,下面来具体的说一说这个游戏:

ps:如果你觉得:C语言还看不明白呢,还看C#。那就错了,熟悉这个游戏的人都知道这是一个过程性的游戏,所以我的核心代码也是采用面向过程(与C一致)来写的,在C#的特殊之处我也会特别说明

1.游戏截图









你也许会好奇,怎么我写出来的程序都是在丑丑的小黑框里(控制台程序)呢?



这就是C#与C最直观的区别,C#可以用于编写以上四种应用程序,而
4000
windows form 窗体程序就是最接近我们使用的电脑程序的类型,这次我采用的就是windows form程序类型。

 

2.windows form程序初始化界面





一个form程序分成两部分:前面板和后台。后台就是编写代码的地方,除了C#自带的命名空间和写在类里的主程序,和C无异。重点说一下前面板的设计,前面板可以添加工具箱里的各类控件来进行交互,常见的如label(标签)控件,button(按钮)控件。



在控件的属性里可以对该控件进行设计以达到你想要的控件状态,控件能够这样直接的设计还得感谢微软的封装。

3.按钮控件的点击事件



平时在程序里我们执行最多的动作就是鼠标点击触发,其实这种交互的背后就是一个简单的点击事件函数,在游戏里,诸如界面切换,身份抽取,杀害玩家等功能都是设定为法官点击按钮触发功能,如果你想实现点击触发的话,只需要把相关的代码写入点击事件函数(事件可以在控件属性的旁边切换),常用的有button_click事件和form_load(窗体加载)事件。

4.抽取身份,查验身份设计





身份是整个游戏的关键部分,现实中的游戏常常因为发错牌,发重牌,或者因为法官在验牌时出现失误而影响了游戏的进行。抽牌时,我的思路是用一个数组先储存好身份信息,然后产生一个0~7的随机数,取出对应地址的身份,这里还利用到了C#的remove函数来实现数组指定地址(以抽取的地址)位移除,C语言中的数组是静态的初始化后就没办法更改数组长度无法实现这个功能。



查验身份的设计是采用一个空数组,按照抽牌的顺序依次把身份信息存储到这个数组里,将combobox(下拉列表)控件和这个数组进行数据绑定,这样选择combobox里的玩家号码,就可以在一个label控件上显示该玩家的身份咯。

5.身份功能的实现和结果判断机制



身份的技能主要是狼人和女巫的技能,在主程序里定义好了一个玩家类包含了我们要用的玩家信息,通过对游戏界面中控件的操作,

在后台为这些信息赋值,



每一个天亮后,结果判断机制会收集这些信息进行判断,是否已经满足游戏结束,若不满足继续游戏。

6.结束语

整个游戏大概就介绍这些,因为狼人游戏的精髓还在于分析,观察,所以这个程序只能说提供了一个游戏环境。相较于这个游戏,我更希望与大家交流的是C#,C#能在“编程界”占据半壁江山,除了因为它是微软的亲儿子之外,也是因为它的易用性和功能上的丰富。

刚开始学习一门技术,总会遇到很多困难,多百度,多看书,当你上手之后,就会欣喜的发现自己又get了一个技能包,自己又向大神迈进了一步,与各位共勉!

如果对软件方面有什么想法欢迎交流,QQ:261980224

谢谢阅读!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐