资源描述:
《vc论文24点游戏的开发和实现论文》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、24点游戏的开发和实现摘要:近年来,随着经济的日益发展,人们的生活水平不断提高,生活质量也在渐渐的改善。适当的娱乐游戏对人们的业余生活是不可必缺的。说到娱乐游戏,人们可能会想到网络上许许多多让人迷恋的网络游戏,比如说,传奇,奇迹,cs等等。是的,的确这些游戏给人们的业余生活添加了很多乐趣。借鉴网上的边锋游戏,我用vc++开发设计了24点游戏的实现算法,并在windows图形环境下设计出一个人机交互的游戏系统(类似于纸牌游戏)。关键词:穷举法栈递归函数Thedevelopmentandrealiza
2、tionof24piontsgameAbstract:Recently,withthedevelopmentofeconomic,thepeople’slifebecomesbetterandbetter,lifeconditionalsoisimprovingmoreandmore.Properrecreationisindispensableinthepeople’spasttimelife.Mentionedtothegame,peoplemayassociatemanyfascinated
3、onlinegames,suchasLegend,MU,CSandsoon.Certainly,thesegamesenrichpeople’slifewithmoreandmorejoys.Usingthewinggameforreference,Idevelopedanddesignedtherealizationarithmeticof24pointsgame.NextIdesignedahuman-computeralternantgamesystem(similartocardgame)
4、.Keyword:enumeratingmethodstackrecursivefunction31124点游戏算法实现1.124点游戏简介要开发一个游戏不是那么容易的,哪怕是简单的算术游戏。要是没有一定的专业知识,没有一定的思维能力是不行的。24点游戏是一个传统的算术游戏,其游戏之精髓就是考验人脑的反应能力。所谓24点游戏,就是通过加,减,乘,除4则运算,将给定的4个整数算出24。当然,传统的纸牌游戏其数字是有限定范围的,一般是从1到13。经统计,当算的目标数把24改为2的时候,独立解数更多,就
5、是解的形式趣于集中化,大多数最后一步用减法(如:2*8-3*5)。游戏时会感到单调。由于24的因数多,解的形式就丰富,能充分发掘游戏者数学发散思维能力。要做好一个简单的24点游戏要具备很多知识。其中最主要的思想就是,24点的表达式要怎样行成,这是此游戏的关键。而要做一个完美的24点纸牌游戏,则需要的知识将会更多。现今,网络上的纸牌游戏数不甚数,比较出名的有联众游戏,边锋游戏,qq游戏。当然,他们的开发队伍庞大之极不是我们个人可以比及的。因此要一个人做好一个比较完美的游戏,是需要一定的游戏天分。以下
6、我就开发24点游戏的几个关键算法和分析做详细的剖析。1.224点游戏的算法1.2.124点算法(1)24点游戏的算法,其中最主要的思想就是穷举法。所谓穷举法就是列出4个数字加减乘除的各种可能性,包括括号的算法。我们可以将表达式分成以下几种:首先我们将4个数设为a,b,c,d,,其中算术符号有+,—,*,/,(,)。其中有效的表达式有a*(b-c/b),a*b-c*d,等等。列出所有有效的表达式。其中我们用枚举类型将符号定义成数字常量,比如用1表示+,2表示-等。如下是我对穷举法的一种编程语言。在编
7、程的头部要对变量做下定义。其中a,b,c,d的范围是1到13。因为传统的24点游戏是纸牌游戏,而纸牌游戏的数字就是从1到13,其中a是1,K是13,Q是12,J是11,其他的就是牌面的数字。这就需要在定义变量的时候要有限制。在vc++中的MFC31编程中,在定义控件的变量范围可以直接填写变量的最大和最小,在此编程中的最大是13,最小是1。这就给编程写语句带来了方便(因为其自动会生成语句)。下面我介绍下穷举法的主要实现,我们知道要实现24点的算法,就是通过4个数字,4个运算符号和2对括号(最多为2对
8、),通过各种组合判断其结果是否为24。我们用a,b,c,d代替4个数字。考虑每种可能,总的算法就有7种可能。分别为:1,没括号的(形如a*b*c*d);2有括号的(形如(a*b)*c*d);3有括号的(形如(a*b*c)*d);4有括号的(形如a*(b*c)*d);5有括号的(形如(a*b)*(c*d));6有括号的(形如((a*b)*c)*d);7有括号的(形如(a*(b*c))*d)。接下来就是对每一种进行分析判断。我们拿2种情况做为例子,一种是没括号的,一种有括号的。先拿没括