毕业论文

打赏
当前位置: 毕业论文 > 计算机论文 >

jsp的24点游戏程序的设计与实现(5)

时间:2022-05-21 10:05来源:毕业论文
逆波兰式是使用了栈的思想。我们将a,b,c,d四个字符依次推入栈中。若在c后面遇到了*号,则将与*号相邻的两个数值相乘,得到一个结果。然后合并b,

逆波兰式是使用了栈的思想。我们将a,b,c,d四个字符依次推入栈中。若在c后面遇到了*号,则将与*号相邻的两个数值相乘,得到一个结果。然后合并b,c栈来存放结果。接着推入b,d,若在d后又出现了*号,则将与*号相邻的两个变量相乘并合并栈,将结果存于栈中。这样的话就可以实现语句a:=b*c+b*d。因此可以轻松得判断输入的表达式是否有误。我们对输入的字符进行判别,如果遇到的字符是除了1—13,+,-,*,/,(,)外的话,则说明输入错误,此算法可以判别是否有语法错误。然后是判断输入的数字是否与系统给的值相符,我们比较一下推入栈的数字和系统的数字,若有不同则报错。需要判断括号匹配的话,我们定义一个整形数组变量a[]和2个整形变量count1,count2,令其初始值为0,当遇到左括号字符则变量a[0]++,并且count1++;遇到第2个左括号则a[1]++,并且count1++,其中数组的序号值由count控制(若count1=1则序号值为1),同理所有的左括号都这么表示。接下来若碰到的第一个右括号,我们令a[0]--,count2++,以下步骤与上文类似。最后,只要在数组中的所有数字的绝对值的总和可以被确定的括号匹配,如果值为0,说明该支架匹配。通过逆波兰式的思想,我们可以轻松判别24点游戏的表达式。

4。3 纸牌游戏界面的算法

4。3。1 获得纸牌界面的算法

要做纸牌游戏就必须要有纸牌的图片。首先截取一副扑克牌的52张牌面,将其加入到我们所做的Java project的image文件夹中。并且系统化命名这52张牌面。例如,可以用a作前缀来表示红桃,b作前缀来表示黑桃,c作前缀来表示草花,d作前缀来表示方片。于是52张牌就能表示清晰。将52张牌的截图命名好后就是要发牌。发牌算法也是需要着重考虑的一个方面。我们用random函数产生四个随机数后,再使用Math。random()*13+1以及Math。random() *4控制这四个随机数的数值与花色,以达到预期的效果。

4。3。2不发重复牌的算法

在设计完成游戏界面之后需要考虑的一个问题是:怎么样才能确保每次发牌的时候不会发相同的牌呢?这是游戏开发中的一个重点,也是程序能否成功的关键所在。事实上,要实现此功能也比较简单。来:自[优.尔]论,文-网www.youerw.com +QQ752018766-

在这里,我们可以定义一个卡类,然后再定义2个私有属性——数量number和种类variety,这是用来表示卡的颜色和数值,再通过面向对象的思想将牌存储到Card类中。

4。3。3重新发牌的算法

游戏中一定会使用到“重新开始”的功能的,因为游戏中你不可能只让玩家算一次就结束,这样就失去了本软件的实际意义了。所以,重新发牌也是一个重要的算法。在API的编程中,我们可以通过刷新函数的技术既可使原来的界面撤销,然后再次绘制界面。

以上是完成一个简单24点游戏必要的算法分析。

jsp的24点游戏程序的设计与实现(5):http://www.youerw.com/jisuanji/lunwen_94065.html
------分隔线----------------------------
推荐内容