在玩宝可梦游戏时,会出现一个创建人物这个过程,而我的目标就是用java写一个简单的宝可梦游戏创建人物的流程。
设计思路:
由题目可知,这个游戏角色应有以下属性:名字、性别、所拥有的宝可梦、宝可梦的个体值。所有个体值全为随机值(利用随机数函数来取得随机数)。
算法构造:
<1>玩家选择1,则进入游戏;选择2,可以查看游戏规则;选择3,则进入商店;输入其他的则游戏结束。
<2>选择1:玩家先输入角色姓名、性别、宝可梦以及个体值。
<3>由(int)(0+Math.random()*31-0);可以得到符合条件的个体值。
<4>打印所有的信息并向用户显示出来;
package game;
import java.util.Scanner;
public class First {
public static void First(){ //主菜单
System.out.println("这是一个RPG游戏");
System.out.println("1.开始游戏");
System.out.println("2.游戏规则");
System.out.println("3.进入商店");
System.out.print("请输入您想进行的操作:(1-3),输入其他的则游戏结束");
Scanner x=new Scanner(System.in);
int num=x.nextInt();
switch(num){
case 1:
Start g=new Start();
g.start(); //访问Start类中的start方法开始创建角色
break;
case 2:
Rule r=new Rule();
r.rule(); //访问Rule类中的rule方法查看规则
break;
case 3:
Shop a=new Shop();
Shop.a();
break;
default:
System.out.println("游戏结束!");
System.exit(0); //游戏结束标识
}
}
}
//开始游戏
class Start{
int occ=0;
String name;
public void start(){
System.out.print("请输入您游戏角色的姓名:");
Scanner a=new Scanner(System.in);
String name=a.next();
System.out.print("请选择您游戏角色的性别:(男或女)");
Scanner b=new Scanner(System.in);
String sex=b.next();
System.out.print("请选择您游戏角色的宝可梦:(1.小火龙,2.杰尼龟,3.妙蛙种子,4.利欧路,5.皮卡丘)");
Scanner c=new Scanner(System.in);
int race=c.nextInt();
switch(race){
case 1:
while(true){
System.out.print("恭喜您获得了小火龙,个体值查看请输入1");
Scanner d=new Scanner(System.in);
occ=d.nextInt();
if(occ>=1&occ<=1) {
break;
}
else
System.out.println("请重新输入");
}
break;
case 2:
while(true){
System.out.print("恭喜您获得了杰尼龟,个体值查看请输入1");
Scanner d=new Scanner(System.in);
occ=d.nextInt();
if(occ>=1&occ<=1) {
break;
}
else
System.out.println("请重新输入");
}
break;
case 3:
while(true){
System.out.print("恭喜您获得了妙蛙种子,个体值查看请输入1");
Scanner d=new Scanner(System.in);
occ=d.nextInt();
if(occ>=1&occ<=1) {
break;
}
else
System.out.println("请重新输入");
}
break;
case 4:
while(true){
System.out.print("恭喜您获得了利欧路,个体值查看请输入1");
Scanner d=new Scanner(System.in);
occ=d.nextInt();
if(occ>=1&occ<=1) {
break;
}
else
System.out.println("请重新输入");
}
break;
case 5:
while(true){
System.out.print("恭喜您获得了皮卡丘,个体值查看请输入1");
Scanner d=new Scanner(System.in);
occ=d.nextInt();
if(occ>=1&occ<=1) {
break;
}
else
System.out.println("请重新输入");
}
break;
}
Random r=new Random();
r.n=name; //将姓名、性别、种族对象引用到Random类中
r.s=sex;
r.ra=race;
r.random(occ); //将宝可梦传递到Random类的random方法中
Dayin.print();
}
}
//个体值计算
class Random{
static String n;
static String s;
static int ra;
static int HP=0; //血量
static int WG=0; //物攻
static int TG=0; //特攻
static int WF=0; //物防
static int TF=0; //特防
static int SD=0; //速度
public void random(int occ){ //随机函数生成各个值
System.out.println(occ);
if(occ==1)
{
HP=(int)(0+Math.random()*31-0);//随机函数生成符合题目条件的各个值
WG=(int)(0+Math.random()*31-0);
TG=(int)(0+Math.random()*31-0);
WF=(int)(0+Math.random()*31-0);
TF=(int)(0+Math.random()*31-0);
SD=(int)(0+Math.random()*31-0);
}
}
}
//游戏规则
class Rule{
public void rule(){
System.out.println("根据你选择的宝可梦去进行冒险");
System.out.println("路上你会遇到种类不同的宝可梦");
System.out.println("向着成为宝可梦大师的路前进吧");
}
}