| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 34105 人关注过本帖
标题:[开源]刚刚完成的 速算24点游戏!
取消只看楼主 加入收藏
pacocai
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1583
专家分:0
注 册:2007-3-12
收藏
得分:0 
先把里面的字符串提出来,转成整型再计算就可以了。

以运算符分开,分次提出来计算。

浮生若梦天边月,醉死如酒水中星。红楼一梦千人叹,岂让万夫空做贱。博客:http://hi.baidu.com/rxvip
2007-09-28 20:22
pacocai
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1583
专家分:0
注 册:2007-3-12
收藏
得分:0 

cjf_021@163.com
wujumao@163.com
7600093@qq.com

  已经发送,请查收!


浮生若梦天边月,醉死如酒水中星。红楼一梦千人叹,岂让万夫空做贱。博客:http://hi.baidu.com/rxvip
2007-10-15 06:14
pacocai
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1583
专家分:0
注 册:2007-3-12
收藏
得分:0 
wang54554@126.com 已经发送。

浮生若梦天边月,醉死如酒水中星。红楼一梦千人叹,岂让万夫空做贱。博客:http://hi.baidu.com/rxvip
2007-10-29 09:57
pacocai
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1583
专家分:0
注 册:2007-3-12
收藏
得分:0 
这个是我最早期的一个程序,其实算法我感觉也有问题。
这个程序只能算是我早期学习C#过程中的一个失败品。虽然说失败现在还是有N多…………
这几天快年过了……我这边没办法发邮件。等过完年回来再给大家发。不好意思。

浮生若梦天边月,醉死如酒水中星。红楼一梦千人叹,岂让万夫空做贱。博客:http://hi.baidu.com/rxvip
2008-02-03 02:02
pacocai
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1583
专家分:0
注 册:2007-3-12
收藏
得分:0 
没使用正则表达式,因为只是简单的4个数字运算,用正则表达式有点浪费,不过倒是可以运用工厂模式来实现倒是真的。只不过在做这个程序的时候我不懂正则表达式,更不懂得什么叫工厂模式。

浮生若梦天边月,醉死如酒水中星。红楼一梦千人叹,岂让万夫空做贱。博客:http://hi.baidu.com/rxvip
2008-02-03 08:48
pacocai
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1583
专家分:0
注 册:2007-3-12
收藏
得分:0 
使用工厂模式做计算器,想当的好!你需要开一个类这个类种就一个switch做为运算符的判断,然后在分支条件里再调用不同的类。加法一个类,减法一个类~~~~这样比较好。

你的想法我大概能知道,其实这样也比较简单,每次的输入都是单次增加,你可以先对他每次输入的运算符和加减号做处理。最后他按等号的时候就直接给出答案,不过这种方法只能实现加减法,因为乘除会有一个优先运算。这个问题当时我也有遇到过。

说实话,我还真把具体的算法忘了,这个我到时候查一下这个程序的源代码,这个源代码里有这个算法。

浮生若梦天边月,醉死如酒水中星。红楼一梦千人叹,岂让万夫空做贱。博客:http://hi.baidu.com/rxvip
2008-02-03 10:03
pacocai
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1583
专家分:0
注 册:2007-3-12
收藏
得分:0 
呵呵,我当时的算法是这样,如果只是加减运算的话就照常加减。当如果发现有乘号的时候你就把乘法另外计算,最后将值与放到加减运算中去……这样最后不管你怎样放罢这个四则运算最后的答案就能保证这个序列的正确性。

用一个变量来记录总的运算记录。
A=(普通加减运算的和)
设置两个变量,分别记录两个不同的变量值。
C,D
设置一个变量做为乘队法的计算结果
E
1+1*2/2
你这样的就是先做1+1的运算,那么总变量里的A值就是2,
接着开始继续往下,发现乘号以后那就是说你的第一个变量做的运算就是多余的,那就从总的变量中把所加的1减掉,然后再用所记录的第二个变量先做乘的运算,最后再加乘运算的结果与第一变量相加。以此推算下去的话,最后就是先进行了乘计算,再进行了除计算,最后就是加法运算。算法大概是这样,不知道你能明白么?我说得比较乱……

还有另一种情况,那就是在四则运算中有括号的情况下的处理,你就要做括号的判断,用两个变量来记录括号中的运算公式,和上面一样,只不过是多了一步就是当括号中的运算结束以后再与最后的记录进行简单的加减运算就可以了。

上面这是一种算法,实现起来比较容易。还有一种算法,那就是对字符串进行查找和分析,先对字符串中是否有括号进行查找,如果有括号就把括号中的东西提出来计算,计算以后记入变量中,然后再对乘除号进行计算,最后再对加减进行提取计算,这个的话主要就是提取字符中……其实要实现也不难。

这两种方法你可以对比一下,挑自己喜欢的方法去实现。其它的我暂时没有好的方案。如果你有想到的话分享一下。

浮生若梦天边月,醉死如酒水中星。红楼一梦千人叹,岂让万夫空做贱。博客:http://hi.baidu.com/rxvip
2008-02-03 13:30
pacocai
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1583
专家分:0
注 册:2007-3-12
收藏
得分:0 
问题是你要注意你的TEXTBOX输入以后是字符串……如果不是字符串提取计算的话,那就只能从输入的时候就着手记录。如果需要是一整个四则运算的话,说实话,没想出什么有效的算法。

你再思考一下,如果有好的算法告诉我一声,现在正在研究连连看的算法。呵呵……

浮生若梦天边月,醉死如酒水中星。红楼一梦千人叹,岂让万夫空做贱。博客:http://hi.baidu.com/rxvip
2008-02-03 17:05
pacocai
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1583
专家分:0
注 册:2007-3-12
收藏
得分:0 
首先谢谢各位棒场,本人在此申请,这个程序是很早以前写的,我个人感觉这个程序不尽人意的地方太多了,所以现在这个程序停发。在此做为申明。因为这个程序中个人感觉没有任何的技术含量,所以确实我感觉也不好意思再把这个烂程序发出来。望各位能谅解!在近段时间如果有时间我会写其它的程序开源给大家共享。

浮生若梦天边月,醉死如酒水中星。红楼一梦千人叹,岂让万夫空做贱。博客:http://hi.baidu.com/rxvip
2008-03-17 16:12
pacocai
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1583
专家分:0
注 册:2007-3-12
收藏
得分:0 
现在我手上已经没有这个源程序了,需要的朋友请直接到CSDN去下吧,下载地址:http://download.

浮生若梦天边月,醉死如酒水中星。红楼一梦千人叹,岂让万夫空做贱。博客:http://hi.baidu.com/rxvip
2008-05-13 13:54
快速回复:[开源]刚刚完成的 速算24点游戏!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.045973 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved