
正文
免费java骰子源代码 骰子代码的编程
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
关于Java算法编程的 做一个小游戏,电脑随机生成三个骰子(每个骰子点数为1~6),将这三个数相加。
1 设计一个int数组!长度为3.
2 设计3个变量!a, b, c. 分别取值为1-6.int a= new Random(6)+1.重复b, c.
3 把a, b, c放入数组中!
4 循环遍历数组把三个元素相加 输出这把总和是
5 判断总和能否被2整除,如果能,输出是双数,不能输出是单数!
6 判断大小 大于等于4小于等于10 显示开小
大于等于11小于等于17显示开大
7 遍历数组 判断三个元素是否相等 相等显示开豹子。。
手机打字!!有什么问题在问吧
相关问答
Q1: java 编写程序:投掷2个骰子,200次
import java.util.Scanner;public class Dice {
private int nums[] = {0, 0, 0, 0, 0, 0};//下标为点数
private String diceName;
public Dice(String name) {
diceName = name;
}
public int throwDice() {
int index = (int)(Math.random() * 10 % 6);//0-5随机数
nums[index]++;
return index + 1;//返回掷出的点数
}
public void showNums() {
for(int i = 0; i nums.length; i++) {
System.out.println(diceName + "投掷时," + (i + 1) + "点出现了:" + nums[i] + "次");
}
System.out.println();
}
public int showNums(int num) {
if(num 1 || num 6) {
return 0;
}
return nums[num - 1];
}
public int[] getNums() {
return nums;
}
public static void main(String[] args) {
Dice diceA = new Dice("diceA");
Dice diceB = new Dice("diceB");
int i = 1;
while(i = 200) {
System.out.print("diceA投掷点数为:" + diceA.throwDice() + ";");
System.out.print("diceB投掷点数为:" + diceB.throwDice() + "\t");
if(i % 10 == 0) {
System.out.println();
}
i++;
}
Scanner input = new Scanner(System.in);
System.out.print("请输入数字:");
int num = input.nextInt();
System.out.println("diceA输出" + num + "点" + diceA.showNums(num) + "次");
System.out.println("diceB输出" + num + "点" + diceB.showNums(num) + "次");
}
}输出:diceA投掷点数为:2;diceB投掷点数为:3 diceA投掷点数为:3;diceB投掷点数为:1 diceA投掷点数为:4;diceB投掷点数为:1 diceA投掷点数为:2;diceB投掷点数为:3 diceA投掷点数为:6;diceB投掷点数为:2 diceA投掷点数为:6;diceB投掷点数为:2 diceA投掷点数为:1;diceB投掷点数为:3 diceA投掷点数为:4;diceB投掷点数为:3 diceA投掷点数为:3;diceB投掷点数为:2 diceA投掷点数为:1;diceB投掷点数为:1
diceA投掷点数为:3;diceB投掷点数为:6 diceA投掷点数为:4;diceB投掷点数为:1 diceA投掷点数为:6;diceB投掷点数为:5 diceA投掷点数为:3;diceB投掷点数为:4 diceA投掷点数为:6;diceB投掷点数为:2 diceA投掷点数为:3;diceB投掷点数为:5 diceA投掷点数为:2;diceB投掷点数为:3 diceA投掷点数为:3;diceB投掷点数为:3 diceA投掷点数为:2;diceB投掷点数为:1 diceA投掷点数为:2;diceB投掷点数为:1
diceA投掷点数为:3;diceB投掷点数为:5 diceA投掷点数为:1;diceB投掷点数为:2 diceA投掷点数为:5;diceB投掷点数为:2 diceA投掷点数为:3;diceB投掷点数为:1 diceA投掷点数为:6;diceB投掷点数为:4 diceA投掷点数为:2;diceB投掷点数为:3 diceA投掷点数为:2;diceB投掷点数为:2 diceA投掷点数为:2;diceB投掷点数为:5 diceA投掷点数为:1;diceB投掷点数为:3 diceA投掷点数为:2;diceB投掷点数为:2
diceA投掷点数为:1;diceB投掷点数为:3 diceA投掷点数为:2;diceB投掷点数为:6 diceA投掷点数为:3;diceB投掷点数为:4 diceA投掷点数为:2;diceB投掷点数为:1 diceA投掷点数为:4;diceB投掷点数为:5 diceA投掷点数为:3;diceB投掷点数为:4 diceA投掷点数为:1;diceB投掷点数为:3 diceA投掷点数为:3;diceB投掷点数为:6 diceA投掷点数为:4;diceB投掷点数为:6 diceA投掷点数为:1;diceB投掷点数为:5
diceA投掷点数为:2;diceB投掷点数为:2 diceA投掷点数为:1;diceB投掷点数为:3 diceA投掷点数为:1;diceB投掷点数为:4 diceA投掷点数为:4;diceB投掷点数为:6 diceA投掷点数为:5;diceB投掷点数为:3 diceA投掷点数为:4;diceB投掷点数为:4 diceA投掷点数为:4;diceB投掷点数为:3 diceA投掷点数为:4;diceB投掷点数为:3 diceA投掷点数为:2;diceB投掷点数为:3 diceA投掷点数为:1;diceB投掷点数为:1
diceA投掷点数为:6;diceB投掷点数为:3 diceA投掷点数为:1;diceB投掷点数为:5 diceA投掷点数为:4;diceB投掷点数为:4 diceA投掷点数为:6;diceB投掷点数为:4 diceA投掷点数为:6;diceB投掷点数为:6 diceA投掷点数为:5;diceB投掷点数为:5 diceA投掷点数为:1;diceB投掷点数为:4 diceA投掷点数为:4;diceB投掷点数为:4 diceA投掷点数为:6;diceB投掷点数为:1 diceA投掷点数为:2;diceB投掷点数为:2
diceA投掷点数为:4;diceB投掷点数为:3 diceA投掷点数为:6;diceB投掷点数为:1 diceA投掷点数为:2;diceB投掷点数为:2 diceA投掷点数为:3;diceB投掷点数为:6 diceA投掷点数为:1;diceB投掷点数为:3 diceA投掷点数为:3;diceB投掷点数为:1 diceA投掷点数为:2;diceB投掷点数为:5 diceA投掷点数为:2;diceB投掷点数为:4 diceA投掷点数为:1;diceB投掷点数为:6 diceA投掷点数为:1;diceB投掷点数为:4
diceA投掷点数为:1;diceB投掷点数为:3 diceA投掷点数为:3;diceB投掷点数为:6 diceA投掷点数为:2;diceB投掷点数为:2 diceA投掷点数为:5;diceB投掷点数为:1 diceA投掷点数为:6;diceB投掷点数为:5 diceA投掷点数为:5;diceB投掷点数为:1 diceA投掷点数为:5;diceB投掷点数为:2 diceA投掷点数为:4;diceB投掷点数为:6 diceA投掷点数为:6;diceB投掷点数为:5 diceA投掷点数为:6;diceB投掷点数为:6
diceA投掷点数为:1;diceB投掷点数为:3 diceA投掷点数为:2;diceB投掷点数为:1 diceA投掷点数为:2;diceB投掷点数为:2 diceA投掷点数为:3;diceB投掷点数为:1 diceA投掷点数为:1;diceB投掷点数为:2 diceA投掷点数为:2;diceB投掷点数为:1 diceA投掷点数为:5;diceB投掷点数为:3 diceA投掷点数为:5;diceB投掷点数为:1 diceA投掷点数为:6;diceB投掷点数为:1 diceA投掷点数为:1;diceB投掷点数为:2
diceA投掷点数为:2;diceB投掷点数为:2 diceA投掷点数为:5;diceB投掷点数为:3 diceA投掷点数为:3;diceB投掷点数为:1 diceA投掷点数为:3;diceB投掷点数为:1 diceA投掷点数为:3;diceB投掷点数为:2 diceA投掷点数为:5;diceB投掷点数为:2 diceA投掷点数为:2;diceB投掷点数为:3 diceA投掷点数为:6;diceB投掷点数为:1 diceA投掷点数为:4;diceB投掷点数为:2 diceA投掷点数为:5;diceB投掷点数为:3
diceA投掷点数为:6;diceB投掷点数为:3 diceA投掷点数为:2;diceB投掷点数为:5 diceA投掷点数为:4;diceB投掷点数为:4 diceA投掷点数为:4;diceB投掷点数为:4 diceA投掷点数为:2;diceB投掷点数为:3 diceA投掷点数为:4;diceB投掷点数为:3 diceA投掷点数为:3;diceB投掷点数为:4 diceA投掷点数为:1;diceB投掷点数为:3 diceA投掷点数为:6;diceB投掷点数为:2 diceA投掷点数为:3;diceB投掷点数为:5
diceA投掷点数为:2;diceB投掷点数为:2 diceA投掷点数为:3;diceB投掷点数为:4 diceA投掷点数为:2;diceB投掷点数为:5 diceA投掷点数为:6;diceB投掷点数为:5 diceA投掷点数为:1;diceB投掷点数为:3 diceA投掷点数为:3;diceB投掷点数为:4 diceA投掷点数为:1;diceB投掷点数为:2 diceA投掷点数为:3;diceB投掷点数为:5 diceA投掷点数为:1;diceB投掷点数为:3 diceA投掷点数为:1;diceB投掷点数为:5
diceA投掷点数为:2;diceB投掷点数为:5 diceA投掷点数为:1;diceB投掷点数为:5 diceA投掷点数为:2;diceB投掷点数为:4 diceA投掷点数为:1;diceB投掷点数为:5 diceA投掷点数为:2;diceB投掷点数为:4 diceA投掷点数为:2;diceB投掷点数为:4 diceA投掷点数为:1;diceB投掷点数为:1 diceA投掷点数为:2;diceB投掷点数为:6 diceA投掷点数为:1;diceB投掷点数为:6 diceA投掷点数为:3;diceB投掷点数为:4
diceA投掷点数为:6;diceB投掷点数为:2 diceA投掷点数为:4;diceB投掷点数为:6 diceA投掷点数为:3;diceB投掷点数为:6 diceA投掷点数为:1;diceB投掷点数为:2 diceA投掷点数为:1;diceB投掷点数为:3 diceA投掷点数为:6;diceB投掷点数为:2 diceA投掷点数为:6;diceB投掷点数为:6 diceA投掷点数为:4;diceB投掷点数为:1 diceA投掷点数为:5;diceB投掷点数为:3 diceA投掷点数为:1;diceB投掷点数为:1
diceA投掷点数为:1;diceB投掷点数为:4 diceA投掷点数为:6;diceB投掷点数为:2 diceA投掷点数为:1;diceB投掷点数为:1 diceA投掷点数为:1;diceB投掷点数为:3 diceA投掷点数为:2;diceB投掷点数为:6 diceA投掷点数为:1;diceB投掷点数为:2 diceA投掷点数为:1;diceB投掷点数为:6 diceA投掷点数为:1;diceB投掷点数为:1 diceA投掷点数为:6;diceB投掷点数为:3 diceA投掷点数为:1;diceB投掷点数为:3
diceA投掷点数为:1;diceB投掷点数为:6 diceA投掷点数为:1;diceB投掷点数为:3 diceA投掷点数为:4;diceB投掷点数为:2 diceA投掷点数为:2;diceB投掷点数为:6 diceA投掷点数为:1;diceB投掷点数为:4 diceA投掷点数为:4;diceB投掷点数为:3 diceA投掷点数为:3;diceB投掷点数为:3 diceA投掷点数为:2;diceB投掷点数为:5 diceA投掷点数为:2;diceB投掷点数为:3 diceA投掷点数为:3;diceB投掷点数为:2
diceA投掷点数为:1;diceB投掷点数为:2 diceA投掷点数为:2;diceB投掷点数为:3 diceA投掷点数为:1;diceB投掷点数为:3 diceA投掷点数为:1;diceB投掷点数为:4 diceA投掷点数为:4;diceB投掷点数为:4 diceA投掷点数为:4;diceB投掷点数为:3 diceA投掷点数为:2;diceB投掷点数为:3 diceA投掷点数为:4;diceB投掷点数为:2 diceA投掷点数为:6;diceB投掷点数为:3 diceA投掷点数为:1;diceB投掷点数为:2
diceA投掷点数为:5;diceB投掷点数为:6 diceA投掷点数为:1;diceB投掷点数为:1 diceA投掷点数为:1;diceB投掷点数为:4 diceA投掷点数为:4;diceB投掷点数为:2 diceA投掷点数为:3;diceB投掷点数为:3 diceA投掷点数为:4;diceB投掷点数为:4 diceA投掷点数为:6;diceB投掷点数为:4 diceA投掷点数为:1;diceB投掷点数为:2 diceA投掷点数为:2;diceB投掷点数为:4 diceA投掷点数为:6;diceB投掷点数为:2
diceA投掷点数为:6;diceB投掷点数为:3 diceA投掷点数为:2;diceB投掷点数为:1 diceA投掷点数为:2;diceB投掷点数为:1 diceA投掷点数为:1;diceB投掷点数为:1 diceA投掷点数为:6;diceB投掷点数为:5 diceA投掷点数为:6;diceB投掷点数为:3 diceA投掷点数为:3;diceB投掷点数为:2 diceA投掷点数为:3;diceB投掷点数为:4 diceA投掷点数为:4;diceB投掷点数为:6 diceA投掷点数为:2;diceB投掷点数为:1
diceA投掷点数为:1;diceB投掷点数为:4 diceA投掷点数为:1;diceB投掷点数为:1 diceA投掷点数为:4;diceB投掷点数为:2 diceA投掷点数为:4;diceB投掷点数为:2 diceA投掷点数为:3;diceB投掷点数为:4 diceA投掷点数为:1;diceB投掷点数为:4 diceA投掷点数为:1;diceB投掷点数为:2 diceA投掷点数为:1;diceB投掷点数为:3 diceA投掷点数为:3;diceB投掷点数为:2 diceA投掷点数为:4;diceB投掷点数为:4
请输入数字:1
diceA输出1点54次
diceB输出1点33次
Q2: JAVA编程 请帮忙
这游戏设计的,电脑哪有胜算啊,点数到了20就全都放弃了,永远也到不了100啊。以下是代码:
package com.sino.baiduzhidao.throwDie;
import java.util.Random;
/**
* 骰子
* @author Yanghl
*
*/
public class Die implements Runnable {
private Random r;
private int point;
public Die() {
r = new Random();
}
/**
* 获得骨子点数
* @return 骰子点数
*/
public int getPoint() {
return point;
}
@Override
public void run() {
//设置骰子点数为1-6的随机数
point = r.nextInt(6) + 1;
System.out.print(point + " ");
}
}
package com.sino.baiduzhidao.throwDie;
public class PairOfDice {
/**
* 骰子1
*/
private Die die1;
/**
* 骰子2
*/
private Die die2;
public PairOfDice() {
die1 = new Die();
die2 = new Die();
}
/**
* 掷出两个骰子,并打印结果
*/
public void throwDie() {
System.out.print("骰子点数:");
//启用两个线程,分别转动两个骰子,模拟两个骰子同时被掷出
Thread t1 = new Thread(die1);
Thread t2 = new Thread(die2);
t1.start();
t2.start();
try {
//等待骰子结束
t1.join();
t2.join();
System.out.println();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
/**
* 两个骰子点数都为6
* @return
*/
public boolean isDouble6() {
if(die1.getPoint() == 6 die2.getPoint() == 6) {
return true;
}
return false;
}
/**
* 只有一个骰子点数为1
* @return
*/
public boolean isSingle1() {
if(die1.getPoint() == 1 || die2.getPoint() == 1) {
if(isDouble1()) {
return false;
}
return true;
}
return false;
}
/**
* 两个骰子点数都为1
* @return
*/
public boolean isDouble1() {
if(die1.getPoint() == 1 die2.getPoint() == 1) {
return true;
}
return false;
}
/**
* 获取两个骰子点数总和
* @return
*/
public int getPointNum() {
return die1.getPoint() + die2.getPoint();
}
public Die getDie1() {
return die1;
}
public Die getDie2() {
return die2;
}
}
package com.sino.baiduzhidao.throwDie;
public class BoxCars {
public static void main(String[] args) {
PairOfDice pod = new PairOfDice();
int times = 0;
for(int i=0;i100;i++) {
pod.throwDie();
if(pod.isDouble6()) {
times ++;
}
}
System.out.println("掷骰子100次,都是6的次数:" + times);
}
}
以下是人机大战的代码:
package com.sino.baiduzhidao.throwDie;
/**
* 玩家类
*/
public class Player {
/**
* 玩家名称
*/
private String name;
/**
* 掷骰子总数
*/
private int throwTimes;
/**
* 总点数
*/
private int pointNum;
public Player(String name) {
this.name = name;
this.pointNum = 0;
this.throwTimes = 0;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getThrowTimes() {
return throwTimes;
}
public void setThrowTimes(int throwTimes) {
this.throwTimes = throwTimes;
}
public int getPointNum() {
return pointNum;
}
public void setPointNum(int pointNum) {
this.pointNum = pointNum;
}
}
package com.sino.baiduzhidao.throwDie;
import java.util.Scanner;
public class Pig {
/**
* 电脑默认最大点数,超过后均放弃掷骰子
*/
private static int COMPUTER_DEFAULT_MAX_POINT = 20;
/**
* 目标分数
*/
private static int TARGET_POINT = 100;
/**
* 一对骰子
*/
private PairOfDice pod;
/**
* 玩家
*/
private Player player;
/**
* 电脑
*/
private Player computer;
/**
* 构造函数,初始化骰子
*/
public Pig() {
pod = new PairOfDice();
player = new Player("player");
computer = new Player("computer");
}
/**
* 开始游戏
*/
public void startPlay() {
while(true) {
//先玩家,后电脑
System.out.println("-----------------玩家---------------");
if(isThrowDie()) {
if(playerThrow(player)) {
break;
}
} else {
System.out.println("放弃掷骰子");
}
System.out.println();
System.out.println("-----------------电脑---------------");
if(computer.getPointNum() COMPUTER_DEFAULT_MAX_POINT) {
if(playerThrow(computer)) {
break;
}
} else {
System.out.println("放弃掷骰子");
}
System.out.println();
}
}
/**
* 玩家掷骰子,并返回玩家总分是否达到TARGET_POINT
* @return
*/
private boolean playerThrow(Player p) {
pod.throwDie();
//掷骰子次数 +1
p.setThrowTimes(p.getThrowTimes() + 1);
if(pod.isDouble1()) {
//掷出两个1,分数清0
p.setPointNum(0);
System.out.println("两个点数均为1,总分清0");
} else if(pod.isSingle1()) {
//掷出单个1,不加分
System.out.println("有一个点数为1,不能计入总分");
} else {
p.setPointNum(p.getPointNum() + pod.getPointNum());
}
System.out.println("当前总分:" + p.getPointNum());
//判断玩家总分是否达到TARGET_POINT
if(p.getPointNum() = TARGET_POINT) {
System.out.println("Game Over! " + p.getName() + " win!");
return true;
} else {
return false;
}
}
/**
* 选择是否掷骰子
* @return
*/
private boolean isThrowDie() {
Scanner sc = new Scanner(System.in);
System.out.print("选择是否掷骰子(Y:掷骰子; N:放弃):");
while(true) {
String in = sc.nextLine();
if("y".equalsIgnoreCase(in)) {
return true;
} else if("n".equalsIgnoreCase(in)) {
return false;
} else {
System.out.print("请选择Y/N:");
}
}
}
/**
* @param args
*/
public static void main(String[] args) {
new Pig().startPlay();
}
}
关于免费java骰子源代码和骰子代码的编程的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







