/*** 抽象游戏角色模型。* 一个角色可以战斗,但是战斗需要武器。*/
public abstract class Role {private Weapon weapon;public void fight() {weapon.use();}public void setWeapon(Weapon w) {this.weapon = w;}
}
/*** 抽象武器模型。*/
public abstract class Weapon {public abstract void use();
}

/*** 具体武器-剑。*/
public class Sword extends Weapon{@Overridepublic void use() {System.out.println("剑");}
}
/*** 具体武器-刀*/
public class Knife extends Weapon{@Overridepublic void use() {System.out.println("刀");}
}
/*** 具体角色实现-国王*/
public class King extends Role{
}

测试:

        Role role = new King();Weapon knife = new Knife();Weapon sword = new Sword();role.setWeapon(knife);role.fight();role.setWeapon(sword);role.fight();

Java设计模式:游戏中的角色和武器抽象设计相关推荐

  1. 游戏中的角色停止,时间停止

    游戏中的角色停止,时间停止 最近遇到一款很喜欢的游戏-<TimeLocker-Shooter>,翻译是"时间凝固-射击". 游戏介绍很简单:当你停止,时间停止 .操纵时 ...

  2. 游戏中的角色渲染技术之皮肤篇

    原文链接https://blog.uwa4d.com/archives/Usparkle_Skin.html 这是侑虎科技第253篇原创文章,感谢作者洛城供稿,欢迎转发分享,未经作者授权请勿转载.当然 ...

  3. 第五周项目二-游戏中的角色类(1)

    /* *Copyright(c)2016,烟台大学计算机与控制工程学院 *All rights reserved *文件名称:123.cpp *作 者:王蕊 *完成日期:2016年3月29日 *版 本 ...

  4. 三维游戏中的角色动画

    为体现游戏的真实性.艺术性,动画效果一般都是由专门的动画师利用特定的软件提前制作完成,在游戏运行阶段,由游戏引擎对这些动画按照游戏的逻辑.用户输入等条件进行控制,有效地播放出来.当然,也有一些动画效果 ...

  5. 横板闯关游戏中的角色移动

    前言 在很多2D游戏中,都会涉及到角色移动,跳跃等操作,最典型的就是横板闯关游戏.例如经典的魂斗罗.三国战纪等.这两款游戏在地图移动和角色行走的方式中唯一的不同就是魂斗罗是没有纵深的那种. 看似简单, ...

  6. 2022.1.28 力扣-每日一题-游戏中弱角色的数量

    题目描述: 你正在参加一个多角色游戏,每个角色都有两个主要属性:攻击 和 防御 .给你一个二维整数数组 properties ,其中 properties[i] = [attacki, defense ...

  7. MIT教授: 世界就是《黑客帝国》,人类在模拟游戏中扮演角色

      转载于 新智元   编辑:元子 MIT教授认为我们目前有50%-100%的概率生活在<黑客帝国>那样的计算机模拟世界中,所谓现实可能不过是一种幻觉.而距离我们创建自己的模拟世界,最多需 ...

  8. 如何用Unity3D实现游戏中的角色换装?

    换装系统是游戏中较为常见的功能,我们给它一个专业词avatar,可以做到装备与人物分离,实现自由换装效果.我们可以将头部.身体.手.脚.武器独立建模.贴图,利用avatar来动态换装,实现各种搭配.实 ...

  9. 人工智能在《LOL王者荣耀》游戏中的角色

    近期LOL和王者荣耀游戏已经充斥着真个朋友圈,但是谁又知道在火热的游戏进行中,又有一批批IT男在完成另一项重要的任务,那就是利用深度学习的知识去完成游戏直播的智能化,给现场欣赏比赛的观众不一样的感受. ...

  10. 简单的文本设计就能影响游戏体验?游戏中提升玩家体验的小设计

    除去少部分以"折磨"玩家为己任的"受苦"游戏,电子游戏其本质上还是为了给予使用者美好的体验. 除去游戏的画面.手感.音乐等等一些会直接影响玩家体验的重要要素, ...

最新文章

  1. 云效(原RDC)如何构建一个基于Maven的Java项目
  2. windows API 创建系统托盘图标
  3. centos7-yum安装与卸载
  4. 未来软件是什么样呢?数据库篇(转载)
  5. [美文欣赏]清华胡宇迪教授谈
  6. 谈谈 Tomcat 请求处理流程
  7. iOS开发之自定义弹出的键盘
  8. How to find documentation of given API
  9. java dictionary遍历_遍历 Dictionary,你会几种方式?
  10. .NET简谈事务、分布式事务处理
  11. 信息学奥赛C++语言:上课的人数
  12. 有钱男人更看重女人的美貌还是年轻?
  13. 高频一线大厂Python面试题:算法+爬虫+数据处理+基础
  14. 阿里巴巴Aliware十年微服务架构演进历程中的挑战与实践
  15. HTML超连接(a标记)
  16. matlab最佳拟合的指标是什么意思,Matlab拟合好坏常用指标
  17. python rgb颜色表_[置顶] RGB颜色查询对照表
  18. 数据预处理之无量纲化、缺失值处理(三)
  19. office起动缓慢_怎么解决Office2016启动特别慢?
  20. 041-推箱子游戏1

热门文章

  1. php 读取rtf文件,rtf是什么格式?
  2. vscode php格式化插件
  3. 银河麒麟安装node
  4. Qt实用技巧:自定义窗口标题栏
  5. 2015年8月18日工作日志--------赵鑫
  6. VINS-Mono 代码解析六、边缘化(2)理论和代码详解
  7. 支付宝app支付-php
  8. 真无线蓝牙耳机哪款好?国内真无线蓝牙耳机排行榜10强!
  9. 网站怎么样对接微信公众号,看以下操作
  10. 我的python学习(前言 初生牛犊不怕虎)