【c#】24点游戏的实现(可存档且局域网互联)

简介:            (更新,附上此款游戏的源代码供大家学习吧!http://download.csdn.net/detail/gshengod/5774531)       lz辛苦考上了北邮的研究生,刚进入实验室,就接到了一个棘手的任务,被要求编写一个24点游戏,而且要可存档可局域网互联。对于我这个刚刚开始学习编程的菜鸟是个不小的挑战。好了,现在进入正题,大牛们可无视,小菜鸟们可以

          

(更新,附上此款游戏的源代码供大家学习吧!http://download.csdn.net/detail/gshengod/5774531

      lz辛苦考上了北邮的研究生,刚进入实验室,就接到了一个棘手的任务,被要求编写一个24点游戏,而且要可存档可局域网互联。对于我这个刚刚开始学习编程的菜鸟是个不小的挑战哭。好了,现在进入正题,大牛们可无视,小菜鸟们可以看过来,我将分享我的学习历程。

         首先是用vs2008进行界面方面的设计,建立form类的窗口,把工具箱打开,这样就可以实现向里拖拉一些按钮。然后可以自己搞一些图片加到背景image中,这样可以让程序看起来更好看。如下图。

接下来是比较复杂的代码部分了。

         先讲level1,是实现机器自动计算实现24点的运算。用random函数,可以实现出现四个随机数,我们要做的就是将它们加上括号或是加减乘除的按钮,让他们结果为24。这个主要是用的遍历的思想,因为我们可以将式子分为两种,一种是((a*b)+c+d)但括号形式。一种是两括号形式,(a+b)*(c-d)形式。

具体计算方法详见代码中的Randomnew.cs类。levle1如图


         level2是要求我们在得知四个数字的情况下,输入表达式,看是否为24.这个因为计算机读不动string中的符号,所以要用正则方法将数字与算数符分离,因为括号乘除加减等的优先级不同,所以要分别将其按不同的优先级入栈,在计算。具体可见我的代码中的类Algorithm.cs,这部分也可到这里下载看下http://download.csdn.net/detail/gshengod/5738011。至于存档读档,要用的数据流的知识

FileStreamfs=newFileStream("D:\\workplace\\save.txt",FileMode.Create,FileAccess.Write);
StreamWriter sw = new StreamWriter(fs,System.Text.Encoding.GetEncoding("GB2312"));
 。还有就是timer控件,对于倒计时方面主要代码

int time = int.Parse(arr[1]);
            lefttime = time;
            this.timer1.Start();

this.label7.Text = "剩余时间" + lefttime.ToString() ;
            lefttime--;
            if (lefttime == 0)
            {
                Randomnew b1 = new Randomnew();
                string answer = b1.compute(label2.Text, label3.Text, label4.Text, label5.Text);
                MessageBox.Show("time out,正确答案是" + answer);

level2图片如下:



             level3则是关于局域网互联的知识,主要是socket编程方面的应用,可以下载这个作为参考,这个代码写的很好http://download.csdn.net/detail/gshengod/5738067

嗯,就是这些吧,我还在改一些小bug,过两天会吧代码完整版发上来分享。



ps:大家有什么问题可以留言一起讨论哈!!!大笑






目录
相关文章
|
C# 图形学
C#之四十九 游戏编程周每日总结
C#之四十九 游戏编程周每日总结
53 0
|
2月前
|
SQL API 定位技术
基于C#使用winform技术的游戏平台的实现【C#课程设计】
本文介绍了基于C#使用WinForms技术开发的游戏平台项目,包括项目结构、运行截图、实现功能、部分代码说明、数据库设计和完整代码资源。项目涵盖了登录注册、个人信息修改、游戏商城列表查看、游戏管理、用户信息管理、数据分析等功能。代码示例包括ListView和ImageList的使用、图片上传、图表插件使用和SQL工具类封装,以及高德地图天气API的调用。
基于C#使用winform技术的游戏平台的实现【C#课程设计】
|
4月前
|
存储 缓存 C#
C#语言编写的仅有8KB大小的简易贪吃蛇开源游戏
C#语言编写的仅有8KB大小的简易贪吃蛇开源游戏
C#语言编写的仅有8KB大小的简易贪吃蛇开源游戏
|
6月前
|
存储 运维 BI
基于C#-VC-MSSQL开发的全套PACS系统源码 3D PACS系统源码:可实现医学影像获取、存档、观片、处理、打印多项应用
PACS的功能价值在于通过连接不同的影像设备,存储与管理图像,图像的调用与后处理,实现资源共享,降低成本,达到提高工作效率、提升医疗水平的目地;
76 1
基于C#-VC-MSSQL开发的全套PACS系统源码  3D PACS系统源码:可实现医学影像获取、存档、观片、处理、打印多项应用
|
6月前
|
程序员 C# Python
100行python代码,轻松完成贪吃蛇小游戏_c#游戏100行代码(2)
100行python代码,轻松完成贪吃蛇小游戏_c#游戏100行代码(2)
|
6月前
|
存储 程序员 C#
100行python代码,轻松完成贪吃蛇小游戏_c#游戏100行代码
100行python代码,轻松完成贪吃蛇小游戏_c#游戏100行代码
|
6月前
|
存储 C# 开发工具
22.C# 中使用变量记录玩家创建的角色名:实现与游戏角色的互动
22.C# 中使用变量记录玩家创建的角色名:实现与游戏角色的互动
58 0
|
6月前
|
定位技术 C# 图形学
Unity和C#游戏编程入门:创建迷宫小球游戏示例
Unity和C#游戏编程入门:创建迷宫小球游戏示例
150 2
C#实现的打飞机游戏(课程设计)
C#实现的打飞机游戏(课程设计)
144 1