金庸群侠传

游戏运行界面:

 

游戏实现源码:

 1 package game.logic;
 2 //人类
 3 public class Person {
 4 public String name;  //名字
 5
 6 Person(){
 7
 8 }
 9
10 Person(String name){
11 this.name = name;
12 }
13 public String getName() {
14 return name;
15 }
16
17 public void setName(String name) {
18 this.name = name;
19 }
20
21 }

 1 package game.logic;
 2
 3 //会武功的人类
 4 public class KongFuPerson extends Person {
 5
 6 protected int blood = 1000; // 默认都是1000点血
 7
 8 KongFuPerson() {
 9
10 }
11
12 public int getBlood() {
13 return blood;
14 }
15
16 public void setBlood(int blood) {
17 this.blood = blood;
18 }
19
20 KongFuPerson(String name) {
21 this.name = name;
22 }
23
24 // 普通招数
25 public void commonSkill(KongFuPerson P) {
26 P.blood -= 50;  //攻击敌人50点血
27 }
28
29 //杀招式
30 public void bestSkill(KongFuPerson P) {
31 P.blood -= 100;  //攻击敌人100点血
32 }
33 }

1 package game.logic;
2
3 //武功绝学类(接口)
4 public interface Secrets {
5 public void secrets(KongFuPerson P);
6 }

 1 package game.logic;
 2
 3 //武功高手类
 4 public class KongFuMaster extends KongFuPerson implements Secrets{
 5
 6 public void secrets(KongFuPerson P) {
 7 P.blood -= 300;//攻击敌人300点血
 8
 9 }
10
11 }

 1 package game.roles;
 2
 3 import game.logic.KongFuMaster;
 4 import game.logic.KongFuPerson;
 5
 6 //令狐冲类
 7 public class Linghuchong extends KongFuMaster{
 8
 9 public Linghuchong(){
10
11 }
12
13 public Linghuchong(String name){
14 this.name = name;
15 }
16 public void secrets(KongFuPerson P) {
17 // TODO Auto-generated method stub
18 super.secrets(P);
19 System.out.println(this.getName()+"使用武功绝学独孤九剑攻击"+P.getName()+"300点血");
20 }
21
22 public void commonSkill(KongFuPerson P) {
23 // TODO Auto-generated method stub
24 super.commonSkill(P);
25 System.out.println(this.getName()+"使用越女剑法攻击"+P.getName()+"50点血");
26 }
27
28 public void bestSkill(KongFuPerson P) {
29 // TODO Auto-generated method stub
30 super.bestSkill(P);
31 System.out.println(this.getName()+"使用华山剑法攻击"+P.getName()+"100点血");
32 }
33
34
35 }

 1 package game.roles;
 2
 3 import game.logic.KongFuMaster;
 4 import game.logic.KongFuPerson;
 5
 6 //欧阳锋类
 7 public class Ouyangfeng extends KongFuMaster{
 8 public Ouyangfeng(){
 9
10 }
11
12 public Ouyangfeng(String name){
13 this.name = name;
14 }
15 public void secrets(KongFuPerson P) {
16 // TODO Auto-generated method stub
17 super.secrets(P);
18 System.out.println(this.getName()+"使用武功绝学蛤蟆功攻击"+P.getName()+"300点血");
19 }
20
21 public void commonSkill(KongFuPerson P) {
22 // TODO Auto-generated method stub
23 super.commonSkill(P);
24 System.out.println(this.getName()+"使用毒蛇攻击"+P.getName()+"50点血");
25 }
26
27 public void bestSkill(KongFuPerson P) {
28 // TODO Auto-generated method stub
29 super.bestSkill(P);
30 System.out.println(this.getName()+"使用毒蛇拐杖攻击"+P.getName()+"100点血");
31 }
32 }

  1 package game.app;
  2
  3 import game.logic.KongFuMaster;
  4 import game.roles.Linghuchong;
  5 import game.roles.Ouyangfeng;
  6
  7 import java.util.Scanner;
  8
  9 public class Game {
 10
 11 public static Scanner in = new Scanner(System.in);
 12 public static int choice;//用户的选择
 13 public static KongFuMaster player;//玩家
 14 public static KongFuMaster computer;//电脑玩家
 15 public static boolean isFirst = true;//默认玩家打电脑
 16
 17 //游戏角色初始化方法
 18 public static void init(){
 19 switch(choice){
 20 case 1:
 21 player = new Linghuchong("令狐冲");
 22 computer = new Ouyangfeng("欧阳锋");
 23 break;
 24 case 2:
 25 player = new Ouyangfeng("欧阳锋");
 26 computer = new Linghuchong("令狐冲");
 27 break;
 28 }
 29 System.out.println("您选择了:"+ player.getName());
 30 }
 31
 32 //显示游戏菜单
 33 public static void Menu(){
 34 System.out.println("********欢迎进入金庸群侠传***********");
 35 System.out.println("1.令狐冲       2.欧阳锋");
 36 System.out.println("请选择:");
 37 choice = in.nextInt();
 38 }
 39
 40 //游戏PK方法
 41 public static void beginCombat(KongFuMaster player , KongFuMaster computer){
 42 //生成一个1-3之间的随机数
 43 int temp = (int)(Math.random()*10)%3;   //0-2
 44 temp++;
 45 switch(temp){
 46 case 1:
 47 if(Game.isFirst){
 48 player.commonSkill(computer);
 49 }else{
 50 computer.commonSkill(player);
 51 }
 52 break;
 53 case 2:
 54 if(Game.isFirst){
 55 player.bestSkill(computer);
 56 }else{
 57 computer.bestSkill(player);
 58 }
 59 break;
 60 case 3:
 61 if(Game.isFirst){
 62 player.secrets(computer);
 63 }else{
 64 computer.secrets(player);
 65 }
 66 break;
 67 }
 68 Game.isFirst = !Game.isFirst;
 69 }
 70
 71 //判断游戏是否结束
 72 public static boolean isComplete(){
 73 if(Game.player.getBlood()<=0||Game.computer.getBlood()<=0){
 74 return true;
 75 }else{
 76 return false;
 77 }
 78 }
 79
 80 //显示游戏结果
 81 public static void showResult(){
 82 if(Game.player.getBlood()<=0){
 83 System.out.println("君子报仇十年不晚,咱们后会有期。。。。");
 84 }else{
 85 System.out.println("别羡慕哥,哥只是个传说。。。。");
 86 }
 87 }
 88
 89 public static void main(String[] args){
 90 Game.Menu();//显示菜单
 91 Game.init();//初始化游戏
 92
 93 do{
 94 //开始PK
 95 Game.beginCombat(player, computer);
 96 }while(!Game.isComplete());//判断是否结束
 97
 98 Game.showResult();//显示游戏结果
 99 }
100 }

转载于:https://www.cnblogs.com/zyx110/p/10617458.html

小游戏——金庸奇侠传(JAVA,对面向对象的进一步了解)相关推荐

  1. 原创游戏 - 金庸群侠传X0.4发布

    经过N长时间的努力,一直业余时间做的小游戏终于发布到0.4版本了,呱唧呱唧一下~ 屌丝程序员同时兼任 策划.宣传.美工.音乐.编剧,实在是苦得啊!!!! 游戏首页地址:点击打开链接 "飞雪连 ...

  2. 一次httpserver优化的经验和教训(silverlight游戏 - 金庸群侠传X0.5上线记)

    金X因为被推荐到ACFUN游戏排行第一名.并同一时候在17YY.7K7K.U77.17173等各大小游戏站点上线.迎来了在线用户数量的爆炸式增长.眼下各大站点使用外链方式.也就是实际链接到金X官网的s ...

  3. 一次http服务器优化的经验和教训(silverlight游戏 - 金庸群侠传X0.5上线记)

    金X由于被推荐到ACFUN游戏排行第一名,并同时在17YY.7K7K.U77.17173等各大小游戏网站上线,迎来了在线用户数量的爆炸式增长.目前各大网站使用外链方式,也就是实际链接到金X官网的服务器 ...

  4. C++开源游戏推荐,《金庸群侠传》复刻版和3D重制版

    声明:项目非本人原创,仅仅分享链接! 声明:项目非本人原创,仅仅分享链接! 声明:项目非本人原创,仅仅分享链接! 铁血丹心论坛 https://www.dawuxia.net/forum.phphtt ...

  5. 网页游戏课设-金庸群侠传

    金庸群侠传 经过一个学期的努力,根据自己所学的知识,模仿了一个使用unity3D写的一个游戏金庸群侠传.这里废话就不多说了,现在就讲解一下.(在兼容性问题上要使用chrome,而且版本不能太低,不然会 ...

  6. java 金庸群侠传_《金庸群侠传》MOD发展史(官方版本 转自铁血丹心论坛)

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 三.MOD初期 在事件修改器和场景编辑器被制作出来之后,修改档的制作被引向了新的方向.(此后包括事件修改的"修改档"即可称之为&quo ...

  7. 原创游戏,金庸群侠传X 0.5公布

    首先说一下背景,我个人从小特别爱玩游戏,对小时候一款游戏<金庸群侠传>DOS版更是情有独钟,自己工作以后,利用业余时间自己整了一个原创的改编版丢网上(找图片.音乐.写剧情更是虐心之极,耗时 ...

  8. 原创游戏,金庸群侠传X 0.5发布

    首先说一下背景,我个人从小特别爱玩游戏,对小时候一款游戏<金庸群侠传>DOS版更是情有独钟,自己工作以后,利用业余时间自己整了一个原创的改编版丢网上(找图片.音乐.写剧情更是虐心之极,耗时 ...

  9. 金庸群侠传 Windows版:用 Object Pascal 和 SDL 实现的 DOS 游戏《金庸群侠传》的重制版

    金庸群侠传 Windows版:用 Object Pascal 和 SDL 实现的 DOS 游戏<金庸群侠传>的重制版. 原 DOS 下面的经典游戏<金庸群侠传>pascal 复 ...

最新文章

  1. Python 技术篇-pip安装提示:‘pip‘ 不是内部或外部命令,也不是可运行的程序或批处理文件,问题解决方法
  2. TCP客户端服务端编程模型
  3. Shell变量:Shell变量的定义、删除变量、只读变量、变量类型
  4. Poj 3281 Regional Chengdu Food(Dicnic)
  5. 大容量存储方案_基因行业容器存储解决方案
  6. 搞懂 CSS 水平居中与垂直居中的16个方法
  7. python接口自动化21-下载excel文件(Content-Type:octets/stream)
  8. 基因突变PHP6,基因突变中那些“披着狼皮的羊” 很多“致命性”基因突变正在被证实无害...
  9. 数据库高可用实战案例——架构优化之清爽一夏
  10. java dht 爬虫_P2P中DHT网络爬虫
  11. c语言round函数作用,if条件函数怎样和round一起用?!,C++中round函数怎么用
  12. 【干货】针对DNN的神经网络中上下文相关处理的连续学习概述
  13. 浅谈MMORPG服务器架构
  14. c语言信息注册功能,c语言实现注册登陆功能(两个模块)
  15. 关于 Kubernetes中kube-controller-managerr的一些笔记
  16. QCon 北京|Apache Pulsar:云原生时代的消息服务
  17. 全网热议的云原生技术到底什么?看完这25点你就知道了
  18. 东南大学计算机考研专业课科目,东南大学计算机技术(专业学位)研究生考试科目和考研参考书目...
  19. 亿万富翁神奇公式:年存1.4万四十年变1亿
  20. 地方社区(兰州论坛)成功运营 经典十问十答

热门文章

  1. Win10使用小问题
  2. 熊猫TV全部分类页面布局实现效果
  3. 歌曲:隐形的翅膀 歌手:张韶涵
  4. 【Vue】如何实现打印功能:Printjs插件
  5. vue引入阿里巴巴iconfont图标(简单易懂)
  6. Condition 是什么?怎么用?
  7. 9.1 定时器初始化
  8. w10系统无法访问xp计算机名,xp系统用户无法访问win10电脑上共享资源的解决方法...
  9. python制表符是什么意思_python中制表符是什么意思
  10. MFC基于CAsyncSocket套接字客户端代码示范