| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 34105 人关注过本帖
标题:[开源]刚刚完成的 速算24点游戏!
只看楼主 加入收藏
dingpin
Rank: 1
等 级:新手上路
帖 子:281
专家分:0
注 册:2007-9-29
收藏
得分:0 
学习中,来一份
dingpin1986521@

我的地盘我做主!
2008-01-30 16:50
a8609785
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2008-2-1
收藏
得分:0 
发个代码谢谢
楼主发个代码 邮箱是a8609785@谢谢
2008-02-01 09:10
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:0 
我想看一下你的代码

24是怎么算的,我想看看算法
呵呵,谢谢

peach5460@

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2008-02-02 16:17
pacocai
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1583
专家分:0
注 册:2007-3-12
收藏
得分:0 
这个是我最早期的一个程序,其实算法我感觉也有问题。
这个程序只能算是我早期学习C#过程中的一个失败品。虽然说失败现在还是有N多…………
这几天快年过了……我这边没办法发邮件。等过完年回来再给大家发。不好意思。

浮生若梦天边月,醉死如酒水中星。红楼一梦千人叹,岂让万夫空做贱。博客:http://hi.baidu.com/rxvip
2008-02-03 02:02
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:0 
呵呵...好的...

你用正则表达式做的吗??

我最近想回忆起那个大学老师讲的课,发现极不起来了

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2008-02-03 08:44
pacocai
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1583
专家分:0
注 册:2007-3-12
收藏
得分:0 
没使用正则表达式,因为只是简单的4个数字运算,用正则表达式有点浪费,不过倒是可以运用工厂模式来实现倒是真的。只不过在做这个程序的时候我不懂正则表达式,更不懂得什么叫工厂模式。

浮生若梦天边月,醉死如酒水中星。红楼一梦千人叹,岂让万夫空做贱。博客:http://hi.baidu.com/rxvip
2008-02-03 08:48
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:0 
额...刚发完那个回帖我就后悔了..用不上正则表达式

最近想写个计算器...
想让textbox一直接收按键点击...然后按等号的时候再去算那个四则运算式...
没头绪...

现在看到什么都像正则表达式了,呵呵

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2008-02-03 09:06
pacocai
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1583
专家分:0
注 册:2007-3-12
收藏
得分:0 
使用工厂模式做计算器,想当的好!你需要开一个类这个类种就一个switch做为运算符的判断,然后在分支条件里再调用不同的类。加法一个类,减法一个类~~~~这样比较好。

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

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

浮生若梦天边月,醉死如酒水中星。红楼一梦千人叹,岂让万夫空做贱。博客:http://hi.baidu.com/rxvip
2008-02-03 10:03
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
收藏
得分:0 
呵呵,谢谢

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2008-02-03 11:46
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
快速回复:[开源]刚刚完成的 速算24点游戏!
数据加载中...
 
   



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

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