java实现简单RPG小游戏的角色创建

几乎所有的RPG游戏(一种源自《龙与地下城》的游戏类型)在进入游戏时都会让用户自己来创建自己喜欢的角色。
基本要求:本题目要求的游戏角色应有以下属性:名字、性别、种族、职业、力量、敏捷、体力、智力、智慧、生命值和魔法值。
名字:不超过50个字符。
性别:可以选择男性和女性。
种族:一共可选五个种族,人类、精灵、兽人、矮人和元素。
职业:可选六种职业,狂战士、圣骑士、刺客、猎手、祭司和巫师。
其余属性均为整数。
本题目要求首先用户输入角色姓名,然后由用户选择角色性别,然后由用户选择种族,然后选择职业,然后自动分配力量、敏捷、体力、智力和智慧属性,并计算生命值和魔法值。
生命值=体力*20。
魔法值=(智力+智慧)*10。
职业限制:
种族/职业 狂战士 圣骑士 刺客 猎手 祭司 巫师
人类 允许 允许 允许 允许 允许 允许
精灵 不允许 不允许 允许 允许 允许 允许
兽人 允许 不允许 不允许 允许 允许 不允许
矮人 允许 允许 不允许 不允许 允许 不允许
元素 不允许 不允许 不允许 不允许 允许 允许

话不多说,直接上代码:

import javax.print.DocFlavor;
import java.awt.event.ActionEvent;
import java.util.Random;
import java.util.*;

class creatattribute{                            //属性生成
    int a,b,c,d;
    public void print(){
    }
}
class Rale{                                     //种族基类

}
class Role{                                     //职业基类
    int power;                                  //力量
    int agile;                                  //敏捷
    int physical_strength;                      //体力
    int intelligence;                           //智力
    int wisdom;                                 //智慧
    int life_value;                             //生命值
    int magic_value;                            //魔法值
    public void print(){
        System.out.println("你选择的角色为:");
    }
}
class Berserker extends Role{                   //狂战士
    public void print(){
        power=(int)(Math.random()*5+40);
        agile=(int)(Math.random()*5+20);
        physical_strength=(int)(Math.random()*5+30);
        intelligence=(int)(Math.random()*5);
        wisdom=100-power-agile-physical_strength-intelligence;
        life_value=physical_strength*20;
        magic_value=(intelligence+wisdom)*10;
        System.out.println("您选择职业为狂战士");
        System.out.println("--------------------");
        System.out.println("力量为:"+this.power);
        System.out.println("--------------------");
        System.out.println("敏捷为:"+this.agile);
        System.out.println("--------------------");
        System.out.println("体力为:"+this.physical_strength);
        System.out.println("--------------------");
        System.out.println("智力为:"+this.intelligence);
        System.out.println("--------------------");
        System.out.println("智慧为:"+this.wisdom);
        System.out.println("--------------------");
        System.out.println("生命值为:"+this.life_value);
        System.out.println("--------------------");
        System.out.println("魔法值为:"+this.magic_value);
        System.out.println("---------------------");
    }
}
class Paladin extends Role{                     //圣骑士
    public void print(){
        power=(int)(Math.random()*5+25);
        agile=(int)(Math.random()*5+15);
        physical_strength=(int)(Math.random()*5+30);
        intelligence=(int)(Math.random()*5+20);
        wisdom=100-power-agile-physical_strength-intelligence;
        life_value=physical_strength*20;
        magic_value=(intelligence+wisdom)*10;
        System.out.println("您选择职业为圣骑士");
        System.out.println("--------------------");
        System.out.println("力量为:"+this.power);
        System.out.println("--------------------");
        System.out.println("敏捷为:"+this.agile);
        System.out.println("--------------------");
        System.out.println("体力为:"+this.physical_strength);
        System.out.println("--------------------");
        System.out.println("智力为:"+this.intelligence);
        System.out.println("--------------------");
        System.out.println("智慧为:"+this.wisdom);
        System.out.println("--------------------");
        System.out.println("生命值为:"+this.life_value);
        System.out.println("--------------------");
        System.out.println("魔法值为:"+this.magic_value);
        System.out.println("--------------------");
    }
}
class Assassin extends Role{                    //刺客
    public void print(){
        power=(int)(Math.random()*5+20);
        agile=(int)(Math.random()*5+30);
        physical_strength=(int)(Math.random()*5+20);
        intelligence=(int)(Math.random()*5+15);
        wisdom=100-power-agile-physical_strength-intelligence;
        life_value=physical_strength*20;
        magic_value=(intelligence+wisdom)*10;
        System.out.println("您选择职业为刺客");
        System.out.println("--------------------");
        System.out.println("力量为:"+this.power);
        System.out.println("--------------------");
        System.out.println("敏捷为:"+this.agile);
        System.out.println("--------------------");
        System.out.println("体力为:"+this.physical_strength);
        System.out.println("--------------------");
        System.out.println("智力为:"+this.intelligence);
        System.out.println("--------------------");
        System.out.println("智慧为:"+this.wisdom);
        System.out.println("--------------------");
        System.out.println("生命值为:"+this.life_value);
        System.out.println("--------------------");
        System.out.println("魔法值为:"+this.magic_value);
        System.out.println("---------------------");
    }
}
class Hunter extends Role{                      //猎手
    public void print(){
        power=(int)(Math.random()*5+15);
        agile=(int)(Math.random()*5+40);
        physical_strength=(int)(Math.random()*5+15);
        intelligence=(int)(Math.random()*5+10);
        wisdom=100-power-agile-physical_strength-intelligence;
        life_value=physical_strength*20;
        magic_value=(intelligence+wisdom)*10;
        System.out.println("您选择职业为猎手");
        System.out.println("--------------------");
        System.out.println("力量为:"+this.power);
        System.out.println("--------------------");
        System.out.println("敏捷为:"+this.agile);
        System.out.println("--------------------");
        System.out.println("体力为:"+this.physical_strength);
        System.out.println("--------------------");
        System.out.println("智力为:"+this.intelligence);
        System.out.println("--------------------");
        System.out.println("智慧为:"+this.wisdom);
        System.out.println("--------------------");
        System.out.println("生命值为:"+this.life_value);
        System.out.println("--------------------");
        System.out.println("魔法值为:"+this.magic_value);
        System.out.println("--------------------");
    }
}
class Flamen extends Role{                      //祭祀
    public void print(){
        power=(int)(Math.random()*5+15);
        agile=(int)(Math.random()*5+20);
        physical_strength=(int)(Math.random()*5+15);
        intelligence=(int)(Math.random()*5+35);
        wisdom=100-power-agile-physical_strength-intelligence;
        life_value=physical_strength*20;
        magic_value=(intelligence+wisdom)*10;
        System.out.println("您选择职业为祭祀");
        System.out.println("--------------------");
        System.out.println("力量为:"+this.power);
        System.out.println("--------------------");
        System.out.println("敏捷为:"+this.agile);
        System.out.println("--------------------");
        System.out.println("体力为:"+this.physical_strength);
        System.out.println("--------------------");
        System.out.println("智力为:"+this.intelligence);
        System.out.println("--------------------");
        System.out.println("智慧为:"+this.wisdom);
        System.out.println("--------------------");
        System.out.println("生命值为:"+this.life_value);
        System.out.println("--------------------");
        System.out.println("魔法值为:"+this.magic_value);
        System.out.println("--------------------");
    }
}
class Wizard extends Role{                      //巫师
    public void print(){
        power=(int)(Math.random()*5+10);
        agile=(int)(Math.random()*5+20);
        physical_strength=(int)(Math.random()*5+10);
        intelligence=(int)(Math.random()*5+20);
        wisdom=100-power-agile-physical_strength-intelligence;
        life_value=physical_strength*20;
        magic_value=(intelligence+wisdom)*10;
        System.out.println("您选择职业为巫师");
        System.out.println("--------------------");
        System.out.println("力量为:"+this.power);
        System.out.println("--------------------");
        System.out.println("敏捷为:"+this.agile);
        System.out.println("--------------------");
        System.out.println("体力为:"+this.physical_strength);
        System.out.println("--------------------");
        System.out.println("智力为:"+this.intelligence);
        System.out.println("--------------------");
        System.out.println("智慧为:"+this.wisdom);
        System.out.println("--------------------");
        System.out.println("生命值为:"+this.life_value);
        System.out.println("--------------------");
        System.out.println("魔法值为:"+this.magic_value);
        System.out.println("---------------------");
    }
}

public class Creat {
    public static void main(String[] args) {
        int n;
        Berserker berserker = new Berserker();
        Paladin paladin = new Paladin();
        Assassin assassin = new Assassin();
        Hunter hunter = new Hunter();
        Flamen flamen = new Flamen();
        Wizard wizard = new Wizard();

        System.out.print("请输入您职业的姓名:");
        Scanner scanner = new Scanner(System.in);
        String name = scanner.nextLine();
        if(name.length()<50) {
            System.out.println("您的姓名为:" + name);
        }
        else {
            System.out.println("您的名字不符合规范(长度需小于50),请重新输入");
            name=scanner.nextLine();
        }
        String sex[]=new String[]{"男","女"};
        System.out.print("请选择您的性别(0男生,1女生):");
        int a=scanner.nextInt();
        switch(a){
            case 0:System.out.println("您选择的性别为:"+sex[0]);break;
            case 1:System.out.println("您选择的性别为:"+sex[1]);break;
        }

        String rale[]=new String[]{"人类","精灵","兽人","矮人","元素"};
        String[] occupation=new String[]{"狂战士","圣骑士","刺客","猎手","祭祀","巫师"};
        System.out.print("请输入您的种族(0人类,1精灵,2兽人,3矮人,4元素):");
        int b=scanner.nextInt();
        switch(b){
            case 0:System.out.println("您选择的种族为:"+rale[0]);break;
            case 1:System.out.println("您选择的种族为:"+rale[1]);break;
            case 2:System.out.println("您选择的种族为:"+rale[2]);break;
            case 3:System.out.println("您选择的种族为:"+rale[3]);break;
            case 4:System.out.println("您选择的种族为:"+rale[4]);break;
        }

        System.out.println("请选择您的职业(0狂战士,1圣骑士,2刺客,3猎手,4祭祀,5巫师):");
        int c=scanner.nextInt();
        for(int i=0;i<6;i++){
            if(c==0){
                if (rale[b] == "精灵" || rale[b] == "元素"){
                    System.out.println("您的种族不能选择这门职业");
                    System.out.println("请重新输入您的选择:");
                    c=scanner.nextInt();
                    continue;
                }
                else System.out.println("选择成功!");
                break;
            }
            if(c==1){
                if (rale[b] == "精灵" || rale[b] == "元素" || rale[b] == "兽人"){
                    System.out.println("您的种族不能选择这门职业");
                    System.out.println("请重新输入您的选择:");
                    c=scanner.nextInt();
                    continue;
                }
                else System.out.println("选择成功!");
                break;
            }
            if(c==2){
                if (rale[b] == "兽人" || rale[b] == "元素" || rale[b] == "矮人"){
                    System.out.println("您的种族不能选择这门职业");
                    System.out.println("请重新输入您的选择:");
                    c=scanner.nextInt();
                    continue;
                }
                else System.out.println("选择成功!");
                break;
            }
            if(c==3){
                if (rale[b] == "矮人" || rale[b] == "元素") {
                    System.out.println("您的种族不能选择这门职业");
                    System.out.println("请重新输入您的选择:");
                    c=scanner.nextInt();
                    continue;
                }
                else System.out.println("选择成功!");
                break;
            }
            if(c==4){
                System.out.println("选择成功!");
                break;
            }
            if(c==5){
                if (rale[b] == "矮人" || rale[b] == "兽人") {
                    System.out.println("您的种族不能选择这门职业");
                    System.out.println("请重新输入您的选择:");
                    c=scanner.nextInt();
                }
                else System.out.println("选择成功!");
                break;
            }
        }
        System.out.println();
        System.out.println();
        System.out.println();
        System.out.println("以下为您个人信息!");
        System.out.println("------------------------");
        System.out.println("您的姓名为:"+name);
        System.out.println("------------------------");
        System.out.println("您选择的性别为:"+sex[a]);
        System.out.println("------------------------");
        System.out.println("您选择的种族为:"+rale[b]);
        System.out.println("------------------------");
        if(occupation[c]=="狂战士"){berserker.print();}
        if(occupation[c]=="圣骑士"){paladin.print();}
        if(occupation[c]=="刺客"){assassin.print();}
        if(occupation[c]=="猎手"){hunter.print();}
        if(occupation[c]=="祭祀"){flamen.print();}
        if(occupation[c]=="巫师"){wizard.print();}
        System.out.println("祝您游戏愉快!");
    }
}

测试结果:在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_44296193/article/details/89477457