【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:大家有什么问题可以留言一起讨论哈!!!大笑






目录
相关文章
|
6月前
|
C# 图形学
C#之四十九 游戏编程周每日总结
C#之四十九 游戏编程周每日总结
32 0
|
1月前
|
存储 C# 开发工具
22.C# 中使用变量记录玩家创建的角色名:实现与游戏角色的互动
22.C# 中使用变量记录玩家创建的角色名:实现与游戏角色的互动
14 0
|
3月前
|
定位技术 C# 图形学
Unity和C#游戏编程入门:创建迷宫小球游戏示例
Unity和C#游戏编程入门:创建迷宫小球游戏示例
72 2
|
8月前
|
C#
C#实现的打飞机游戏(课程设计)
C#实现的打飞机游戏(课程设计)
99 1
|
存储 C# UED
C# 拼图游戏(超详细)
C# 拼图游戏(超详细)
380 0
C# 拼图游戏(超详细)