java实现角色+武器攻击小游戏
java实现小游戏
1.游戏有2个角色可供选择:男玩家 攻击力 10女玩家 攻击力 8
2.游戏有3种武器剑 攻击力 10 40%几率造成双倍伤害斧 攻击力 15 20%几率一击杀死怪物弓 攻击力 25 35%几率被闪避(无法造成伤害)
3.游戏有1种怪物怪物 生命值 250-300 (随机)
4.玩家可以装备武器装备后 玩家实际攻击力=玩家本身攻击力+武器攻击力 (武器特效触发时,攻击力计算使用玩家实际攻击力)特殊要求 男玩家不能装备弓、女玩家不能装备斧
实现代码
private static Random random = new Random();public static void main(String args[]){//随机生成一个新玩家(男/女)GamePlayer player = null;//补全新玩家生成代码//随机生成一把武器,装备给玩家Weapon weapon=null;//补全武器生成代码、装备给玩家代码(要求必须装备成功才能继续向下进行)int p = random.nextInt(2);int w = random.nextInt(2);if (p == 0){player = new BoyPlayer();System.out.println("生成玩家为男玩家");if (w == 1){weapon = new Axe();System.out.println("玩家获得武器:斧头");}}else {player = new GirlPlayer();System.out.println("生成玩家为女玩家");if (w == 1){weapon = new Bow();System.out.println("玩家获得武器:弓");}}if (w == 0){weapon = new Sword();System.out.println("玩家获得武器:剑");}//随机生成一个怪物Monster monster=null;//补全怪物生成代码monster = new Monster();//玩家攻击怪物直到杀死怪物,记录攻击次数int attackNumber=0; //定义攻击怪物的次数int HealthPoint = monster.getHealthPoint();int damage = 0;while (HealthPoint != 0){attackNumber++;damage = weapon.getAttact(player);System.out.println("本次攻击伤害:" + damage);if (damage > HealthPoint){System.out.println("怪物死亡");HealthPoint = 0;}else {HealthPoint = HealthPoint - damage;System.out.println("怪物剩余血量:" + HealthPoint);}}System.out.print("杀死怪物一共攻击了"+attackNumber+"次");//杀死怪物一共攻击了多少次}
}
/*** 玩家抽象类*/
abstract class GamePlayer{public int attact = 8;public int getAttact() {return 0;}
}
/*** 男玩家类*/
class BoyPlayer extends GamePlayer{@Overridepublic int getAttact() {return super.attact + 2;}
}
/*** 女玩家类*/
class GirlPlayer extends GamePlayer{@Overridepublic int getAttact() {return super.attact;}
}
/*** 武器抽象类*/
abstract class Weapon{public int attact = 10;public boolean getChance(int percentage){Random random = new Random();int i = random.nextInt(99);if(i>=0&&i<percentage)return true;elsereturn false;}public int getAttact(GamePlayer gamePlayer) {return 0;}
}
/*** 剑类*/
class Sword extends Weapon{@Overridepublic int getAttact(GamePlayer gamePlayer) {boolean chance = super.getChance(40);if (chance){System.out.println("剑:触发双倍伤害");return 2* super.attact + 2*gamePlayer.getAttact();}else {return super.attact;}}
}
/*** 斧头类*/
class Axe extends Weapon{@Overridepublic int getAttact(GamePlayer gamePlayer) {boolean chance = super.getChance(20);if (chance){System.out.println("斧头:触发一击必杀");return 300;}else {return super.attact + 5;}}
}
/*** 弓类*/
class Bow extends Weapon{@Overridepublic int getAttact(GamePlayer gamePlayer) {boolean chance = super.getChance(20);if (chance){System.out.println("弓:攻击被闪避(无法造成伤害)");return 0;}else {return super.attact + 15;}}
}
/*** 怪物类*/
class Monster {Random random = new Random();private int HealthPoint =random.nextInt(300)%(300-250+1) + 250;public int getHealthPoint() {System.out.println("怪物出现,血量:"+HealthPoint);return HealthPoint;}
}
java实现角色+武器攻击小游戏相关推荐
- 用JAVA实现吃豆人小游戏
用JAVA实现吃豆人小游戏 游戏运行效果 Model.java Pacman.java 完整的游戏代码及资源文件 游戏运行效果 Model.java package pacman;import jav ...
- 面向对象程序设计(Java)课程设计——五子棋小游戏
目录 一.团队成员及任务 二.项目简介 三.功能设计图 四.运行结果截图 五.核心源码 六.课程设计感想与展望 一.团队成员及任务 队长:管俊杰 计科(智能)22-1 202203200037 负责 ...
- 编程语言用 Java 开发一个打飞机小游戏(附完整源码)
编程语言用 Java 开发一个打飞机小游戏(附完整源码) 上图 写在前面 技术源于分享,所以今天抽空把自己之前用java做过的小游戏整理贴出来给大家参考学习.java确实不适合写桌面应用,这里只是通过 ...
- Java写的main方法小游戏
这是去年闲暇时间写的一段代码,那时刚接触java,就想写一个小游戏玩玩,在网上搜索时,大部份人都说java不能写游戏,占内存什么的.不说了上代码 英雄人物类: public class Person ...
- Java开发的超级马里奥小游戏410 相对简单 功能非常齐全 完整源码
今天为大家继续分享泡泡堂小游戏的开发与制作 410,目前系统已经完成了初步功能,后续会进一步完善.整个系统界面漂亮,有完整得源码,希望大家可以喜欢.喜欢的帮忙点赞和关注.一起编程.一起进步!! 开发环 ...
- java制作纯字rpg小游戏_求java rpg小游戏源代码 最好是文字rpg 不需要很复杂 只是交作业用...
展开全部 连连看的小源码 package Lianliankan; import javax.swing.*; import java.awt.*; import java.awt.event.*; ...
- Java写的第一个小游戏(续)
优化代码(数据维护): 注:此为小游戏最终版本 代码做到最优最简 基于之前发表的文章详情可见 点击查看前文 回顾之前的代码我们可以看到很多的固定常量值或是属性我们都会大量的重复使用,这并不符合我们代码 ...
- C语言、C++与Java分别实现猜数字小游戏
系统自动生成一个随机整数(1-100), 然后由用户输入一个猜测的数字. 如果输入的数字比该随机数小, 提示 "Too small!!!", 如果输入的数字比该随机数大, 提示 & ...
- Java基础(飞机大战小游戏)
学校课程作品,Java简易飞机大战 涉及Java基础知识,通过编写对基础能有不错的巩固和拓展. 首先,先编写出游戏的窗口.游戏获胜条件以及main方法 package com.Mygame3.Plan ...
- 用java制作扑克牌_利用java实现简单的扑克牌小游戏
扑克牌小游戏: (推荐教程:java课程) 游戏玩法简介:定义五个People在玩扑克牌游戏,玩法是5个人从一副没有大小王的扑克牌中各抽取4张,牌的类型有四种:♥,♣,♠,♦.牌的大小为从1~13.( ...
最新文章
- (AI、Artificial Intelligence)人工智能概述及分类
- JS 获取字符串长度, 区别中英文
- OpenCV实现幻灯片模糊slides blur的实例(附完整代码)
- java实用教程——组件及事件处理——处理事件
- 光端机使用过程中碰到的九大问题
- Ubuntu16.04彻底删除MySQL5.7
- MFC中树形控件的应用——电话簿
- 计算机硬件的基本组成(计算机组成原理3)
- 防止ARP欺骗的方法!!!
- linux 消息队列查看和删除
- EpiDope:用于线性B细胞表位预测的深度神经网络
- python的两种执行方式,python的两种运行方式
- Django admin修改app名称
- 类蛇毒肽、蛇毒肽、 三肽-3、823202-99-9
- linux temp文件夹在哪_手机文件夹是英文不敢乱删?找出这5个文件夹,手机瞬间轻松6个G...
- SiamFC代码配置复现 matlab版本
- 初始java ~ 逻辑控制
- wind(万得)资讯金融终端登录失败问题
- 学校的校园景点平面图(校园景点迷你地图C++数据结构)
- 《数据库原理》实验报告DB7——事务与并发控制