《Java》使用面向对象的方法制作的小游戏

  • 1. 设计要求
  • 2.演示效果
  • 3.代码实现
    • 第一部分:Player
    • 第二部分:Role
  • 4.自我感受

1. 设计要求

2.演示效果

《Java》使用面向对象的方法制作的小游戏

3.代码实现

第一部分:Player

package GAME;
import java.util.Scanner;
public class Player {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("欢迎来到小型文字扮演游戏《假传奇》,我该如何称呼您?");String name = scanner.next();System.out.println("角色创建完毕,正式开起你的游戏之旅");System.out.println("**********************************");System.out.println("有这些角色供你选择:1.金桑 技能1:嘲讽 技能2:高原血统");System.out.println("2.老许 技能1:召唤老婆 技能2:甜蜜暴击");System.out.println("3.曹欧巴 技能1:丘比特之箭  技能2:芳心纵火");System.out.println("4.李馆长 技能1:扔哑铃 技能2:喝蛋白粉");Role role = new Role();int i = scanner.nextInt();int hp1=50;int attack1=3;int hp2=75;int attack2=10;int hp3=100;int attack3=20;role.Career(i);int hp = role.getHP();int attack=role.getAttackPower();int exp=role.getExp();String skill1=role.getSkill1();String skill2=role.getskill2();int skills1=role.skills(1);//技能1造成的伤害int skills2=role.skills(2);//技能2造成的伤害System.out.println("你选择的是" + role.getCareer());/* case 2:role.Career(2);System.out.println("你选择的是老许");break;case 3:role.Career(3);System.out.println("你选择的是曹欧巴");break;case 4:role.Career(4);System.out.println("你选择的是李馆长");break;*/for (int a = 0; ; ) {System.out.println("新手村村长:你现在要做什么? 1.打怪升级 2.学习技能 3.疗伤");switch (scanner.nextInt()) {case 1:System.out.println("现在有这些地方供你选择 1.新手村 2.蝴蝶谷 3.梅花山庄");int b = scanner.nextInt();System.out.println("现在有以下敌人供你选择:1.土匪 2.强盗 3.匪首");switch (scanner.nextInt()) {//问题:不受控制case 1:System.out.println("你遭遇了土匪");while (true) {System.out.println("你可以选择以下攻击方式 1.攻击 2.施法");int f = scanner.nextInt();if (f == 1) {hp1 = hp1 - attack;hp = hp - attack1;System.out.println(name + "剩余的生命值是:" + hp + "敌人剩余生命值" + hp1);} else if (f == 2) {System.out.println("请选择使用技能1"+role.getSkill1()+"技能2"+role.getskill2());int attacks = role.skills(scanner.nextInt());hp1 = hp1 - attacks;hp = hp - attack1;System.out.println(name + "剩余的生命值是:" + hp + "敌人剩余生命值" + hp1);}if (hp1 <= 0) {System.out.println("你已打败土匪");exp=exp+50;System.out.println("你现在的经验是"+exp);hp1=50;break;}if (hp < 0) {System.out.println("你已被打败");}}break;case 2:System.out.println("你遭遇了强盗");while (true) {System.out.println("你可以选择以下攻击方式 1.攻击 2.施法");int f = scanner.nextInt();if (f == 1) {hp2 = hp2 - attack;hp = hp - attack2;System.out.println(name + "剩余的生命值是:" + hp + "敌人剩余生命值" + hp2);} else if (f == 2) {System.out.println("请选择使用技能1"+role.getSkill1()+"技能2"+role.getskill2());int attacks = role.skills(scanner.nextInt());hp2 = hp2 - attacks;hp = hp - attack2;System.out.println(name + "剩余的生命值是:" + hp + "敌人剩余生命值" + hp2);}if (hp2 <= 0) {System.out.println("你已打败土匪");exp=exp+75;System.out.println("你现在的经验是"+exp);hp2=75;break;}if (hp < 0) {System.out.println("你已被打败");}break;}case 3:System.out.println("你遭遇了匪首");while (true) {System.out.println("你可以选择以下攻击方式 1.攻击 2.施法");int f = scanner.nextInt();if (f == 1) {hp3 = hp3 - attack;hp = hp - attack3;System.out.println(name + "剩余的生命值是:" + hp + "敌人剩余生命值" + hp3);} else if (f == 2) {System.out.println("请选择使用技能1"+role.getSkill1()+"技能2"+role.getskill2());int attacks = role.skills(scanner.nextInt());hp3 = hp3 - attacks;hp = hp - attack3;System.out.println(name + "剩余的生命值是:" + hp + "敌人剩余生命值" + hp3);}if (hp3 <= 0) {System.out.println("你已打败土匪");hp3=100;exp=exp+100;System.out.println("你现在的经验是"+exp);break;}if (hp < 0) {System.out.println("你已被打败");}}break;}break;case 2://学习技能if (exp>=200&&exp<300){System.out.println("你提升的技能是"+skill1);skills1=skills1+5;exp=exp-200;System.out.println("现在技能"+skill1+"伤害是"+skills1);System.out.println("目前经验值剩余"+exp);}else if (exp>=300){System.out.println("你提升的技能是"+skill2);skills2=skills2+10;exp=exp-300;System.out.println("现在技能"+skill2+"伤害是"+skills2);System.out.println("目前经验值剩余"+exp);}elseSystem.out.println("你的经验不足,请继续刷怪积累经验");break;case 3://疗伤System.out.println("你目前的生命值是"+hp);hp= role.getHP();System.out.println("治疗之后,你的生命值是"+hp);}}}
}

第二部分:Role

package GAME;public class Role {private String career =null ;//角色职业private int attackPower = 0;//角色攻击力private int HP = 0;//生命值private String skill1 = null;private String skill2=null;private int exp=0;
//        public Role(String career, int attackPower, int HP,String skill) {
//            this.career = career;
//            this.attackPower = attackPower;
//            this.HP = HP;
//            this.skill=skill;//   }public String getCareer() {return career;}public int getAttackPower() {return attackPower;}public int getHP() {return HP;}public String getSkill1(){return skill1;}public void setCareer(String career) {this.career = career;}public void setAttackPower(int attackPower) {this.attackPower = attackPower;}public void setHP(int HP) {this.HP = HP;}public void setSkill1(String skill){this.skill1=skill;}public String getskill2(){return skill2;}public void setskill2(String skill2){this.skill2=skill2;}public void setExp(int exp ){this.exp=exp;}public int getExp(){return exp;}//选择职业public  void Career(int i){//System.out.println("请选择你的职业:0金桑、1老许、2李哑铃、3曹欧巴");//String s;// s=in.nextLine();// Scanner scanner= new Scanner(System.in);//int i =scanner.nextInt();if(i == 1){this.career="金桑";this.attackPower=10;this.HP=400;this.skill1="嘲讽";this.skill2="高原血统";}if(i == 2) {this.career = "老许";this.attackPower=40;this.HP=100;this.skill1="召唤老婆";this.skill2="甜蜜暴击";}if(i == 3){this.career="曹欧巴";this.attackPower=30;this.HP=200;this.skill1="丘比特之箭";this.skill2="芳心纵火";}if (i == 4) {this.career="李馆长";this.attackPower=20;this.HP=300;this.skill1="扔哑铃";this.skill2="喝蛋白粉";}}public int skills(int i){if (i==1){return 20;}else if (i==2){return 30;}else {System.out.println("输入错误");return 0;}}
}

4.自我感受

在此次项目设计中首先对整个项目的理解,构思了一个框架,把人物和野怪以及NPC设置成三个类,再次讨论角色的技能属性,分别以个人特点虚拟化变成角色的身份,以及角色能有的技能和对应的属性。所谓灵感来源于生活。此时角色就很容易的创建出来,但是此时迎面而来的就是角色的技能,这时我们就夸张的利用的人物的生活习性或者说是特性,那么角色类就确定了。接下来就是NPC和地图,我们就简单的设计也一下和主线缠起来一个简单的小游戏就设计出来了。并没有运用太多的面向对象的知识点。**总结:**此次参与度不高甚至于是划水,总体的代码实现交于“李馆长”(辛苦了)。原因就是拖欠的太多知识点,慢慢开始补吧。

《Java》使用面向对象的方法制作的小游戏相关推荐

  1. java面向对象思想编写原谅帽小游戏 原谅帽游戏思路解析

    java面向对象思想编写原谅帽小游戏 原谅帽游戏思路解析: 面向对象思想 作品展示 类(游戏端)继承Frame: 首先要创建一个方法去让游戏开始和结束 使用text执行这个游戏的方法(需要有游戏标题和 ...

  2. 【教程1】Java制作国际象棋小游戏-01

    Java 制作国际象棋小游戏-01 菜鸟学了几天Java之后手痒痒了,所以开始谋划写个小游戏什么的练练手,刚好一门面向对象的课程布置了一个project,不限内容不限语言,所以菜鸟的小组决定做个国际象 ...

  3. python自学篇十[ 面向对象 (四) :王者荣耀小游戏+模拟一个简单的银行进行业务办理的类]

    python基础系列: python自学篇一[ Anaconda3安装 ] python自学篇二[ pycharm安装及使用 ] python自学篇三[ 判断语句if的使用 ] python自学篇四[ ...

  4. 面向对象之猫抓老鼠小游戏

    面向对象之猫抓老鼠小游戏: 猫类的创建: 代码: package com.softeem.lesson08.example;public class Cat {private String name; ...

  5. 表白小游戏教程:制作一个小游戏送给喜欢的TA(不会编程也能学会哦)

    大家好哇~ 欢迎翻开波波和阿菌的长篇故事~ 不过捏,今天我们不讲故事,今天将由阿菌和大家分享一个小教程:教大家制作一个小游戏,可以用来送给喜欢的人.无须任何计算机专业基础,只要能操作电脑,并在初一的数 ...

  6. 如何使用 Unity制作微信小游戏,微信小游戏制作方案 最新完整详细教程来袭【持续更新】

    前言 Unity实战篇 | Unity制作微信小游戏,最新详细教程来袭[持续更新] 一.方案特点 二.技术原理 三.转换案例 四.安装与使用方法 4.1 查阅推荐的引擎版本,安装时选择WebGL组件 ...

  7. python应用学习(六)——tkinter制作连连看小游戏

    python 制作连连看小游戏 前言 一.准备 二.游戏简单介绍 1.游戏规则 2.游戏设计所需的图片库: 三.游戏设计 I.创建Point点类 II.定义函数 III.游戏的主函数逻辑 IV.完整代 ...

  8. ***JAVA*和*Eclipse*开发一个换装小游戏**

    JAVA和Eclipse开发一个换装小游戏** 家有一女如有一宝,最近女朋友的少女心有点爆棚,作为一个计算机专业的人,我的情商简直是低到吓人,但是我还是想到了,亲自给女朋友做一个换装的小游戏,来满足女 ...

  9. python编的俄罗斯方块游戏_手把手制作Python小游戏:俄罗斯方块(一)

    手把手制作Python小游戏:俄罗斯方块1 大家好,新手第一次写文章,请多多指教 A.准备工作: 这里我们运用的是Pygame库,因为Python没有内置,所以需要下载 如果没有pygame,可以到官 ...

最新文章

  1. pb 里面有个report object_【园所新闻】我们与秋天有个“约会” ——记区一实幼尧佳园亲子秋游活动...
  2. 5张图搞懂Java深浅拷贝
  3. mysql左连接_MySQL left join 左连接的通俗理解
  4. maven学习笔记之IDEA+Maven+Jetty运行一个简单的web项目
  5. LAMP介绍,Apache安装细节过程
  6. AF_UNIX和AF_INET
  7. 队列实现栈 | 栈实现队列
  8. ABP vNext分布式事件总线RabbitMQ注意事项
  9. ACM中关于计算几何(浮点数)的精度问题
  10. php面试题2018mysql_PHP程序员必会的MySQL面试题
  11. PHP无法执行MySQL语句,解决PHP执行批量MySQL语句的问题
  12. 直播P2P技术2-低延迟模型
  13. 检讨:丢了我女儿和项目设计感想
  14. 若何设定Linux把持系统的启动暗码
  15. Linux---用户与用户组管理
  16. NOIP2013 复盘
  17. html5妇女节游戏,2018三八妇女节趣味游戏大全
  18. word文档解密方法
  19. MyBatis 大于等于、小于等于的写法
  20. oracle t7 1,Oracle SPARC t7-1服务器介绍及配置参数

热门文章

  1. 优酷视频分享链接自适应屏幕的方法
  2. 用matlab计算反正弦函数,为什么正弦,反正弦函数计算结果会出现复数?
  3. 【天命奇御】成就进度62/71的通关攻略(3·商店篇)
  4. iOS专属 利用快捷指令拿美团饿了么外卖红包
  5. EXCEL隔行选取操作
  6. python驱动级模拟按键_python如何实现驱动级的模拟按键?
  7. 没有注册类 (异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG)) 在 System.Windows.Forms.UnsafeNativeMethods.C
  8. 福袋试用2.0(野火霸天虎stm32f407、正点原子miniSTM32F103...)
  9. 如何利用GitHub设计一个炫酷的个人网站(含代码)
  10. Number([])与Number({})