设计思路可参考技术专区文档
导读:在上一期的题目中重点锻炼了同学们对知识与设计思维的综合应用能力,使大学所学编程思想与实际应用结合提供一个良好的设计方案,一个好的项目来自一个好的设计,我们在学习编程的过程中,首先学会语法,代码的应用,更重要的是要学会如何通过编程解决项目业务中的业务问题,如何应用所学设计思想来制定出好的解决方案。一个软件大师与菜鸟的差距就在于思维的设计能力上的差距,我们要学会转动自己的大脑将所学知识融汇贯通,真正理解每一个知识的价值。在学知识的同时学会问自已三个问题:一、这个知识有什么用?它能解决什么问题?二、这个知识有什么特点?知识核心在哪里?三、这个知识适合什么场合去使用?怎么用?只有这三个问题都能正确回答了,才证明我们真正学会了。
同学们,多思考,多总结,注意“内功”的修炼,理解的深度决定高度。
第二期提示:设计思路可参考技术专区文档
有奖编程大赛第二期
程序设计题目:
大家平时一定玩过一些RPG的闯关类游戏,在这种游戏场景中,主人公在出场时是一个基本人物, 手里会拿着一个基本的武器,比如说是一把剑,那么随着情节的继续,我们会在后面的情节中获取很多宝物,这些宝物可以用来增加我们这把剑的附属属性,比如.我们在游戏中打了很久之后宝物箱子里面有了很多种类的宝物,这些宝物可以用来镶嵌在我们的武器上面用来增加武器的攻击属性,比如宝物箱子里面有{红宝石,蓝宝石,冰水晶,火水晶等等},如果我们把这些宝物嵌入宝剑,那么宝剑的攻击就会带有附加属性,比如把红宝石嵌入宝剑,那么就会让攻击具有附加20攻击力,把红宝石嵌入就会有 50攻击力,把冰水晶嵌入就会有冰系伤害,火水晶就会有火系伤害,当然我们也可以把这几种物品进行组合,组合之后那么攻击力和攻击属性都会改变.当然,附加宝物的数量和种类不受限制,也可以组合嵌入
宝石
攻击力
附属属性
红宝石
20
无
蓝宝石
50
无
冰水晶
无
冰系伤害
火水晶
无
火系伤害
当然我们会在后面的关卡中再次获得其他宝物来附加到武器上,来增加攻击这个动作.
我们如果用面向对象的方式去思考这个问题,我们可以这样去定义我们的英雄类:
英雄类
{
属性:姓名,性别,外观,宝剑等;
方法:攻击(基本的攻击伤害)
}
那如果我们在后面关卡中累计获取宝物,那么我们就可以把这些属性添加到我们的英雄类中,但是刚才那个英雄类已经创建好了,我们只能继承基本的英雄类,来扩展我们的英雄,并且在攻击方法中应用我们已经嵌入了附加宝物的宝剑,比如:
英雄子类1
{
属性:姓名,性别,外观,宝剑(嵌入红宝石)等;
方法:攻击(基本的攻击伤害+20的攻击力)
}
英雄子类2
{
属性:姓名,性别,外观,宝剑(嵌入红宝石+冰水晶)等;
方法:攻击(基本的攻击伤害+20的攻击力+冰系伤害)
}
……………………………..
当然我们可以有很多组合方式,四种宝物的组合方式就是4*3*2*1=24种组合,如果这样我们就得构建24个子类,如果宝物再多的话,那我们的子类就太多了,那么现在我们有没有一种能够不让子类有这种成数量级的增长呢??而是一种线性的增长呢??
假如你是这款游戏的程序设计师,你会怎么设计你的类,请大家给出自己的解决方案.
要求:用面向对象的思想对程序进行设计,并实现功能.
答案提交方式:
请各位高手将写好的程序进行压缩形成压缩文件,
压缩文件命名格式为:XXX班_XXX(姓名)_第二期.rar
将压缩好的文件上传至 ftp://192.168.0.1
上传用户名:rootb 密码:rootb
答案提交截止日期:2010-4-4
评奖规则:
以答案正确性,及上传早晚作为评价标准
通过在这次技术课,我们已经对SQL语句的编写有了大致的了解,希望同学们能够将老师讲解的技术点应用到日常的学习中,从点滴开始培养,比如我们知道"select *"的性能会比列出具体的列名差时,那我们就应该在学习中做到用哪一列的数据就查哪一列.这次技术课也有一期的同学参加,虽然说其中会有一些知识点没有学到过,可以挑自己知道的去听,慢慢熟悉自己不知道,没有学习过的.这堂课具体应用的技术会比较多一点,但是我们参加技术课,更多的是学习老师的思维方式,学习老师考虑问题的方法.希望大家以后能够更加踊跃的参加我们学习部组织的技术大讲堂活动!
- 51.la

招生简章


