斯坦福大学开放课程——编程方法 作业5
来源:互联网 发布:js教程视频下载 编辑:程序博客网 时间:2024/05/13 05:00
原PDF中的内容不想一点点的翻译过来,直接Goolge了一下游戏规则贴上来了。其基本内容相同
游戏规则
每位玩家丢五个骰子, 总和最高的玩家为起始玩家, 其它依顺时钟方式进行每个玩家回合将五个骰子丢进骰子杯里, 摇动后翻开来, 每个回合最多有摇三次机会, 当第一次摇出后, 玩家可以选择任意数量的骰子丢回骰子杯里重摇, 第二次摇后,玩家可以再选择丢任意数量的骰子丢回骰子杯里重摇, 包括第一次保留的, 最后一次摇完后即计分
计分卡
在计分卡有 13 格计分位置, 分别详述如下
1's 每一个1得到 1分
2's 每一个2得到 2分
3's 每一个3得到 3分
4's 每一个4得到 4分
5's 每一个5得到 5分
6's 每一个6得到 6分
3 of a Kind 若你有三颗一样的骰子, 加总所有骰子的总和
4 of a Kind 若你有四颗一样的骰子, 加总所有骰子的总和
Full House 若你有一种三颗一样的骰子及一种二颗一样的骰子, 得25分
small straight 需要四个连续数字骰子, 得30分
straight 需要五个连续数字骰子, 得40分
Yahtzee 若你有五颗一样的骰子, 得50分
Chance 加总所有骰子的总和
奖分
游戏中共有二种奖分
1.若上层数字 1 到 6 的总和相加等于或大于 63 分, 可以得到 35 分奖分
* 2.若你已在Yahtzee的地方计分, 每再额外掷出一个Yahtzee则会得到 100 额外的奖分, 你可以放在下层任一格当作Joker或是放在上层正常计分(本程序中未考虑)
游戏结束
当13格均已计满后, 计算总分, 分数最高着获胜
其主体思路很简单,游戏共进行13轮,每轮中玩家一次进行。在每轮内,玩家按照游戏规则进行掷骰子并选择相关策略,完成后,根据玩家的选择,程序判断是否满足该策略的要求并更新右侧的积分表。游戏结束后,程序统计各玩家的Upper Score、Upper Bonus、Lower Score以及最终的Total,并找出最高得分者输出最终的胜利信息。
程序源代码如下(由于YahtzeeConstants.java内只包含相关的常量,故只贴出Yahtzee.java文件):
最后再加一个游戏截图
- 斯坦福大学开放课程——编程方法 作业2 - 5
- 斯坦福大学开放课程——编程方法 作业5
- 斯坦福大学开放课程——编程方法 作业1-1
- 斯坦福大学开放课程——编程方法 作业1-2
- 斯坦福大学开放课程——编程方法 作业1-3
- 斯坦福大学开放课程——编程方法 作业1-4
- 斯坦福大学开放课程——编程方法 作业2 - 1
- 斯坦福大学开放课程——编程方法 作业2 - 2
- 斯坦福大学开放课程——编程方法 作业2 - 3
- 斯坦福大学开放课程——编程方法 作业2 - 4
- 斯坦福大学开放课程——编程方法 作业2 - 6
- 斯坦福大学开放课程——编程方法 作业3
- 斯坦福大学开放课程——编程方法 作业6
- 斯坦福大学开放课程——编程方法 作业7
- 斯坦福大学开放课程——编程方法 作业1-2,个人实现方法。
- 斯坦福大学开放课程——编程方法 作业1-3,个人实现方法。
- 斯坦福大学开放课程——编程方法 作业4 Part I
- 斯坦福大学开放课程——编程方法 作业4 完整代码
- session过期 从框架页跳出到login.jsp
- TCP
- Android JNI编程提高篇之二
- JS页脚转换实现
- ORACLE数据块
- 斯坦福大学开放课程——编程方法 作业5
- 适合小型winform软件的权限思路
- 深入理解Android消息处理系统——Looper、Handler、Thread
- 适合小型winform软件的权限思路
- VMWare下安装MAC OS X Snow Leopard 10.6
- Oracle Date Functions
- TextView 或者 EidtView 。。。。 显示文字如果超长, 显示 ...
- 又一个Wordpress主题在线制作网站-超强推荐
- Windows Phone 7 系统信息获取示例