代写模拟足球世界杯比赛、代写java程序、代写Player类

代写模拟足球世界杯比赛、代写java程序、代写Player类
对于这项任务,您将模拟足球世界杯的比赛。 这是对实际的FIFA世界杯的简化,无须对足球规则的了解。
这个程序只有一个文本界面,不需要GUI。 对于易于遵循明确的信息/错误消息的游戏,将获得更多的分数。
足球世界杯在4支球队之间进行。 球队排名从1到4,1 显示最高排名,最低4位。 杯赛分两个阶段进行:初赛和决赛。
在预赛阶段,每个球队都要对抗另外三支球队(一共六场比赛)。预赛阶段的比赛将按顺序进行,每场比赛的结果要显示在屏幕上当比赛结束时。预赛阶段,队伍累计3分预示着胜利,1分平手,0分淘汰。
在预备阶段结束时,系统将显示最后结果:
根据以下标准进行排名:
1. 排名根据分数多少从高到底;
2. 如果两队分数相同,进球数多的队伍排名在前。
3. 如果两支队伍不能以任何标准进行排序,那么随机决定哪支队伍排名在前。


预赛结束后,排名前二的队伍进入决赛(必须决出胜负,没有打平的可能)
决赛结束后,将结果显示在屏幕上,包括胜利队名称,金靴奖选手以及公平竞赛奖球队。

你的设计应该至少包括三个class: 1. player: 2. Team; 3. Game.
一个更好的解决方案可以包括更多的类,包括例如Menu和RandomGoalsGenerator。 对于 每个类都应该有一个默认的构造函数和一个接受这些字段值的构造函数作为参数。


Player:
Player的一个对象将至少包含以下fields:
name:类型 string,该名称只能包含字母字符,最多只能包含一个 连字符' - ',以容纳可能被连字符的名字,如Zeta-Jones。 必须有一个 名称中最少有两个字母字符,它应该具有合理的最大长度, 它不能以连字符开头或结尾。 团队中的两名球员不能有相同的名字
goals: 类型 int, 代表着进球数目。这将决定谁是金靴奖最佳射手。

Team:
name: 类型string,代表着参赛队伍的名字。
ranking:int类型。排名必须在1到4之间,没有两个球队可以有相同的排名。
2 players: Player类型。每个队伍将有两名射球手。
每支球队有一张黄牌和红牌得分。 严重犯规将被出示黄牌,而红牌则显示给已经犯规多次的的球员,这些卡与队伍相关联,而不是球员。 黄牌和红牌的显示是随机确定的,两者都很少见,有些比赛根本不会出现。 但红牌通常是黄牌的四倍。 总的黄牌和红牌将决定球队的公平比赛得分, 这将被用来确定杯子的公平竞赛奖。 每张黄牌都值一分, 每张红牌值得两分。 总分越低,球队越公平。
除了这些以外,team class里面必须有一个可以储存和返回有关队伍在比赛中表现的信息
你可以决定下面哪些为你的fields:the number of games the team has played , the number of games won, lost, drawn, number of goals scored, and overall points.
Game class:
Game类将至少有一个fields,一个Team objects的ArrayList。Game class至少具有三个方法: playGames(),playPenaltyShootOut(),和displayGameResult()

playGames()模拟比赛的两支球队之间的游戏,通过随机生成每队获得的进球数量。 生成的进球数量应该在指定的范围内。排名最高的球队将有更大的机会获奖。 这将通过给予排名较高的团队更广泛的可能目标来模拟 如下:
?排名较高的球队:球门范围为0到(5 +随机数(随机数 在0和2之间))
?排名较低的球队:一个0到(( 5-球队排名差异)+随机数(0至2之间的随机数))
两名球员随机进球。

playPenaltyShootOut()方法模拟点球大战,决赛以平局结束需要进行点球。 每个队的一名球员有5个射门机会。 球队的球员在五次结束时拥有最高的进球数胜利。 如果分数相等,那么每个球员又有一球射门。 这一直持续到有结果。 球员得分的进球,在点球大战中不计入金靴奖。

displayGameResult()方法显示游戏结束时的结果,例如:
比赛结果:西班牙4比澳大利亚0
获得的红黄牌:澳大利亚 - 1张红牌。
球队记录(比赛,胜利等)在比赛结束后更新。

程序启动时,系统从文件'teams.txt'中读取每个团队的详细信息。 细节包括每个团队的名字和排名。 一旦信息从文件加载完成,在程序的实际运行过程中没有更多的读取或写入文件的行为。
然后程序提示用户输入每个球队中两名球员的名字,他们将成为进球手。 如果输入的名称无效,则会提示用户重新输入。 如果名字重新输入仍然是无效的,那么系统自动分配一个默认值,例如player-1-peter。

系统将会显示菜单选项,使用Scanner Class来获得输入。
A. Play Preliminary Stage
B. Play Final
C. Display Teams
D. Display Players
E. Display Cup Result
X. Close
如果玩家选择A 则开始预赛阶段。
如果选择B, 决赛将在初赛的前两名之间进行。如果B被选中时,尚未开始预赛,则显示错误信息。如果最终平局,那么点球进行决胜。
如果选择C,则显示每个team的记录。例如:

如果选择D,则球员列出他们的进球数量,列表无需排序,例如:

如果选择了E: 冠军队伍的名字,金靴奖获得选手,公平奖获得队伍将会显示在屏幕上。例如:
Football World Cup Winner: Australia
Golden Boot Award: Ronaldo from Spain
Fair Play Award: Ghana and China
请注意,可以有多个玩家赢得金靴奖,并且可以有多个赢得公平竞赛奖的团队。

在选择完A-E后,菜单将被重新显示。
如果用户选择选项'X',则系统应该把E显示的信息写入一个名为'statistics.txt'的文件。 系统将关闭
http://www.daixie0.com/contents/9/1328.html

猜你喜欢

转载自www.cnblogs.com/fsnh/p/8998351.html