一个控制台类小游戏
来源:互联网 发布:mac口红吧 编辑:程序博客网 时间:2024/06/05 19:46
* 运用三大特征 封装 继承 多态
* 以及包 与访问权限的控制相关知识 完成一个控制台类小游戏
//人分三类 普通人 中忍 上忍
//普通人类public class Person {public String name; //名字Person(){}Person(String name){this.name = name;}}
//中忍类public class kongFuPseson extends Person{public int blood=1000; //记录角色血量 在角色包需要调用 所以必须用protected或public修饰kongFuPseson(){}kongFuPseson(String name){this.name = name;}//普通招public void commonKill(kongFuPseson p)//被打的武林中人{p.blood-=50; //被打的人血量减少}//杀招public void bestKill(kongFuPseson p){p.blood-=150;}}
//绝招public interface secretKill {public void secortKill(kongFuPseson p);//接口内全部抽象方法 抽象方法 没有方法体 默认pubilc abstract修饰}
//上忍
public class kongFuMaster extends kongFuPseson implements secretKill{public void secortKill(kongFuPseson p){p.blood-=300;}}
//创建角色 鸣人public class mingRen extends kongFuMaster{//在其他包中访问 创建对象需要调用构造函数 所以需要public修饰public mingRen(String name){this.name = name;}//复写父类的方法 同时用super()调用父类的方法 去血public void secortKill(kongFuPseson p) {super.secortKill(p);System.out.println(this.name+"使用绝招仙法·尾兽玉干掉了"+p.name+300+"点血量!");}public void commonKill(kongFuPseson p) {super.commonKill(p);System.out.println(this.name+"使用基本忍术多重影分身术干掉了"+p.name+50+"点血量!");}public void bestKill(kongFuPseson p) {// TODO Auto-generated method stubsuper.bestKill(p);System.out.println(this.name+"使用杀招超大玉螺旋多连丸干掉了"+p.name+150+"点血量!");}}
//佐助public class zuoZu extends kongFuMaster{//在其他包中访问 创建对象需要调用构造函数 所以需要public修饰public zuoZu(String name){this.name = name;}//复写父类的方法 同时用super()调用父类的方法去血public void secortKill(kongFuPseson p) {super.secortKill(p);System.out.println(this.name+"使用绝招血继限界须佐能乎干掉了"+p.name+300+"点血量!");}public void commonKill(kongFuPseson p) {super.commonKill(p);System.out.println(this.name+"使用基本忍术千鸟流干掉了"+p.name+50+"点血量!");}public void bestKill(kongFuPseson p) {// TODO Auto-generated method stubsuper.bestKill(p);System.out.println(this.name+"使用杀招天照干掉了"+p.name+150+"点血量!");}}
public class showTime {public static Scanner in = new Scanner(System.in);public static int chioce; //接收用户的选择public static kongFuMaster player; //玩家public static kongFuMaster computer; //电脑//判断游戏什么时候结束的方法 岁的血先没public static boolean finish(){boolean f=true;if(player.blood<=0)f=false;if(computer.blood<=0)f=false;return f;}//游戏pk方法public static void begin() { //随机生成3以内的整数0,1,2 分别表示普通 杀招 绝招int n=1;//1默认玩家先出招do{int i =(int)(Math.random()*10)%3;//Math.random()随机生成0到1间的小数switch(i) //角色随机出招{case 0:if(n==1) //true默认玩家先出招player.commonKill(computer);elsecomputer.commonKill(player);break;case 1:if(n==1)player.bestKill(computer);elsecomputer.bestKill(player);break;case 2:if(n==1)player.secortKill(computer);elsecomputer.secortKill(player);}n*=-1;//flag=false; //角色轮流出招}while(finish());//分号不可以漏掉}//游戏结束 显示public static voidvoice(){if(player.blood<=0)System.out.println("君子报仇十年不晚,后会有期");elseSystem.out.println("不要羡慕哥,哥只是传说");}//显示游戏开始窗口 选择角色public static void window() {System.out.println("============欢迎进入火影忍者传==============");System.out.println("请选择游戏角色:1 鸣人2 佐助"); chioce = in.nextInt(); if(chioce==1) System.out.println("您选择的是:鸣人"); else System.out.println("您选择的是:佐助");}//游戏角色初始化public static void roles(){if(chioce==1){player =new mingRen("鸣人");computer =new zuoZu("佐助");}else{player =new zuoZu("佐助");computer =new mingRen("鸣人");}}public static void main(String[] args) {int c;do{window();//显示游戏开始界面roles();//游戏角色初始化begin();//开始游戏voice();//游戏结束System.out.println("**************************");System.out.println("是否还想继续?是》请选 1否》请选 2");c = in.nextInt();}while(c==1);}}
============欢迎进入火影忍者传==============
请选择游戏角色:1 鸣人 2 佐助
1
您选择的是:鸣人
鸣人使用杀招超大玉螺旋多连丸干掉了佐助150点血量!
佐助使用绝招血继限界须佐能乎干掉了鸣人300点血量!
鸣人使用基本忍术多重影分身术干掉了佐助50点血量!
佐助使用基本忍术千鸟流干掉了鸣人50点血量!
鸣人使用杀招超大玉螺旋多连丸干掉了佐助150点血量!
佐助使用杀招天照干掉了鸣人150点血量!
鸣人使用绝招仙法·尾兽玉干掉了佐助300点血量!
佐助使用杀招天照干掉了鸣人150点血量!
鸣人使用杀招超大玉螺旋多连丸干掉了佐助150点血量!
佐助使用杀招天照干掉了鸣人150点血量!
鸣人使用杀招超大玉螺旋多连丸干掉了佐助150点血量!
佐助使用绝招血继限界须佐能乎干掉了鸣人300点血量!
君子报仇十年不晚,后会有期
**************************
是否还想继续?是》请选 1 否》请选 2
0 0
- 一个控制台类小游戏
- 一个控制台版的猜字小游戏
- c语言控制台的一个贪吃蛇小游戏
- Java小游戏之控制台小游戏
- 控制台的小游戏
- 简单的控制台小游戏
- 推箱子小游戏--控制台
- C语言控制台小游戏
- 控制台小游戏之五子棋
- 控制台小游戏之俄罗斯方块
- 一个小游戏
- 一个小游戏
- 一个小游戏
- 一个小游戏
- 一个小游戏
- 一个小游戏
- [C]名字大战(控制台小游戏)
- C++ 控制台版 2048小游戏
- MongoDB基本使用
- 国外大学生谈经验:如何在Github参与开源(Open Source on Github: Your First Contribution)
- jar 转换成dll
- 【算法】 动态规划 最佳路径求解
- jquery 操作select
- 一个控制台类小游戏
- 《读《金色的鱼钩》有感》
- c++ 模板类
- HTML5 移动开发入门知识点
- 创建or1200最小SOPC,并进行仿真
- Android调试.so库常用工具
- Android自动化测试中AccessibilityService获取控件信息(1)
- MYSQL启用日志,查看日志
- struts2在项目中的应用之普通上传