关于骰子游戏的随想
2014-09-29 08:35
169 查看
在开始写一个程序时,首先要做的是需求分析。
拿骰子游戏来说,现实生活中,人们玩骰子可能需要2个或2个以上骰子(在这应该想到可以定义一个骰子类Die)。骰子上应该有6面数字分别为1到6(在这应该想到面上的数字应为骰子的属性)。这个时候,我们就实现了现实生活中的实物与代码中的类相对应起来,也就是实现了抽象。
package deigame;//定义名为deigame包
import java.util.Random;
/**
* 定义一个骰子类
* @author Angela
*
*/
public class Die {
//定义一个faceValue属性
private int faceValue;
//定义roll方法给faceValue赋值
public void roll(){
faceValue=new Random().nextInt(6)+1;
}
//定义得到骰子面值方法
public int getFaceValue(){
return faceValue;
}
}
骰子类的问题解决以后,还有一个问题,就是我们如何定义游戏的玩法,比如现实生活中我们玩两个骰子,取和,大于7就为赢,否则为输。这个时候我们就可以定义一个骰子游戏类(DieGame),在这个类里应该定义两个骰子属性,以及玩骰子的方法。
package deigame;
/**
* 骰子游戏类
* @author Angela
*
*/
public class DiceGame {
//定义骰子类类型的属性
private Die die1=new Die();
private Die die2=new Die();
/**
* 定义玩骰子游戏的方法
* @return
*/
public boolean play(){
die1.roll();
die2.roll();
int faceValue1=die1.getFaceValue();
int faceValue2=die2.getFaceValue();
int num=faceValue1+faceValue2;
System.out.println(faceValue1);
System.out.println(faceValue2);
if(num>7){
return true;
}else{
return false;
}
}
}
最后,我们要使这个程序可以运行起来,应该用主函数main(),因此最后还应该写一个可以使程序运行起来的Run类,首先new一个对象其次调用方法即可。
package deigame;
/**
*
* @author Angela
*
*/
public class Run {
/**
* @param args
*/
public static void main(String[] args) {
DiceGame diceGame=new DiceGame();
boolean flag=diceGame.play();
if(flag==true){
System.out.println("你赢了");
}else{
System.out.println("你输了");
}
}
}
拿骰子游戏来说,现实生活中,人们玩骰子可能需要2个或2个以上骰子(在这应该想到可以定义一个骰子类Die)。骰子上应该有6面数字分别为1到6(在这应该想到面上的数字应为骰子的属性)。这个时候,我们就实现了现实生活中的实物与代码中的类相对应起来,也就是实现了抽象。
package deigame;//定义名为deigame包
import java.util.Random;
/**
* 定义一个骰子类
* @author Angela
*
*/
public class Die {
//定义一个faceValue属性
private int faceValue;
//定义roll方法给faceValue赋值
public void roll(){
faceValue=new Random().nextInt(6)+1;
}
//定义得到骰子面值方法
public int getFaceValue(){
return faceValue;
}
}
骰子类的问题解决以后,还有一个问题,就是我们如何定义游戏的玩法,比如现实生活中我们玩两个骰子,取和,大于7就为赢,否则为输。这个时候我们就可以定义一个骰子游戏类(DieGame),在这个类里应该定义两个骰子属性,以及玩骰子的方法。
package deigame;
/**
* 骰子游戏类
* @author Angela
*
*/
public class DiceGame {
//定义骰子类类型的属性
private Die die1=new Die();
private Die die2=new Die();
/**
* 定义玩骰子游戏的方法
* @return
*/
public boolean play(){
die1.roll();
die2.roll();
int faceValue1=die1.getFaceValue();
int faceValue2=die2.getFaceValue();
int num=faceValue1+faceValue2;
System.out.println(faceValue1);
System.out.println(faceValue2);
if(num>7){
return true;
}else{
return false;
}
}
}
最后,我们要使这个程序可以运行起来,应该用主函数main(),因此最后还应该写一个可以使程序运行起来的Run类,首先new一个对象其次调用方法即可。
package deigame;
/**
*
* @author Angela
*
*/
public class Run {
/**
* @param args
*/
public static void main(String[] args) {
DiceGame diceGame=new DiceGame();
boolean flag=diceGame.play();
if(flag==true){
System.out.println("你赢了");
}else{
System.out.println("你输了");
}
}
}
相关文章推荐
- 关于游戏的随想
- 重构之维——关于重构及《重构》的随想
- 中国游戏行业市场分析(一)关于国内游戏制作的问题
- 关于 联想收购IBM PC事业部 的 随想
- 关于对游戏帧率的学习
- 关于游戏帧率的总结
- 随便读读:Windows 游戏编程大师技巧 (第二版) 关于BOB
- 关于抢数字游戏的解法
- 关于游戏中数组的应用
- 几篇关于multithread与游戏编程的文章,值得一读
- 观点:关于游戏系统的规划、设计与实现。
- 游戏框架随想2 卷轴和非卷轴
- 关于防止用游戏修改器修改游戏的想法。
- 关于“井字过三关”游戏
- 关于飞机射击类游戏的设计原理 (加入时间:2001-3-4)
- 关于飞机射击类游戏的设计原理
- SOS!!!关于游戏汉化项目中遇到一些不能解决的问题。。。。。
- 游戏外挂原理和技术分析(关于魔力宝贝 )
- 关于Ballance游戏修改
- 关于冒险(AVG)游戏《生化危机 / BIOHAZARD / Resident Evil》