免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2969 | 回复: 15
打印 上一主题 下一主题

[技术动态] 软件重在设计,一起来面向对象 [复制链接]

论坛徽章:
5
技术图书徽章
日期:2013-08-17 07:26:49双子座
日期:2013-09-15 16:46:29双子座
日期:2013-09-25 08:17:09技术图书徽章
日期:2013-09-25 09:11:42天秤座
日期:2013-10-01 16:25:34
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-10-20 22:52 |只看该作者 |倒序浏览
本帖最后由 __BlueGuy__ 于 2012-10-20 23:09 编辑

这个设计有什么优缺点, 你会怎么设计? 怎么重写... ?


这是我从某手机游戏里 copy出来的代码? 大家评论一下,
这些都属于机密文件,很有价值的,我都是冒着商业风险拿出来讨论的...

  1. public class FSprite implements GameData
  2. {

  3.     Image[] images;
  4.     short[][] modules;
  5.     short[][] attrectdata, beattrectdata;
  6.     short[][][] frames;
  7.     byte[][][] actions,
  8.          attackdata, //攻击数据
  9.          effectdata; //特效数据
  10.     GameCanvas canvas;
  11.     boolean isdrawsprite;
  12.     byte actionstate, actionIndex, actionFrameindex, frameDelay;
  13.     byte faceto;
  14.     short spritex, spritey, spritez; //角色位置
  15.     short xspeed, axspeed, yspeed, ayspeed, zspeed, azspeed;
  16.     byte hdirection, vdirection;
  17.     byte alivestate;
  18.     byte spritePRI;
  19.     byte spriteType;
  20.     byte spriteboxindex;
  21.     byte spritename;
  22.     boolean isactionover;
  23.     byte attackindex, attacklevel, attackareaz;
  24.     byte attackstate, attacktype, attackefftype, attackhitnum, attackdebufindex, hittype;
  25.     short attackhurtpercent;
  26.     byte hitEnemyIndex;
  27.     byte hurtstate;
  28.     short appendhurt;
  29.     boolean isheavyhurt;
  30.     byte debuff;
  31.     Role user, actonrole;
  32.     byte attackdelay;
复制代码

  1. public class Role extends FSprite implements GameData
  2. {
  3.     HeadPopUp[] hpp = new HeadPopUp[5];

  4.     short[] baseshengming = new short[2],//生命
  5.     shengming = new short[2],
  6.    
  7.     basefali = new short[2],//法力
  8.     fali = new short[2],
  9.    
  10.     baseminjie = new short[2],//敏捷
  11.     minjie = new short[2],
  12.    
  13.     basefangyu = new short[2],//防御
  14.     fangyu = new short[2],
  15.    
  16.     basewugong = new short[2],//物攻
  17.     wugong = new short[2],
  18.    
  19.     basefagong = new short[2],//法攻
  20.     fagong = new short[2],
  21.    
  22.     basebaoji = new short[2],//爆击
  23.     baoji = new short[2];
  24.    
  25.     short currenthmovespeed;
  26.     byte aiType, aiLoop;
  27.     byte wuditime;
  28.     boolean aiLeft;
  29.     Vector behurtinfo;
  30.     short roleh;
  31.     short[][] aidata;
  32.     short alivetime;
  33.     short[] attackcd;
  34.     byte attackholdtime; //普通攻击按键时间
  35.     byte batistate;//是否霸体
  36.     byte walkxspeed, walkzspeed;
  37.     byte level;
  38.     boolean isFlushed;
  39. }
复制代码

  1. public class Effect extends FSprite
  2. {

  3.     byte alivetype, alivetime, xstate, ystate, zstate;
  4. }
复制代码

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
2 [报告]
发表于 2012-10-20 22:54 |只看该作者
这里是面向过程板块

论坛徽章:
5
狮子座
日期:2013-08-20 10:12:24午马
日期:2013-11-23 18:04:102015年辞旧岁徽章
日期:2015-03-03 16:54:152015亚冠之德黑兰石油
日期:2015-06-29 18:11:1115-16赛季CBA联赛之新疆
日期:2024-02-21 10:00:53
3 [报告]
发表于 2012-10-20 23:11 |只看该作者
这种东西也叫机密?我都看到过五六份了……

说技术价值什么的,还不如里面那个GameCanvas……

论坛徽章:
5
技术图书徽章
日期:2013-08-17 07:26:49双子座
日期:2013-09-15 16:46:29双子座
日期:2013-09-25 08:17:09技术图书徽章
日期:2013-09-25 09:11:42天秤座
日期:2013-10-01 16:25:34
4 [报告]
发表于 2012-10-20 23:18 |只看该作者
回复 3# starwing83

这个对象类我就写不好...   

论坛徽章:
4
水瓶座
日期:2013-09-06 12:27:30摩羯座
日期:2013-09-28 14:07:46处女座
日期:2013-10-24 14:25:01酉鸡
日期:2014-04-07 11:54:15
5 [报告]
发表于 2012-10-20 23:21 |只看该作者
这个帖子毫无意义, 你不如提问个具体的东西, 让大家贴贴自己的代码.

论坛徽章:
5
技术图书徽章
日期:2013-08-17 07:26:49双子座
日期:2013-09-15 16:46:29双子座
日期:2013-09-25 08:17:09技术图书徽章
日期:2013-09-25 09:11:42天秤座
日期:2013-10-01 16:25:34
6 [报告]
发表于 2012-10-20 23:24 |只看该作者
linux_c_py_php 发表于 2012-10-20 23:21
这个帖子毫无意义, 你不如提问个具体的东西, 让大家贴贴自己的代码.


这还不具体吗?

论坛徽章:
5
技术图书徽章
日期:2013-08-17 07:26:49双子座
日期:2013-09-15 16:46:29双子座
日期:2013-09-25 08:17:09技术图书徽章
日期:2013-09-25 09:11:42天秤座
日期:2013-10-01 16:25:34
7 [报告]
发表于 2012-10-20 23:31 |只看该作者
starwing83 发表于 2012-10-20 23:11
这种东西也叫机密?我都看到过五六份了……

说技术价值什么的,还不如里面那个GameCanvas……


我真正不会的就是这个最简单的...
里面那些算法什么的我一点都没纠结过.

论坛徽章:
5
狮子座
日期:2013-08-20 10:12:24午马
日期:2013-11-23 18:04:102015年辞旧岁徽章
日期:2015-03-03 16:54:152015亚冠之德黑兰石油
日期:2015-06-29 18:11:1115-16赛季CBA联赛之新疆
日期:2024-02-21 10:00:53
8 [报告]
发表于 2012-10-21 04:23 |只看该作者
回复 7# __BlueGuy__


    哦?你写个vector stroking算法我看看?我最近正在苦恼这个呢………………

Java没有技术含量的,因为真正重要的算法都被C给实现过了,Java只是用个壳儿而已……

论坛徽章:
4
水瓶座
日期:2013-09-06 12:27:30摩羯座
日期:2013-09-28 14:07:46处女座
日期:2013-10-24 14:25:01酉鸡
日期:2014-04-07 11:54:15
9 [报告]
发表于 2012-10-21 10:22 |只看该作者
应该说所有语言都是壳, 人脑才是最重要的...

starwing83 发表于 2012-10-21 04:23
回复 7# __BlueGuy__

论坛徽章:
5
技术图书徽章
日期:2013-08-17 07:26:49双子座
日期:2013-09-15 16:46:29双子座
日期:2013-09-25 08:17:09技术图书徽章
日期:2013-09-25 09:11:42天秤座
日期:2013-10-01 16:25:34
10 [报告]
发表于 2012-10-21 11:22 |只看该作者
本帖最后由 __BlueGuy__ 于 2012-10-21 11:23 编辑

我发现问题不是出在面向对象上, 而是出在数据结构上...

程序 = 算法 + 数据结构  真是亘古不变的真理
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP