金庸群侠传

游戏运行界面:

游戏实现源码:

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 }

作者:泰斗贤若如

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

  1. 小游戏——金庸奇侠传(JAVA,对面向对象的进一步了解)

    金庸群侠传 游戏运行界面:   游戏实现源码: 1 package game.logic; 2 //人类 3 public class Person { 4 public String name; / ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  9. sdl 游戏引擎c语言,kys-cpp: 《金庸群侠传》C++复刻版,这是一个以SDL2为基础实现的2D游戏引擎。同时相当于提供了一个使用该引擎制作DOS游戏《金庸群侠传》移植版的范例。...

    kys-cpp 这是一个以SDL2为基础实现的2D游戏引擎. 基本按照当代游戏引擎的思路实现,但是没有使用回调,因为回调会增加初学者的使用难度. 同时相当于提供了一个使用该引擎制作DOS游戏<金 ...

  10. 金庸群侠传HTML5源码,【金庸群侠传】网金单机版网游单机怀旧一键端

    游戏名称:网金单机版金庸群侠传单机版 支持系统:XP/WIN7 安装说明:一键安装 更多功能请在游戏里面体验 正宗当年网金单机版 非金庸群侠传单机 怀旧过去 回到那些年 完成当年的遗憾 华山剑法 绕指 ...

最新文章

  1. 如何用Python画一棵漂亮的树
  2. P1525 关押罪犯(扩展域并查集/二分图)
  3. 《中国编程挑战赛--资格赛》赛题及解答
  4. [YTU]_2613( 距离产生美)
  5. 调用ajax_[WEB篇]-AJAX-02-AJAX应用案例
  6. Elasticsearch全文检索对比:match、match_phrase、wildcard
  7. kubernetes实战篇之创建密钥自动拉取私服镜像
  8. boke练习: spring boot: security post数据时,要么关闭crst,要么添加隐藏域
  9. 是圆的问题呢(洛谷P1652题题解,Java语言描述)
  10. eclipse java 注释_Eclipse Java注释模板设置详解
  11. 《Programming in Lua 3》读书笔记(五)
  12. 《人人都可以创业》连载1:创业很简单,从心开始
  13. UltimateAndroid快速开发框架教程
  14. linux中文变成日文,linux nkf 日文编码转换命令[转载]
  15. 无法删除文件:无法读源文件或磁盘
  16. pc端html转换手机端,一种兼容PC端和手机端WEB界面的实现方法与流程
  17. 计算机运行慢 卡是什么原因是什么原因,电脑反应慢是怎么回事?五招让你的电脑快得飞起!...
  18. linux ps 2鼠标驱动,佳能 PS/2 TrackPoint 驱动程序下载-更新佳能软件(鼠标)
  19. 在线视频下载网址合集
  20. 黑苹果主机z77技嘉wifi主板,

热门文章

  1. 计算机科学技术专业单片机,计算机科学与技术专业毕业论文---基于单片机的智能浇花系统的设计与实现.docx...
  2. 基于单片机智能交通灯控制系统设计外文文献_【设计图文】单片机实现的步进电机控制系统(开题报告+论文+文献综述+外文翻译+DWG图纸)...
  3. 61850协议服务器端开发,基于IEC61850标准的服务端程序的设计与实现
  4. [XCTF-Reverse] 69 XCTF 3rd-RCTF-2017_MyDriver2-397
  5. m6000查看端口状态_中兴ZXR10 M6000维护最常用命令精要
  6. 站在搜索引擎的视角看ASO,aso商店搜索引擎优化
  7. 一、安卓系统源码下载
  8. cad中lisp文件给恶作剧_AutoCAD小秘密062:紧急插播,关于LISP的病毒防治
  9. 在IIS6 配置使用php5.4的fastcgi模式
  10. 我的五年百度博客文章列表(带链接版)