一.题目简介
1.游戏角色应有以下属性:名字、性别、种族、职业、力量、敏捷、体力、智力、智慧、生命值和魔法值。
名字:不超过50个字符。
性别:可以选择男性和女性。
种族:一共可选五个种族,人类、精灵、兽人、矮人和元素。
职业:可选六种职业,狂战士、圣骑士、刺客、猎手、祭司和巫师。
生命值=体力*20。
魔法值=(智力+智慧)*10。
2.职业限制
允许-1
不允许-0
职业 | 狂战士 | 圣骑士 | 刺客 | 猎手 | 祭司 | 巫师 |
---|---|---|---|---|---|---|
人类 | 1 | 1 | 1 | 1 | 1 | 1 |
精灵 | 0 | 0 | 1 | 1 | 1 | 1 |
兽人 | 1 | 0 | 0 | 1 | 1 | 0 |
矮人 | 1 | 1 | 0 | 0 | 1 | 0 |
元素 | 0 | 0 | 0 | 0 | 1 | 1 |
3.属性要求
(1)五项属性的总和应该是100;
(2)属性要与职业相关,并遵循以下比例;例如猎手的敏捷值要高一点;
职业/属性 | 力量 | 敏捷 | 体力 | 智力 | 智慧 |
---|---|---|---|---|---|
狂战士 | 40 | 20 | 30 | 5 | 5 |
圣骑士 | 25 | 15 | 30 | 20 | 10 |
刺客 | 20 | 35 | 20 | 15 | 10 |
猎手 | 15 | 40 | 15 | 35 | 15 |
祭司 | 15 | 20 | 15 | 35 | 15 |
巫师 | 10 | 20 | 10 | 20 | 40 |
二.程序组成
1.类组成
1.1角色生成类
功能:生成一个角色(包括角色姓名、性别、种族、职业、力量、明捷、体力、智力、智慧、生命值、魔法值属性);
1.2测试类
功能:根据用户对菜单的选择完成创建角色、保存角色、退出的操作;
2.方法组成
(1)void inputNameAndSex(){}
功能:输入角色的姓名和性别
public void inputNameAndSex(){
System.out.print("请输入您游戏角色的姓名:");
this.name = sc.next();
while (true){
System.out.print("请输入您游戏角色的性别(0 男性,1 女性):");
this.sex = sc.nextInt();
if(this.sex == 0||this.sex == 1){
break;
}else{
System.out.println("性别输入错误!!!");
}
}
}
(2)void inputRaceAndOccupation(){}
功能:输入角色的种族和职业
public void inputRaceAndOccupation(){
while (true){
System.out.print("请选择您游戏角色的种族(0 人类,1 精灵,2 兽人,3 矮人,4 元素):");
race = sc.nextInt();
if(race >= 0 && race <= 4){
switch (race) {
case 0:
while (true) {
System.out.print("请选择您的职业(0 狂战士,1 圣骑士,2 刺客,3 猎手,4 祭司,5 巫师):");
Occupation = sc.nextInt();
if (Occupation >= 0 && Occupation <= 5) {
break;
} else {
System.out.println("职业选择错误");
}
}
break;
case 1:
while (true) {
System.out.print("请选择您的职业(2 刺客,3 猎手,4 祭司,5 巫师):");
Occupation = sc.nextInt();
if (Occupation >= 2 && Occupation <= 5) {
break;
} else {
System.out.println("职业选择错误");
}
}
break;
case 2:
while (true) {
System.out.print("请选择您的职业(0 狂战士,,3 猎手,4 祭司,5 巫师):");
Occupation = sc.nextInt();
if (Occupation == 0 || (Occupation >= 3 && Occupation <= 5)) {
break;
} else {
System.out.println("职业选择错误");
}
}
break;
case 3:
while (true) {
System.out.print("请选择您的职业(0 狂战士,1 圣骑士,4 祭司):");
Occupation = sc.nextInt();
if (Occupation == 4 || Occupation == 0 || Occupation == 1) {
break;
} else {
System.out.println("职业选择错误");
}
}
break;
case 4:
while (true) {
System.out.println("请选择您的职业(4 祭司,5 巫师):");
Occupation = sc.nextInt();
if (Occupation == 4 || Occupation == 5) {
break;
} else {
System.out.println("职业选择错误");
}
}
break;
default:
break;
}
break;
}else{
System.out.println("种族选择错误!!!");
}
}
}
(3)void getProperty(int p,int a,int s,int i,int w){}
功能:随机生成角色的部分属性
public void getProperty(int p,int a,int s,int i,int w){
do{