黑马程序员技术交流社区
标题:
如何利用面向对象的思想实现?
[打印本页]
作者:
王勇文
时间:
2013-1-21 16:38
标题:
如何利用面向对象的思想实现?
本帖最后由 张向辉 于 2013-1-22 12:49 编辑
.
用面向对象的思想实现如下的骰子游戏:
丢下两个骰子,若分值的总值为
7
点,则赢;否则输。
对 面向对象思想的理解不透彻,多多谅解。 希望有答案。
面向对象思想.jpg
(9.47 KB, 下载次数: 38)
下载附件
2013-1-21 16:37 上传
作者:
王少雷
时间:
2013-1-21 16:45
http://zhidao.baidu.com/question/161443213.html
作者:
再见亦是泪
时间:
2013-1-21 17:13
package cn.itzero;
public class Play {
/**
* @param args
*/
public static void main(String[] args) {
Deic a=new Deic();//定义a.b色子
Deic b=new Deic();
if(a.getNum()+b.getNum()==7){
System.out.println("win");
}else{
System.out.println("lose");
}
}
}
class Deic{
private int num;
public Deic(){
num=(int) (Math.random()*6+1);//获取随机数
}
public int getNum() {
return num;
}
}
你看看,像这样就行了
作者:
柴乔军
时间:
2013-1-21 17:14
class Test1{
public static void main(String[] args){
Die die1 = new Die();
Die die2 = new Die();
int sum = play(die1,die2);
if(sum == 7)
System.out.println("win");
else
System.out.println("lost");
}
public static int play(Die die1,Die die2) {
int sum = die1.getFaceValue() + die2.getFaceValue();
return sum;
}
}
class Die {
private int faceValue;
public int getFaceValue() {
int number = this.roll();
return number;
}
private int roll() {
int a = 0;
while(true) {
a = (int) (Math.random()*10);
if(a>0 && a<7) { //只有在1-6点间才能返回值
break;
}
}
return a;
}
}
复制代码
作者:
vmvm555
时间:
2013-1-21 18:57
写的不好,见谅啊
import java.util.Random;
public class ThrowDice {
public static void main(String[] args) {
Dice dice1 = new Dice(1, 2, 3, 4, 5, 6);
Dice dice2 = new Dice(1, 2, 3, 4, 5, 6);
while(true) {
if(getSum(dice1, dice2) == 7) {
System.out.println("你赢了");
break;
} else {
System.out.println("你输了");
}
}
}
public static int getSum(Dice dice1, Dice dice2){
int i = dice1.throwDice();
int j = dice1.throwDice();
return i + j;
}
}
class Dice { //定义一个类,代表骰子
public static final Random r = new Random(); //定义一个随机数产生器,将其声明为常量
private int suface1; //定义6个成员变量,代表骰子上的每一个面的点数
private int suface2;
private int suface3;
private int suface4;
private int suface5;
private int suface6;
public Dice(int suface1, int suface2, int suface3, int suface4,
int suface5, int suface6) { //这个构造方法代表你要创造的骰子每个面对应的点数,貌似有点多余
super();
this.suface1 = suface1;
this.suface2 = suface2;
this.suface3 = suface3;
this.suface4 = suface4;
this.suface5 = suface5;
this.suface6 = suface6;
}
public int throwDice() { //定义一个方法,扔骰子
return r.nextInt(6) + 1;
}
}
复制代码
作者:
高浩
时间:
2013-1-21 22:48
游戏类:该类用于根据玩家的点数来输出结果
玩家类:有一个掷骰子的方法,该方法返回一个随机数。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2