编程C,C ++,Java,PHP,Ruby,图灵,VB
计算机科学加拿大 
编程C,C ++,Java,PHP,Ruby,图灵,VB  

用户name:   Password: 
 登记登记   
 基于文本的RPG(古怪)
指数 -> 编程,Java. -> java.提交
查看上一个主题 可打印的版本下载主题利率主题订阅本主题私人信息刷新页面 查看下一个主题
作者 信息





邮政发布: 2004年2月4日星期三:下午9:02  帖子主题:基于文本的RPG(古怪)

代码:
/ * tat ho
我= java中的newb
这个程序没有完全完成,但足够完成以便玩耍
这个程序也为我的Java类进行了完成
将其保存为thrpgmain.java
你还需要键盘阅读器
在此之后我会发布哪个
 *PRPG Project*/
类特点
{
        String name;
       KeybationReader Reader = New KeybationReader();
       INT Money,HP,MP,实力,Mstrength,Choice;
        boolean isTurn;
        Special item;
        int curAtt;
       
        CharacterType()
        {
                name="Character";
                money=100;
        }
        void displayInfo()
        {
                System.out.println("Name: " + name);
                System.out.println("Money: " + money);
                System.out.println("Health: " + hp);
                System.out.println("Mana: " + mp);
                System.out.println("Strength: " + strength);
                System.out.println("MStrength: " + mstrength);
        }
        int attack()
        {
                curAtt=(int)Math.floor(Math.random()*strength);
                return curAtt;
        }
        int useSpecial()
        {
                if(项目instanceof武器){
                        curAtt=(int)Math.floor(Math.random()*(力量+项目.strentth.));
                        return curAtt;
                }else{
                        if(mp>=((Spell)item).manacost){
                                mp-=((Spell)item).manacost;
                                curAtt=(int)Math.floor(Math.random()*(mstrongth + Item.strentth.));
                                return curAtt;
                        }else{
                                System.out.print("没有足够的法术法术,因此你只会用你的拳头!");
                                curAtt=(int)Math.floor(Math.random()*(strength));
                                return curAtt;
                        }
                }
        }
        boolean isDead()
        {
                if(hp<=0){
                  hp=0; 
                  return true;
                  }else
                    return false;
        }
        void wins(int money)
        {
                this.money+=money;
                System.out.println(name + " Wins!!!");
        }
        void loses()
        {
                System.out.println(name + " Loses!!!");
        }
        void flees()
        {
                System.out.println(name + " Flees!!!");
        }
        void changeTurn()
        {
                if(isTurn==false)
                        isTurn=true;
                        else
                          isTurn=false;
        }
        void menu()
        {
               选择= Reader.Readint.("1) Attack \n2) Use Special \n3) Flee");
        }
}
类用户扩展字符
{
       键盘阅读器读者;
        User()
        {
                name="User";
               读者=新键盘阅读器();
        }
       
        User(String type)
        {
                if(type.equals("Barbarian")){
                        name="Barbarian";
                        hp=120;
                        mp=40;
                        strength=80;
                        mstrength=20;
                }
                else if(type.equals("Mage")){
                        name="Mage";
                        hp=80;
                        mp=100;
                        strength=30;
                        mstrength=90;
                }
                else if(type.equals("Elf")){
                        name="Elf";
                        hp=100;
                        mp=70;
                        strength=60;
                        mstrength=60;
                }else{
                        name="Barbarian";
                        hp=120;
                        mp=40;
                        strength=80;
                        mstrength=20;
                }
        }
       
        void inputName()
        {
               name = reader.readline.("Enter your name");
        }
       
        void inputChoice()
        {
                do{
                menu();
                  if(choice<1 || choice>3)
                    System.out.println("无效选择请再次输入");
                }while(choice<1 || choice>3);      
        }
}

class comp扩展了字符
{
        Comp()
        {
                name="Comp";
                strength=100;
                hp=200;
                mp=0;
                mstrength=0;
                item=new Weapon("Axe");
        }
        void setChoice()
        {
                choice=(int)Math.floor(Math.random()*100);
                if(choice==0)
                        flees();
                        else if(choice>0 || choice<20)
                                attack();
                                else
                                        useSpecial();
        }
       
       
}
抽象类特殊
{
        String name;
        int strength;
        int cost;
       / *抽象void displayinfo()
        {
        }*/
        int use()
        {
                int use=(int)Math.floor(Math.random()*strength);
                return use;
        }
}
班武器延伸特殊
{
        Weapon()
        {
                name="Weapon";
        }
        Weapon(String weapon)
        {
                if(weapon.equals("Sword")){
                        name="Sword";
                        strength=40;
                }else if(weapon.equals("Axe")){
                        name="Axe";
                        strength=60;
                }else if(weapon.equals("Staff")){
                        name="Staff";
                        strength=50;
                }else{
                        name="Sword";
                        strength=40;
                }
        }
        void displayInfo()
        {
                System.out.println("Name: " + name);
                System.out.println("Strength " + strength);
                System.out.println("Cost: " + cost);
        }
}
类法术延伸特殊
{
        int manacost;
        Spell()
        {
                name="Spell";
        }
        Spell(String spell)
        {
                if(spell.equals("Fire1")){
                        name="Fire1";
                        strength=40;
                        manacost=20;
                }else if(spell.equals("Fire2")){
                        name="Fire2";
                        strength=60;
                        manacost=40;
                }else if(spell.equals("Fire3")){
                        name="Fire3";
                        strength=80;
                        manacost=60;
                }else{
                        name="Fire1";
                        strength=40;
                        manacost=20;
                }
        }
        void displayInfo()
        {
                System.out.println("Name: " + name);
                System.out.println("Strength " + strength);
                System.out.println("ManaCost: " +manacost);
                System.out.println("Cost: " + cost);
        }
}

班级斗争
{
        User player;
       键盘阅读器读者;
        Comp boss;
        char again;
        {
                boss=new Comp();
               读者=新键盘阅读器();
        }
       void choosecharacter()
        {
                int choice;
                do{
               选择= Reader.Readint.("选择你的角色\ n1) Elf\n2) Mage\n3) Barbarian\n");
                switch(choice)
                {
                        case 1:player=new User("Elf");break;
                        case 2:player=new User("Mage");break;
                        case 3:player=new User("Barbarian");break;
                        default:System.out.println("No such choice!!!");
                }
                }while(choice<1 || choice>3);
        }

        void shop()
        {
                int choice;
                do{
               选择= Reader.Readint.("Special Shop\n1) Sword\n2) Axe\n3) Staff\n4) Fire1\n5) Fire2\n6) Fire3\n");
                switch(choice)
                {
                        case 1:Player.Item =新武器("Sword");break;
                        case 2:Player.Item =新武器("Axe");break;
                        case 3:Player.Item =新武器("Staff");break;
                        case 4:Player.Item =新咒语("Fire");break;
                        case 5:Player.Item =新咒语("Fire2");break;
                        case 6:Player.Item =新咒语("Fire3");break;
                        default:System.out.println("No such choice!!!");
                }
                }while(choice<1 || choice>6);
        }

        void fight()
        {
                do{
                player.inputChoice();
                switch(player.choice)
                {
                        case 1: player.attack();
                                       boss.hp- = player.curatt;
                                        System.out.println(player.name+" attacks with " + player.curAtt + "剩下的伤害" + player.hp + "hp");
                                        boss.setChoice();
                                       player.hp- = boss.curatt;
                                        System.out.println(boss.name+" attacks with " + boss.curAtt + "剩下的伤害" + boss.hp + "hp");
                                        break;
                        case 2: player.useSpecial();
                                       boss.hp- = player.curatt;
                                        System.out.println(player.name+" attacks with " + player.curAtt + "剩下的伤害" + player.hp + "hp");
                                        boss.setChoice();
                                       player.hp- = boss.curatt;
                                        System.out.println(boss.name+" attacks with " + boss.curAtt + "剩下的伤害" + boss.hp + "hp");
                                        break;
                        case 3:player.flees();break;
                        default:System.out.println("No such choice!!!");
                }              
                }while(player.isDead()==false && boss.isDead()==false);
                if(player.hp>boss.hp){
                        System.out.println();
                        player.wins(900);
                        boss.loses();
                        player.displayInfo();
                }else if(boss.hp>player.hp){
                        System.out.println();
                        boss.wins(0);
                        player.loses();
                        boss.displayInfo();
                }
        }

        void run()
        {
                do{
                boss.hp=200;
                chooseCharacter();
                shop();
                fight();
               再次= Reader.Readchar.("想再次播放,输入y或y来做");
                }while(再次=='y'||再次=='y');
        }
}

班级ThrpGmain.
{
       静态战斗=新斗争();
       公共静态空白主(String args[])
        {
                fight.run();
        }
}
赞助
赞助
赞助
赞助





邮政发布: 2004年2月4日星期三:下午9:03  帖子主题:(没有主题)

代码:
/ *您需要将其作为keyboardreader.java另存在与其他文件的同一文件夹中
* /

//版权所有Martin Osborne和Ken Lambert 1998-2001
//版权所有



导入java.io. *;

/ **
* Class KeybationReader包含终端I / O的输入方法。类型特定于
*方法读取字符,整数,双打和字符串。其他
*方法暂停输出并等待用户按ENTER键
* 接着说。例子:
*

 *

 *   KeybationReader Reader = New KeybationReader();

 *   char letter = reader.readchar  ("Enter a letter: ");

 *   double   d = reader.readdouble.("Enter a real number: ");

 *   int       i = reader.readInt   ("Enter an integer: ");

 *   字符串名称= READER.READLINE  ("Enter your full name: ");

 *   reader.pause();

 *

 *

* /

公共类keybationReader {

私人InputStreamReader阅读器;
私人BufferedReader缓冲区;

公共键盘阅读器(){
读者=新的InputStreamReader(System.in);
缓冲区=新的BufferedReader(reader);
}

/ **
*与非GUI应用程序一起使用以防止a"fly-by"
*终端窗口的消失
*在某些环境中暂停执行,直到用户
*按ENTER键。用法: reader.pause();
* /
公共空白暂停(){
system.out.print.("\ n按输入继续。 。 。");
尝试 {
buffer.readline.();
}抓住(Exception e){
system.exit.(0);
}
}

/ **
*提示用户并等待整数输入。抛出一个例外
*如果输入不表示整数。返回输入的整数。
* @param提示向用户提示。
* /
公共INT readint.(String prompt){
㈡ value = 0;
string s ="";
system.out.print.(prompt);
尝试 {
S =(buffer.readLine()).trim();
价值=(new Integer(s)).intValue();
}抓住(Exception e){
system.out.println.
("\n\nError:您的输入不表示有效的整数值\ n");
暂停();
system.exit.(0);
}
返回value;
}

/ **
*等待整数输入而不提示用户。抛出一个例外
*如果输入不表示整数。返回输入的整数。
* /
公共INT readint.(){
返回readInt ("");
}

/ **
*提示用户并等待双输入。抛出一个例外
*如果输入不表示双倍。返回双重输入。
* @param提示向用户提示。
* /
Public Double ReadDouble.(String prompt){
双倍的 value = 0;
string s ="";
system.out.print.(prompt);
尝试 {
S =(buffer.readLine()).trim();
价值=(new Double(s)).doubleValue();
}抓住(Exception e){
system.out.println.
("\n\nError:您的输入不表示有效的双重值\ n");
暂停();
system.exit.(0);
}
返回value;
}

/ **
*等待双输入而不提示用户。抛出一个例外
*如果输入不表示双倍。返回双重输入。
* /
Public Double ReadDouble.(){
返回readDouble("");
}

/ **
*提示用户并等待字符输入。返回输入的char。
* @param提示向用户提示。
* /
公共字符Readchar.(String prompt){
㈡ value = 0;
string s ="";
system.out.print.(prompt);
尝试 {
S =buffer.readLine();
S + ="?";
价值=s.charAt(0);
}抓住(Exception e){
system.out.println.
("\ n \ n \ n readchar中的nerror:\n" + e.toString() + "\n");
暂停();
system.exit.(0);
}
返回(char)value;
}

/ **
*等待字符输入而不提示用户。返回输入的char。
* /
公共字符Readchar.(){
返回readChar("");
}

/ **
*提示用户并等待字符串输入。返回整行
*输入的文字。
* @param提示向用户提示。
* /
公共字符串readline.(String prompt){
字符串值="";
system.out.print.(prompt);
尝试 {
价值=buffer.readLine();
}抓住(Exception e){
system.out.println.
("在console.readline \ n中的n \ n \ n" + e.toString() + "\n");
暂停();
system.exit.(0);
}
返回value;
}

/ **
*在不提示用户的情况下等待字符串输入。返回整行
*输入的文字。
* /
公共字符串readline.(){
返回readLine("");
}
}
短发




邮政发布: 2004年2月4日星期三:下午9:06  帖子主题:(没有主题)

你有多长时间编码,这是质量的东西,特别是在这种独特的语言中引起它的写作,做得好你做了很棒的令人惊叹的代码





邮政发布: 2004年2月4日星期三9:13 PM  帖子主题:(没有主题)

你补充的ty
这只是um ....基于文本的东西
我已经拿了半年已经过了一天的java
现在在AP Java(本周开始)每天2个时期
托尼




邮政发布: 2004年2月4日星期三11:12 PM  帖子主题:(没有主题)

我据说是在AP CS中拿着Java,但事情不太伟大 翻白眼 我不知道很多Java ......我没有CCCU今年我会如何做CCC,我真的希望AP考试是多项选择 笑
最新来自compsci.ca/blog: Tony's 编程博客。 DWite - A. 编程竞赛.
从上一个显示帖子:   
   指数 -> 编程,Java. -> java.提交
查看上一个主题 告诉一个朋友可打印的版本下载主题利率主题订阅本主题私人信息刷新页面 查看下一个主题

11  [ 5 Posts ]
跳到:   


Style:  
搜索: