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("祝您游戏愉快!");
    }
}

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

  • 6
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值