在玩宝可梦游戏时,会出现一个创建人物这个过程,而我的目标就是用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("向着成为宝可梦大师的路前进吧");

	}
}