IFE Task 17 发表于 2016-11-30 | 2016-11-30 | 任务目的 加强对JavaScript的掌握 熟悉常用表单处理逻辑 任务描述 在页面中完成两个单选框,切换单选框的不同选项时下方显示的表单随之切换。 当选择在校生时,出现两个select下拉菜单,一个选择城市,一个选择学校,当选择非在校生时,出一个文本输入框 学校下拉菜单里的学校名单均为城市下拉菜单中所选的城市中的大学,当城市发生变化时,学校一起发生变化 城市及学校的数据随意编造即可,无需真实完整 阅读全文 »
IFE Task 16 发表于 2016-11-29 | 2016-11-29 | 任务目的 加强对JavaScript的掌握 熟悉常用表单处理逻辑 任务描述 在页面中添加多个表单 要求: 表单获得焦点时,下方显示表单填写规则 表单失去焦点时校验表单内容 校验结果正确时,表单边框显示绿色,并在下方显示验证通过的描述文字 校验结果错误时,表单边框显示红色,并在下方显示验证错误的描述文字 点击提交按钮时,对页面中所有输入进行校验,校验结果显示方式同上。若所有表单校验通过,弹窗显示“提交成功”,否则显示“提交失败” 阅读全文 »
IFE Task 15 发表于 2016-11-27 | 2016-11-27 | 任务目的 练习JavaScript面向对象设计 实践一些基础的设计模式 任务描述 基于上一任务,我们继续改善 第二代宇宙飞船系统进步了很多,但是我们依然无法知道飞船的能源消耗情况,可能有的时候我们发出开始飞行的指令,但飞船早就没有能量了,所以我们再次进行升级,这次我们需要增加一个飞船状态的监视系统 我们为每个飞船增加一个信号发射器,飞船会通过BUS系统定时(比如每秒)广播自己的飞行状态。发送的时候,我们通过已经安装在飞船上的Adapter把状态数据翻译成二进制码形式,把飞船自身标示,飞行状态,能量编码成一个16位的二进制串,前四位用于飞船自身标示,接下来4位表示飞行状态,0010为停止,0001为飞行,1100表示即将销毁,后八位用于记录飞船剩余能源百分比 行星上有一个信号接收器,用于通过BUS系统接受各个飞船发送过来的信号 当信号接收器接收到飞船信号后,会把信息传给数据处理中心(DC),数据处理中心依然是调用Adapter模块,把这些二进制数据转为对象格式存储在DC中 实现一个行星上的监视大屏幕,用来显示所有飞船的飞行状态及能源情况,当数据处理中心飞船数据发生变化时,它会相应在监视器上做出变化 阅读全文 »
IFE Task 14 发表于 2016-11-23 | 2016-11-23 | 任务目的 练习JavaScript面向对象设计 实践一些基础的设计模式 任务描述 基于上个任务,我们继续改善我们的任务 第一代宇宙飞船系统真是糟糕的实现,所以我们需要进行改进飞船自身,我们在几个部件进行了更多的组合可能性,在创建新飞船时可以自行选择 我们新增了几种动力系统,能够让飞船飞得更快,相应的能源消耗也会不同 我们新增了集中能源系统,能够让飞船能量补充能源速度越快 接下来改进的是指令的传播问题 我们发明了新一代的传播介质BUS,它的单次传播失败率降低到10%,传播速度提升到300ms,而且他增加了多次重试的功能,可以保证信息一定能够传递出去,请你实现这个可以通过多次重试保证在10%丢包率情况下顺利将信息传递出去的BUS传播介质 但BUS有个弱点,就是无法直接传递JSON格式,它只能传递二进制码,但指挥官并不能够直接下达二进制编码指令,所以我们需要在行星上的发射器部分增加一个模块Adapter,把原来的指令格式翻译成二进制码。同时还需要在飞船的接收器部分增加一个Adapter,用来把二进制码翻译成原来能够理解的指令格式 二进制码格式自定,可以参考的例子:前四位标示飞船编号,后四位标示具体指令(0001:开始飞行,0010:停止飞行,1100:自我销毁) 阅读全文 »
IFE Task 13 发表于 2016-11-21 | 2016-11-21 | 任务目的 练习JavaScript面向对象设计 实践一些基础的设计模式 任务描述 创建一个虚拟宇宙,包括一个行星和飞船 每个飞船由以下部分组成 动力系统,可以完成飞行和停止飞行两个行为,暂定所有飞船的动力系统飞行速度是一致的,比如每秒20px,飞行过程中会按照一定速率消耗能源(比如每秒减5%) 能源系统,提供能源,并且在宇宙中通过太阳能充电(比如每秒增加2%,具体速率自定)信号接收处理系统,用于接收行星上的信号 自爆系统,用于自我销毁 每个飞船的能源是有限的,用一个属性来表示能源剩余量,这是一个百分比,表示还剩余多少能源。 阅读全文 »