【掷骰子游戏】用java来编辑

来源:百度知道 编辑:UC知道 时间:2024/06/17 08:31:51
模拟一组人掷骰子游戏

1. 从键盘输入参加人数。

2. 参加者轮流掷骰子。每人每次同时掷2颗骰子,每颗骰子可能的分数为1--10(随机产
生),一次得分为2颗骰子分数之和。若得分为20,则可再掷一次。若得分再为20,则
再可继续 。

3. 如果有一人累计得分大于等于10000,则停止游戏。胜者为所得总分最少者。并显示
“The winner is player i with a seore of xxxx.”(其中i为胜者的下标)。

程序要求:

1. 建立一 Gamemodel 类。构造函数按输入的人数建立一得分的整型数组t[ ],并将各
元素值初始化为0。此类应具有2个公有方法:
void addNumber(int, i, int, n)和int getNumber(int, i),前者功能为对下标为
i的数组元素增加得分n,后者为返回下标为i的数组元素的值。

2. 建立一 Game类。此类中先输入参加游戏的人数,据此生成Gamemodel实例,然后在公
有方法void run( )中模拟每个游戏者的活动,并输出最终的胜者。(用到的类:
KeyboardReader.此类在TerminalIo包中。方法 readInf( )从键盘读入一整数并返
回。)

麻烦写下详细代码,或者发到我邮箱2439423@163.com,麻烦大家了

import Terminallo;
import java.util.Random;
public class Game{
Gamemodel model;
int n;
public Game(int n){
model=new Gamemodel(n);
this.n=n;
}
public static void main(String[] args){
KeyboardReader reader=new KeyboardReader();
System.out.print("请输入参加人数:");
int n=reader.readInt();
new Game(n).run();
}
public void run(){
rnd=new Random();
int score,winner;
while((winner=model.gameOver())<0){
for(int i=0;i<n;i++){
do{
score=rnd.nextInt(10)+1;
score+=rnd.nextInt(10)+1;
model.addNumber(i,score);
}while(scroe==20);
}
}
System.out.format("The winner is player %1$d with a score of %2$d.\n",winner,mod