提交 86144882 编写于 作者: 繁依Fanyi's avatar 繁依Fanyi

Initial commit

上级
1.png

11.6 KB

2.png

3.4 KB

3.png

17.8 KB

4.png

17.3 KB

5.png

7.5 KB

# 超级玛丽
## 前言
如果你没有玩过《超级玛丽》这个游戏,我真不敢想像你的童年是什么颜色的。曾经因为它,不知道挨了老妈多少顿打,有时连饭都顾不上吃。记得上初中那年,老妈终于同意给我买了个小霸王,但是因为当时是走读,一个星期才能回一次家。而当我第二个星期回家的时候,小弟弟用委屈的眼神看着我说:哥,你的学习机不知道为什么接电视机上没反应了。。接电视机上没反应了。。。没反应了!当时我那个恨啊!
## 游戏介绍
通过 A D 键来控制角色左右移动,K键跳,吃到子弹时使用J键射击,按H键开始游戏。游戏还是以背景运动的方式来实现人物向前跑的效果。其中主要运用了碰撞检测、抛物线运动等算法,并对大量的数据进行了分组处理。是否真实还原了游戏,由你来体验并给出答案。 当然,游戏中有些地方在操作控制上稍微有些不足,有待进一步完善。目前只有一关。
![开始游戏](1.png)
![生命和关卡显示界面](2.png)
![游戏中。。。](3.png)
![放子弹效果](4.png)
![第一关过关](5.png)
## 主要功能
- **游戏地图的创建**: 地图的样式展现,陆地,石头,管道,岩石,带属性硬石,碉堡,城堡岩,旗帜,旗杆等。
- **游戏关卡的设置**:障碍物、玛丽奥、敌人、隐藏物等位置属性。
- **玛丽奥的功能设置**:实现定位、缓动效果移动、跳跃、成长、降级、发射子弹、死亡和障碍物及敌人碰撞检测。
- **敌人的功能设置**:实现定位、移动、死亡、飞分数和障碍物及玛丽奥碰撞检测。
- **障碍物的设置**:实现定位、实现碎石、飞金币、长蘑菇、飞分数、移动等效果、隐藏物的展现和玛丽奥的碰撞检测。
- **属性物的设置**:子弹,成长蘑菇,加人蘑菇,子弹花,金币的属性设置及功能实现。
- **游戏数据的展示**:游戏开始、开始关卡、游戏结束界面数据展示,游戏进行中展现倒计时、分数、金币、关卡、生命等数据。
\ No newline at end of file
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg">
<metadata></metadata>
<defs>
<font id="press_start_2pregular" horiz-adv-x="2048" >
<font-face units-per-em="2048" ascent="2048" descent="0" />
<missing-glyph horiz-adv-x="500" />
<glyph />
<glyph />
<glyph unicode="&#xd;" />
<glyph unicode=" " />
<glyph unicode="!" d="M512 256v128v128h256h256v-128v-128h-256h-256zM512 768v640v640h384h384v-384v-384h-128h-128v-256v-256h-256h-256z" />
<glyph unicode="&#x22;" d="M256 1280v384v384h256h256v-384v-384h-256h-256zM1024 1280v384v384h256h256v-384v-384h-256h-256z" />
<glyph unicode="#" d="M0 512v128v128h128h128v384v384h-128h-128v128v128h128h128v128v128h256h256v-128v-128h128h128v128v128h256h256v-128v-128h128h128v-128v-128h-128h-128v-384v-384h128h128v-128v-128h-128h-128v-128v-128h-256h-256v128v128h-128h-128v-128v-128h-256h-256v128v128 h-128h-128zM768 768h128h128v384v384h-128h-128v-384v-384z" />
<glyph unicode="$" d="M0 512v128v128h384h384v128v128h-256h-256v128v128h-128h-128v128v128h128h128v128v128h256h256v128v128h128h128v-128v-128h256h256v-128v-128h-256h-256v-128v-128h256h256v-128v-128h128h128v-128v-128h-128h-128v-128v-128h-256h-256v-128v-128h-128h-128v128v128 h-384h-384zM512 1280h128h128v128v128h-128h-128v-128v-128zM1024 768h128h128v128v128h-128h-128v-128v-128z" />
<glyph unicode="%" d="M0 256v128v128h128h128v128v128h128h128v128v128h128h128v128v128h128h128v128v128h128h128v128v128h128h128v128v128h128h128v-128v-128h-128h-128v-128v-128h-128h-128v-128v-128h-128h-128v-128v-128h-128h-128v-128v-128h-128h-128v-128v-128h-128h-128v-128v-128 h-128h-128zM0 1280v256v256h128h128v128v128h256h256v-256v-256h-128h-128v-128v-128h-256h-256zM256 1536h128h128v128v128h-128h-128v-128v-128zM1024 256v256v256h128h128v128v128h256h256v-256v-256h-128h-128v-128v-128h-256h-256zM1280 512h128h128v128v128h-128h-128 v-128v-128z" />
<glyph unicode="&#x26;" d="M0 512v256v256h128h128v128v128h-128h-128v256v256h128h128v128v128h384h384v-128v-128h128h128v-256v-256h-128h-128v-128v-128h128h128v-128v-128h128h128v128v128h128h128v-128v-128h-128h-128v-128v-128h128h128v-128v-128h-768h-768v128v128h-128h-128zM512 512h256 h256v128v128h-128h-128v128v128h-128h-128v-256v-256zM512 1280h128h128v256v256h-128h-128v-256v-256z" />
<glyph unicode="'" d="M512 1280v384v384h256h256v-384v-384h-256h-256z" />
<glyph unicode="(" d="M512 768v384v384h128h128v128v128h128h128v128v128h256h256v-128v-128h-128h-128v-128v-128h-128h-128v-384v-384h128h128v-128v-128h128h128v-128v-128h-256h-256v128v128h-128h-128v128v128h-128h-128z" />
<glyph unicode=")" d="M256 256v128v128h128h128v128v128h128h128v384v384h-128h-128v128v128h-128h-128v128v128h256h256v-128v-128h128h128v-128v-128h128h128v-384v-384h-128h-128v-128v-128h-128h-128v-128v-128h-256h-256z" />
<glyph unicode="*" d="M0 1024v128v128h256h256v128v128h-128h-128v128v128h256h256v-128v-128h128h128v128v128h256h256v-128v-128h-128h-128v-128v-128h256h256v-128v-128h-256h-256v-128v-128h128h128v-128v-128h-256h-256v128v128h-128h-128v-128v-128h-256h-256v128v128h128h128v128v128 h-256h-256z" />
<glyph unicode="+" d="M256 1024v128v128h256h256v256v256h256h256v-256v-256h256h256v-128v-128h-256h-256v-256v-256h-256h-256v256v256h-256h-256z" />
<glyph unicode="," d="M256 0v128v128h128h128v256v256h256h256v-256v-256h-128h-128v-128v-128h-256h-256z" />
<glyph unicode="-" d="M256 1024v128v128h768h768v-128v-128h-768h-768z" />
<glyph unicode="." d="M512 256v256v256h256h256v-256v-256h-256h-256z" />
<glyph unicode="/" d="M0 256v128v128h128h128v128v128h128h128v128v128h128h128v128v128h128h128v128v128h128h128v128v128h128h128v128v128h128h128v-128v-128h-128h-128v-128v-128h-128h-128v-128v-128h-128h-128v-128v-128h-128h-128v-128v-128h-128h-128v-128v-128h-128h-128v-128v-128 h-128h-128z" />
<glyph unicode="0" d="M0 768v384v384h128h128v128v128h128h128v128v128h384h384v-128v-128h128h128v-128v-128h128h128v-384v-384h-128h-128v-128v-128h-128h-128v-128v-128h-384h-384v128v128h-128h-128v128v128h-128h-128zM512 768h128h128v-128v-128h256h256v512v512h-128h-128v128v128 h-256h-256v-512v-512z" />
<glyph unicode="1" d="M256 256v128v128h256h256v512v512h-128h-128v128v128h128h128v128v128h256h256v-768v-768h256h256v-128v-128h-768h-768z" />
<glyph unicode="2" d="M0 256v256v256h128h128v128v128h128h128v128v128h256h256v128v128h128h128v128v128h-384h-384v-128v-128h-256h-256v128v128h128h128v128v128h640h640v-128v-128h128h128v-256v-256h-128h-128v-128v-128h-128h-128v-128v-128h-256h-256v-128v-128h512h512v-128v-128h-896 h-896z" />
<glyph unicode="3" d="M0 512v128v128h256h256v-128v-128h384h384v256v256h-384h-384v128v128h128h128v128v128h128h128v128v128h-384h-384v128v128h768h768v-128v-128h-128h-128v-128v-128h-128h-128v-128v-128h128h128v-128v-128h128h128v-256v-256h-128h-128v-128v-128h-640h-640v128v128 h-128h-128z" />
<glyph unicode="4" d="M0 768v256v256h128h128v128v128h128h128v128v128h128h128v128v128h384h384v-512v-512h128h128v-128v-128h-128h-128v-256v-256h-256h-256v256v256h-512h-512zM512 1024h256h256v256v256h-128h-128v-128v-128h-128h-128v-128v-128z" />
<glyph unicode="5" d="M0 512v128v128h256h256v-128v-128h384h384v384v384h-640h-640v384v384h768h768v-128v-128h-512h-512v-128v-128h512h512v-128v-128h128h128v-384v-384h-128h-128v-128v-128h-640h-640v128v128h-128h-128z" />
<glyph unicode="6" d="M0 512v512v512h128h128v128v128h128h128v128v128h512h512v-128v-128h-384h-384v-128v-128h-128h-128v-128v-128h512h512v-128v-128h128h128v-256v-256h-128h-128v-128v-128h-640h-640v128v128h-128h-128zM512 512h384h384v256v256h-384h-384v-256v-256z" />
<glyph unicode="7" d="M0 1536v256v256h896h896v-256v-256h-128h-128v-128v-128h-128h-128v-128v-128h-128h-128v-384v-384h-256h-256v384v384h128h128v128v128h128h128v128v128h128h128v128v128h-384h-384v-128v-128h-256h-256z" />
<glyph unicode="8" d="M0 512v256v256h128h128v128v128h-128h-128v256v256h128h128v128v128h512h512v-128v-128h128h128v-256v-256h-128h-128v-128v-128h256h256v-256v-256h-128h-128v-128v-128h-640h-640v128v128h-128h-128zM256 512h512h512v128v128h-256h-256v128v128h-256h-256v-256v-256z M512 1536h128h128v-128v-128h256h256v256v256h-384h-384v-128v-128z" />
<glyph unicode="9" d="M0 1280v256v256h128h128v128v128h640h640v-128v-128h128h128v-512v-512h-128h-128v-128v-128h-128h-128v-128v-128h-512h-512v128v128h384h384v128v128h128h128v128v128h-512h-512v128v128h-128h-128zM512 1280h384h384v256v256h-384h-384v-256v-256z" />
<glyph unicode=":" d="M512 512v256v256h256h256v-256v-256h-256h-256zM512 1280v256v256h256h256v-256v-256h-256h-256z" />
<glyph unicode=";" d="M256 256v128v128h128h128v256v256h256h256v-256v-256h-128h-128v-128v-128h-256h-256zM512 1280v256v256h256h256v-256v-256h-256h-256z" />
<glyph unicode="&#x3c;" d="M256 1024v128v128h128h128v128v128h128h128v128v128h128h128v128v128h256h256v-128v-128h-128h-128v-128v-128h-128h-128v-128v-128h-128h-128v-128v-128h128h128v-128v-128h128h128v-128v-128h128h128v-128v-128h-256h-256v128v128h-128h-128v128v128h-128h-128v128v128 h-128h-128z" />
<glyph unicode="=" d="M0 768v128v128h896h896v-128v-128h-896h-896zM0 1280v128v128h896h896v-128v-128h-896h-896z" />
<glyph unicode="&#x3e;" d="M256 256v128v128h128h128v128v128h128h128v128v128h128h128v128v128h-128h-128v128v128h-128h-128v128v128h-128h-128v128v128h256h256v-128v-128h128h128v-128v-128h128h128v-128v-128h128h128v-128v-128h-128h-128v-128v-128h-128h-128v-128v-128h-128h-128v-128v-128 h-256h-256z" />
<glyph unicode="?" d="M0 1280v256v256h128h128v128v128h640h640v-128v-128h128h128v-256v-256h-128h-128v-128v-128h-128h-128v-128v-128h-384h-384v128v128h256h256v128v128h128h128v128v128h-384h-384v-128v-128h-256h-256zM512 256v128v128h384h384v-128v-128h-384h-384z" />
<glyph unicode="@" d="M0 512v640v640h128h128v128v128h640h640v-128v-128h128h128v-512v-512h-640h-640v384v384h384h384v-256v-256h128h128v384v384h-640h-640v-640v-640h640h640v-128v-128h-640h-640v128v128h-128h-128zM768 1024h128h128v128v128h-128h-128v-128v-128z" />
<glyph unicode="A" d="M0 256v640v640h128h128v128v128h128h128v128v128h384h384v-128v-128h128h128v-128v-128h128h128v-640v-640h-256h-256v256v256h-384h-384v-256v-256h-256h-256zM512 1024h384h384v256v256h-128h-128v128v128h-128h-128v-128v-128h-128h-128v-256v-256z" />
<glyph unicode="B" d="M0 256v896v896h768h768v-128v-128h128h128v-256v-256h-128h-128v-128v-128h128h128v-256v-256h-128h-128v-128v-128h-768h-768zM512 512h384h384v256v256h-384h-384v-256v-256zM512 1280h384h384v256v256h-384h-384v-256v-256z" />
<glyph unicode="C" d="M0 768v384v384h128h128v128v128h128h128v128v128h512h512v-128v-128h128h128v-128v-128h-256h-256v128v128h-256h-256v-128v-128h-128h-128v-384v-384h128h128v-128v-128h256h256v128v128h256h256v-128v-128h-128h-128v-128v-128h-512h-512v128v128h-128h-128v128v128 h-128h-128z" />
<glyph unicode="D" d="M0 256v896v896h640h640v-128v-128h128h128v-128v-128h128h128v-384v-384h-128h-128v-128v-128h-128h-128v-128v-128h-640h-640zM512 512h256h256v128v128h128h128v384v384h-128h-128v128v128h-256h-256v-640v-640z" />
<glyph unicode="E" d="M0 256v896v896h896h896v-128v-128h-640h-640v-256v-256h512h512v-128v-128h-512h-512v-256v-256h640h640v-128v-128h-896h-896z" />
<glyph unicode="F" d="M0 256v896v896h896h896v-128v-128h-640h-640v-256v-256h512h512v-128v-128h-512h-512v-384v-384h-256h-256z" />
<glyph unicode="G" d="M0 768v384v384h128h128v128v128h128h128v128v128h640h640v-128v-128h-512h-512v-128v-128h-128h-128v-384v-384h128h128v-128v-128h256h256v256v256h-128h-128v128v128h384h384v-512v-512h-640h-640v128v128h-128h-128v128v128h-128h-128z" />
<glyph unicode="H" d="M0 256v896v896h256h256v-384v-384h384h384v384v384h256h256v-896v-896h-256h-256v384v384h-384h-384v-384v-384h-256h-256z" />
<glyph unicode="I" d="M256 256v128v128h256h256v640v640h-256h-256v128v128h768h768v-128v-128h-256h-256v-640v-640h256h256v-128v-128h-768h-768z" />
<glyph unicode="J" d="M0 512v128v128h256h256v-128v-128h384h384v768v768h256h256v-768v-768h-128h-128v-128v-128h-640h-640v128v128h-128h-128z" />
<glyph unicode="K" d="M0 256v896v896h256h256v-384v-384h128h128v128v128h128h128v128v128h128h128v128v128h256h256v-128v-128h-128h-128v-128v-128h-128h-128v-128v-128h-128h-128v-128v-128h128h128v-128v-128h128h128v-128v-128h128h128v-128v-128h-384h-384v128v128h-128h-128v128v128 h-128h-128v-256v-256h-256h-256z" />
<glyph unicode="L" d="M256 256v896v896h256h256v-768v-768h512h512v-128v-128h-768h-768z" />
<glyph unicode="M" d="M0 256v896v896h256h256v-128v-128h128h128v-128v-128h128h128v128v128h128h128v128v128h256h256v-896v-896h-256h-256v384v384h-128h-128v-128v-128h-128h-128v128v128h-128h-128v-384v-384h-256h-256z" />
<glyph unicode="N" d="M0 256v896v896h256h256v-128v-128h128h128v-128v-128h128h128v-128v-128h128h128v384v384h256h256v-896v-896h-256h-256v128v128h-128h-128v128v128h-128h-128v128v128h-128h-128v-384v-384h-256h-256z" />
<glyph unicode="O" d="M0 512v640v640h128h128v128v128h640h640v-128v-128h128h128v-640v-640h-128h-128v-128v-128h-640h-640v128v128h-128h-128zM512 512h384h384v640v640h-384h-384v-640v-640z" />
<glyph unicode="P" d="M0 256v896v896h768h768v-128v-128h128h128v-384v-384h-128h-128v-128v-128h-512h-512v-256v-256h-256h-256zM512 1024h384h384v384v384h-384h-384v-384v-384z" />
<glyph unicode="Q" d="M0 512v640v640h128h128v128v128h640h640v-128v-128h128h128v-512v-512h-128h-128v-128v-128h128h128v-128v-128h-128h-128v128v128h-128h-128v-128v-128h-512h-512v128v128h-128h-128zM512 512h256h256v128v128h-128h-128v128v128h256h256v384v384h-384h-384v-640v-640z " />
<glyph unicode="R" d="M0 256v896v896h768h768v-128v-128h128h128v-384v-384h-256h-256v-128v-128h128h128v-128v-128h128h128v-128v-128h-384h-384v128v128h-128h-128v128v128h-128h-128v-256v-256h-256h-256zM512 1024h256h256v128v128h128h128v256v256h-384h-384v-384v-384z" />
<glyph unicode="S" d="M0 512v128v128h256h256v-128v-128h384h384v256v256h-512h-512v128v128h-128h-128v256v256h128h128v128v128h512h512v-128v-128h128h128v-128v-128h-256h-256v128v128h-256h-256v-256v-256h512h512v-128v-128h128h128v-256v-256h-128h-128v-128v-128h-640h-640v128v128 h-128h-128z" />
<glyph unicode="T" d="M256 1792v128v128h768h768v-128v-128h-256h-256v-768v-768h-256h-256v768v768h-256h-256z" />
<glyph unicode="U" d="M0 512v768v768h256h256v-768v-768h384h384v768v768h256h256v-768v-768h-128h-128v-128v-128h-640h-640v128v128h-128h-128z" />
<glyph unicode="V" d="M0 1024v512v512h256h256v-384v-384h128h128v-128v-128h128h128v128v128h128h128v384v384h256h256v-512v-512h-128h-128v-128v-128h-128h-128v-128v-128h-128h-128v-128v-128h-128h-128v128v128h-128h-128v128v128h-128h-128v128v128h-128h-128z" />
<glyph unicode="W" d="M0 256v896v896h256h256v-384v-384h128h128v128v128h128h128v-128v-128h128h128v384v384h256h256v-896v-896h-256h-256v128v128h-128h-128v128v128h-128h-128v-128v-128h-128h-128v-128v-128h-256h-256z" />
<glyph unicode="X" d="M0 256v256v256h128h128v128v128h128h128v128v128h-128h-128v128v128h-128h-128v256v256h256h256v-128v-128h128h128v-128v-128h128h128v128v128h128h128v128v128h256h256v-256v-256h-128h-128v-128v-128h-128h-128v-128v-128h128h128v-128v-128h128h128v-256v-256h-256 h-256v128v128h-128h-128v128v128h-128h-128v-128v-128h-128h-128v-128v-128h-256h-256z" />
<glyph unicode="Y" d="M256 1280v384v384h256h256v-384v-384h256h256v384v384h256h256v-384v-384h-128h-128v-128v-128h-128h-128v-384v-384h-256h-256v384v384h-128h-128v128v128h-128h-128z" />
<glyph unicode="Z" d="M0 256v256v256h128h128v128v128h128h128v128v128h128h128v128v128h128h128v128v128h-512h-512v128v128h896h896v-256v-256h-128h-128v-128v-128h-128h-128v-128v-128h-128h-128v-128v-128h-128h-128v-128v-128h512h512v-128v-128h-896h-896z" />
<glyph unicode="[" d="M512 256v896v896h512h512v-128v-128h-256h-256v-640v-640h256h256v-128v-128h-512h-512z" />
<glyph unicode="\" d="M0 1792v128v128h128h128v-128v-128h128h128v-128v-128h128h128v-128v-128h128h128v-128v-128h128h128v-128v-128h128h128v-128v-128h128h128v-128v-128h-128h-128v128v128h-128h-128v128v128h-128h-128v128v128h-128h-128v128v128h-128h-128v128v128h-128h-128v128v128 h-128h-128z" />
<glyph unicode="]" d="M256 256v128v128h256h256v640v640h-256h-256v128v128h512h512v-896v-896h-512h-512z" />
<glyph unicode="^" d="M256 1536v128v128h128h128v128v128h384h384v-128v-128h128h128v-128v-128h-256h-256v128v128h-128h-128v-128v-128h-256h-256z" />
<glyph unicode="_" d="M0 0v128v128h896h896v-128v-128h-896h-896z" />
<glyph unicode="`" d="M768 1792v128v128h128h128v-128v-128h128h128v-128v-128h-128h-128v128v128h-128h-128z" />
<glyph unicode="a" d="M0 512v128v128h128h128v128v128h512h512v128v128h-512h-512v128v128h640h640v-128v-128h128h128v-512v-512h-768h-768v128v128h-128h-128zM512 512h384h384v128v128h-384h-384v-128v-128z" />
<glyph unicode="b" d="M0 512v768v768h256h256v-256v-256h512h512v-128v-128h128h128v-384v-384h-128h-128v-128v-128h-640h-640v128v128h-128h-128zM512 512h384h384v384v384h-384h-384v-384v-384z" />
<glyph unicode="c" d="M0 512v384v384h128h128v128v128h768h768v-128v-128h-640h-640v-384v-384h640h640v-128v-128h-768h-768v128v128h-128h-128z" />
<glyph unicode="d" d="M0 512v384v384h128h128v128v128h512h512v256v256h256h256v-896v-896h-768h-768v128v128h-128h-128zM512 512h384h384v384v384h-384h-384v-384v-384z" />
<glyph unicode="e" d="M0 512v384v384h128h128v128v128h640h640v-128v-128h128h128v-256v-256h-640h-640v-128v-128h512h512v-128v-128h-640h-640v128v128h-128h-128zM512 1024h384h384v128v128h-384h-384v-128v-128z" />
<glyph unicode="f" d="M256 1280v128v128h256h256v128v128h128h128v128v128h384h384v-128v-128h-256h-256v-128v-128h256h256v-128v-128h-256h-256v-512v-512h-256h-256v512v512h-256h-256z" />
<glyph unicode="g" d="M0 768v256v256h128h128v128v128h768h768v-640v-640h-128h-128v-128v-128h-640h-640v128v128h512h512v128v128h-512h-512v128v128h-128h-128zM512 768h384h384v256v256h-384h-384v-256v-256z" />
<glyph unicode="h" d="M0 256v896v896h256h256v-256v-256h512h512v-128v-128h128h128v-512v-512h-256h-256v512v512h-384h-384v-512v-512h-256h-256z" />
<glyph unicode="i" d="M256 256v128v128h256h256v384v384h-128h-128v128v128h384h384v-512v-512h256h256v-128v-128h-768h-768zM768 1792v128v128h256h256v-128v-128h-256h-256z" />
<glyph unicode="j" d="M256 0v128v128h384h384v512v512h-128h-128v128v128h384h384v-640v-640h-128h-128v-128v-128h-512h-512zM1024 1792v128v128h256h256v-128v-128h-256h-256z" />
<glyph unicode="k" d="M0 256v896v896h256h256v-384v-384h256h256v128v128h384h384v-128v-128h-128h-128v-128v-128h-128h-128v-128v-128h128h128v-128v-128h128h128v-128v-128h-384h-384v128v128h-128h-128v128v128h-128h-128v-256v-256h-256h-256z" />
<glyph unicode="l" d="M256 256v128v128h256h256v640v640h-128h-128v128v128h384h384v-768v-768h256h256v-128v-128h-768h-768z" />
<glyph unicode="m" d="M0 256v640v640h768h768v-128v-128h128h128v-512v-512h-256h-256v512v512h-128h-128v-512v-512h-256h-256v512v512h-128h-128v-512v-512h-128h-128z" />
<glyph unicode="n" d="M0 256v640v640h768h768v-128v-128h128h128v-512v-512h-256h-256v512v512h-384h-384v-512v-512h-256h-256z" />
<glyph unicode="o" d="M0 512v384v384h128h128v128v128h640h640v-128v-128h128h128v-384v-384h-128h-128v-128v-128h-640h-640v128v128h-128h-128zM512 512h384h384v384v384h-384h-384v-384v-384z" />
<glyph unicode="p" d="M0 0v768v768h768h768v-128v-128h128h128v-256v-256h-128h-128v-128v-128h-512h-512v-256v-256h-256h-256zM512 768h384h384v256v256h-384h-384v-256v-256z" />
<glyph unicode="q" d="M0 768v256v256h128h128v128v128h768h768v-768v-768h-256h-256v256v256h-512h-512v128v128h-128h-128zM512 768h384h384v256v256h-384h-384v-256v-256z" />
<glyph unicode="r" d="M256 256v640v640h256h256v-128v-128h128h128v128v128h384h384v-128v-128h-384h-384v-128v-128h-128h-128v-384v-384h-256h-256z" />
<glyph unicode="s" d="M0 256v128v128h640h640v128v128h-512h-512v128v128h-128h-128v128v128h128h128v128v128h640h640v-128v-128h-512h-512v-128v-128h512h512v-128v-128h128h128v-128v-128h-128h-128v-128v-128h-768h-768z" />
<glyph unicode="t" d="M256 1280v128v128h256h256v256v256h256h256v-256v-256h256h256v-128v-128h-256h-256v-512v-512h-256h-256v512v512h-256h-256z" />
<glyph unicode="u" d="M0 512v512v512h256h256v-512v-512h384h384v512v512h256h256v-640v-640h-768h-768v128v128h-128h-128z" />
<glyph unicode="v" d="M256 768v384v384h256h256v-384v-384h256h256v384v384h256h256v-384v-384h-128h-128v-128v-128h-128h-128v-128v-128h-256h-256v128v128h-128h-128v128v128h-128h-128z" />
<glyph unicode="w" d="M0 512v512v512h128h128v-512v-512h128h128v512v512h256h256v-512v-512h128h128v512v512h256h256v-640v-640h-768h-768v128v128h-128h-128z" />
<glyph unicode="x" d="M0 256v256v256h256h256v128v128h-256h-256v256v256h256h256v-128v-128h384h384v128v128h256h256v-256v-256h-256h-256v-128v-128h256h256v-256v-256h-256h-256v128v128h-384h-384v-128v-128h-256h-256z" />
<glyph unicode="y" d="M0 768v384v384h256h256v-384v-384h384h384v384v384h256h256v-640v-640h-128h-128v-128v-128h-640h-640v128v128h512h512v128v128h-512h-512v128v128h-128h-128z" />
<glyph unicode="z" d="M0 256v128v128h128h128v128v128h128h128v128v128h128h128v128v128h-384h-384v128v128h896h896v-128v-128h-128h-128v-128v-128h-128h-128v-128v-128h-128h-128v-128v-128h384h384v-128v-128h-896h-896z" />
<glyph unicode="{" d="M512 1024v128v128h128h128v256v256h128h128v128v128h256h256v-128v-128h-128h-128v-256v-256h-128h-128v-128v-128h128h128v-256v-256h128h128v-128v-128h-256h-256v128v128h-128h-128v256v256h-128h-128z" />
<glyph unicode="|" d="M768 256v896v896h256h256v-896v-896h-256h-256z" />
<glyph unicode="}" d="M256 256v128v128h128h128v256v256h128h128v128v128h-128h-128v256v256h-128h-128v128v128h256h256v-128v-128h128h128v-256v-256h128h128v-128v-128h-128h-128v-256v-256h-128h-128v-128v-128h-256h-256z" />
<glyph unicode="~" d="M0 1024v128v128h128h128v128v128h384h384v-128v-128h128h128v-128v-128h128h128v128v128h128h128v-128v-128h-128h-128v-128v-128h-384h-384v128v128h-128h-128v128v128h-128h-128v-128v-128h-128h-128z" />
<glyph d="M256 256v256v256h256h256v-256v-256h-256h-256zM1024 256v256v256h256h256v-256v-256h-256h-256z" />
<glyph unicode="&#xa0;" />
<glyph unicode="&#xa1;" d="M512 256v384v384h128h128v256v256h256h256v-640v-640h-384h-384zM768 1792v128v128h256h256v-128v-128h-256h-256z" />
<glyph unicode="&#xa2;" d="M0 768v384v384h128h128v128v128h256h256v128v128h128h128v-128v-128h256h256v-128v-128h128h128v-128v-128h-256h-256v128v128h-128h-128v-384v-384h128h128v128v128h256h256v-128v-128h-128h-128v-128v-128h-256h-256v-128v-128h-128h-128v128v128h-256h-256v128v128 h-128h-128zM512 768h128h128v384v384h-128h-128v-384v-384z" />
<glyph unicode="&#xa3;" d="M0 256v128v128h128h128v256v256h-128h-128v128v128h128h128v256v256h128h128v128v128h512h512v-128v-128h128h128v-128v-128h-256h-256v128v128h-256h-256v-256v-256h384h384v-128v-128h-384h-384v-256v-256h512h512v-128v-128h-896h-896z" />
<glyph unicode="&#xa4;" d="M256 512v128v128h128h128v384v384h-128h-128v128v128h128h128v-128v-128h128h128v128v128h256h256v-128v-128h128h128v128v128h128h128v-128v-128h-128h-128v-384v-384h128h128v-128v-128h-128h-128v128v128h-128h-128v-128v-128h-256h-256v128v128h-128h-128v-128v-128 h-128h-128zM768 768h256h256v384v384h-256h-256v-384v-384z" />
<glyph unicode="&#xa5;" d="M256 512v128v128h256h256v128v128h-256h-256v128v128h128h128v128v128h-128h-128v256v256h256h256v-256v-256h256h256v256v256h256h256v-256v-256h-128h-128v-128v-128h128h128v-128v-128h-256h-256v-128v-128h256h256v-128v-128h-256h-256v-128v-128h-256h-256v128v128 h-256h-256z" />
<glyph unicode="&#xa6;" d="M768 256v384v384h256h256v-384v-384h-256h-256zM768 1280v384v384h256h256v-384v-384h-256h-256z" />
<glyph unicode="&#xa7;" d="M256 512v128v128h256h256v128v128h-128h-128v128v128h-128h-128v256v256h128h128v128v128h512h512v-128v-128h128h128v-128v-128h-256h-256v-128v-128h128h128v-128v-128h128h128v-256v-256h-128h-128v-128v-128h-512h-512v128v128h-128h-128zM768 512h256h256v128v128 h-256h-256v-128v-128zM768 1024h256h256v128v128h-256h-256v-128v-128zM768 1536h256h256v128v128h-256h-256v-128v-128z" />
<glyph unicode="&#xa8;" d="M256 1792v128v128h256h256v-128v-128h-256h-256zM1024 1792v128v128h256h256v-128v-128h-256h-256z" />
<glyph unicode="&#xa9;" d="M0 512v512v512h128h128v128v128h128h128v128v128h512h512v-128v-128h128h128v-128v-128h128h128v-512v-512h-128h-128v-128v-128h-128h-128v-128v-128h-512h-512v128v128h-128h-128v128v128h-128h-128zM256 512h128h128v-128v-128h512h512v128v128h128h128v512v512h-128 h-128v128v128h-512h-512v-128v-128h-128h-128v-512v-512zM512 768v256v256h128h128v128v128h256h256v-128v-128h-256h-256v-256v-256h256h256v-128v-128h-256h-256v128v128h-128h-128z" />
<glyph unicode="&#xaa;" d="M256 1280v128v128h128h128v128v128h-128h-128v128v128h512h512v-128v-128h128h128v-384v-384h-512h-512v128v128h-128h-128zM768 1280h128h128v128v128h-128h-128v-128v-128z" />
<glyph unicode="&#xab;" d="M0 1024v128v128h128h128v128v128h128h128v128v128h256h256v-128v-128h128h128v128v128h256h256v-128v-128h-128h-128v-128v-128h-128h-128v-128v-128h128h128v-128v-128h128h128v-128v-128h-256h-256v128v128h-128h-128v-128v-128h-256h-256v128v128h-128h-128v128v128 h-128h-128zM512 1024h128h128v-128v-128h128h128v128v128h-128h-128v128v128h128h128v128v128h-128h-128v-128v-128h-128h-128v-128v-128z" />
<glyph unicode="&#xac;" d="M256 1280v128v128h768h768v-384v-384h-256h-256v256v256h-512h-512z" />
<glyph unicode="&#xad;" d="M256 1024v128v128h768h768v-128v-128h-768h-768z" />
<glyph unicode="&#xae;" d="M0 512v512v512h128h128v128v128h128h128v128v128h512h512v-128v-128h128h128v-128v-128h128h128v-512v-512h-128h-128v-128v-128h-128h-128v-128v-128h-512h-512v128v128h-128h-128v128v128h-128h-128zM256 512h128h128v-128v-128h512h512v128v128h128h128v512v512h-128 h-128v128v128h-512h-512v-128v-128h-128h-128v-512v-512zM512 512v512v512h384h384v-128v-128h128h128v-128v-128h-128h-128v-128v-128h128h128v-128v-128h-128h-128v128v128h-256h-256v-128v-128h-128h-128zM768 1024h256h256v128v128h-256h-256v-128v-128z" />
<glyph unicode="&#xaf;" d="M256 1792v128v128h640h640v-128v-128h-640h-640z" />
<glyph unicode="&#xb0;" d="M512 1536v128v128h128h128v128v128h128h128v-128v-128h128h128v-128v-128h-128h-128v-128v-128h-128h-128v128v128h-128h-128zM768 1536h128h128v128v128h-128h-128v-128v-128z" />
<glyph unicode="&#xb1;" d="M256 256v128v128h768h768v-128v-128h-768h-768zM256 1280v128v128h256h256v256v256h256h256v-256v-256h256h256v-128v-128h-256h-256v-256v-256h-256h-256v256v256h-256h-256z" />
<glyph unicode="&#xb2;" d="M512 1024v128v128h128h128v128v128h128h128v128v128h-256h-256v128v128h384h384v-128v-128h128h128v-128v-128h-128h-128v-128v-128h128h128v-128v-128h-512h-512z" />
<glyph unicode="&#xb3;" d="M512 1024v128v128h256h256v128v128h-128h-128v128v128h-128h-128v128v128h512h512v-128v-128h-128h-128v-128v-128h128h128v-128v-128h-128h-128v-128v-128h-384h-384z" />
<glyph unicode="&#xb4;" d="M768 1536v128v128h128h128v128v128h128h128v-128v-128h-128h-128v-128v-128h-128h-128z" />
<glyph unicode="&#xb5;" d="M0 0v768v768h256h256v-512v-512h256h256v512v512h256h256v-512v-512h128h128v-128v-128h-256h-256v128v128h-128h-128v-128v-128h-256h-256v-128v-128h-256h-256z" />
<glyph unicode="&#xb6;" d="M256 1024v384v384h128h128v128v128h640h640v-896v-896h-128h-128v256v256h-128h-128v-256v-256h-128h-128v256v256h-256h-256v128v128h-128h-128zM512 1280h128h128v-128v-128h128h128v384v384h-128h-128v-128v-128h-128h-128v-128v-128zM1280 1024h128h128v384v384h-128 h-128v-384v-384z" />
<glyph unicode="&#xb7;" d="M512 768v256v256h256h256v-256v-256h-256h-256z" />
<glyph unicode="&#xb8;" d="M512 0v128v128h256h256v128v128h128h128v-128v-128h-128h-128v-128v-128h-256h-256z" />
<glyph unicode="&#xb9;" d="M512 1024v128v128h128h128v128v128h-128h-128v128v128h128h128v128v128h256h256v-384v-384h128h128v-128v-128h-512h-512z" />
<glyph unicode="&#xba;" d="M256 1280v256v256h128h128v128v128h384h384v-128v-128h128h128v-256v-256h-128h-128v-128v-128h-384h-384v128v128h-128h-128zM768 1280h128h128v256v256h-128h-128v-256v-256z" />
<glyph unicode="&#xbb;" d="M0 512v128v128h128h128v128v128h128h128v128v128h-128h-128v128v128h-128h-128v128v128h256h256v-128v-128h128h128v128v128h256h256v-128v-128h128h128v-128v-128h128h128v-128v-128h-128h-128v-128v-128h-128h-128v-128v-128h-256h-256v128v128h-128h-128v-128v-128 h-256h-256zM768 768h128h128v128v128h128h128v128v128h-128h-128v128v128h-128h-128v-128v-128h128h128v-128v-128h-128h-128v-128v-128z" />
<glyph unicode="&#xbc;" d="M0 256v128v128h128h128v128v128h128h128v128v128h-128h-128v256v256h-128h-128v128v128h128h128v128v128h128h128v-512v-512h128h128v128v128h128h128v128v128h128h128v128v128h128h128v128v128h128h128v-128v-128h-128h-128v-128v-128h-128h-128v-128v-128h-128h-128 v-128v-128h-128h-128v-128v-128h-128h-128v-128v-128h-128h-128v-128v-128h-128h-128zM1024 512v128v128h128h128v128v128h128h128v128v128h128h128v-512v-512h-128h-128v128v128h-256h-256z" />
<glyph unicode="&#xbd;" d="M0 256v128v128h128h128v128v128h128h128v128v128h-128h-128v256v256h-128h-128v128v128h128h128v128v128h128h128v-512v-512h128h128v128v128h128h128v128v128h128h128v128v128h128h128v128v128h128h128v-128v-128h-128h-128v-128v-128h-128h-128v-128v-128h256h256v-256 v-256h-128h-128v-128v-128h128h128v-128v-128h-384h-384v128v128h128h128v128v128h128h128v128v128h-128h-128v128v128h-128h-128v-128v-128h-128h-128v-128v-128h-128h-128v-128v-128h-128h-128v-128v-128h-128h-128z" />
<glyph unicode="&#xbe;" d="M0 256v128v128h128h128v128v128h128h128v128v128h-256h-256v128v128h256h256v128v128h-128h-128v128v128h-128h-128v128v128h384h384v-128v-128h-128h-128v-128v-128h128h128v-128v-128h128h128v128v128h128h128v128v128h128h128v128v128h128h128v-128v-128h-128h-128 v-128v-128h-128h-128v-128v-128h-128h-128v-128v-128h-128h-128v-128v-128h-128h-128v-128v-128h-128h-128v-128v-128h-128h-128zM512 1024h128h128v128v128h-128h-128v-128v-128zM1024 512v128v128h128h128v128v128h128h128v128v128h128h128v-512v-512h-128h-128v128v128 h-256h-256z" />
<glyph unicode="&#xbf;" d="M0 512v256v256h128h128v128v128h128h128v128v128h384h384v-128v-128h-256h-256v-128v-128h-128h-128v-128v-128h384h384v128v128h256h256v-256v-256h-128h-128v-128v-128h-640h-640v128v128h-128h-128zM512 1792v128v128h384h384v-128v-128h-384h-384z" />
<glyph unicode="&#xc0;" d="M0 256v384v384h128h128v128v128h128h128v128v128h128h128v128v128h-128h-128v128v128h128h128v-128v-128h128h128v-128v-128h128h128v-128v-128h128h128v-128v-128h128h128v-384v-384h-256h-256v128v128h-384h-384v-128v-128h-256h-256zM512 768h384h384v128v128h-128 h-128v128v128h-128h-128v-128v-128h-128h-128v-128v-128z" />
<glyph unicode="&#xc1;" d="M0 256v384v384h128h128v128v128h128h128v128v128h128h128v128v128h128h128v128v128h128h128v-128v-128h-128h-128v-128v-128h128h128v-128v-128h128h128v-128v-128h128h128v-384v-384h-256h-256v128v128h-384h-384v-128v-128h-256h-256zM512 768h384h384v128v128h-128 h-128v128v128h-128h-128v-128v-128h-128h-128v-128v-128z" />
<glyph unicode="&#xc2;" d="M0 256v384v384h128h128v128v128h128h128v128v128h-128h-128v128v128h128h128v128v128h384h384v-128v-128h128h128v-128v-128h-128h-128v-128v-128h128h128v-128v-128h128h128v-384v-384h-256h-256v128v128h-384h-384v-128v-128h-256h-256zM512 768h384h384v128v128h-128 h-128v128v128h-128h-128v-128v-128h-128h-128v-128v-128zM768 1536h128h128v128v128h-128h-128v-128v-128z" />
<glyph unicode="&#xc3;" d="M0 256v384v384h128h128v128v128h128h128v128v128h-128h-128v128v128h128h128v128v128h256h256v-128v-128h128h128v128v128h128h128v-128v-128h-128h-128v-256v-256h128h128v-128v-128h128h128v-384v-384h-256h-256v128v128h-384h-384v-128v-128h-256h-256zM512 768h384 h384v128v128h-128h-128v128v128h-128h-128v-128v-128h-128h-128v-128v-128zM512 1536h128h128v128v128h-128h-128v-128v-128z" />
<glyph unicode="&#xc4;" d="M0 256v384v384h128h128v128v128h128h128v128v128h384h384v-128v-128h128h128v-128v-128h128h128v-384v-384h-256h-256v128v128h-384h-384v-128v-128h-256h-256zM256 1792v128v128h256h256v-128v-128h-256h-256zM512 768h384h384v128v128h-128h-128v128v128h-128h-128 v-128v-128h-128h-128v-128v-128zM1024 1792v128v128h256h256v-128v-128h-256h-256z" />
<glyph unicode="&#xc5;" d="M0 256v384v384h128h128v128v128h128h128v256v256h128h128v128v128h128h128v-128v-128h128h128v-256v-256h128h128v-128v-128h128h128v-384v-384h-256h-256v128v128h-384h-384v-128v-128h-256h-256zM512 768h384h384v128v128h-128h-128v128v128h-128h-128v-128v-128h-128 h-128v-128v-128zM768 1536h128h128v128v128h-128h-128v-128v-128z" />
<glyph unicode="&#xc6;" d="M0 256v640v640h128h128v128v128h128h128v128v128h640h640v-128v-128h-256h-256v-256v-256h256h256v-128v-128h-256h-256v-256v-256h256h256v-128v-128h-512h-512v256v256h-128h-128v-256v-256h-256h-256zM512 1024h128h128v256v256h-128h-128v-256v-256z" />
<glyph unicode="&#xc7;" d="M0 1024v256v256h128h128v128v128h128h128v128v128h512h512v-128v-128h128h128v-128v-128h-256h-256v128v128h-256h-256v-128v-128h-128h-128v-256v-256h128h128v-128v-128h256h256v128v128h256h256v-128v-128h-128h-128v-128v-128h-128h-128v-128v-128h-128h-128v-128 v-128h-256h-256v128v128h256h256v128v128h-256h-256v128v128h-128h-128v128v128h-128h-128z" />
<glyph unicode="&#xc8;" d="M0 256v640v640h384h384v128v128h-128h-128v128v128h128h128v-128v-128h128h128v-128v-128h384h384v-128v-128h-640h-640v-128v-128h512h512v-128v-128h-512h-512v-128v-128h640h640v-128v-128h-896h-896z" />
<glyph unicode="&#xc9;" d="M0 256v640v640h384h384v128v128h128h128v128v128h128h128v-128v-128h-128h-128v-128v-128h384h384v-128v-128h-640h-640v-128v-128h512h512v-128v-128h-512h-512v-128v-128h640h640v-128v-128h-896h-896z" />
<glyph unicode="&#xca;" d="M0 256v640v640h128h128v128v128h128h128v128v128h384h384v-128v-128h128h128v-128v-128h128h128v-128v-128h-640h-640v-128v-128h512h512v-128v-128h-512h-512v-128v-128h640h640v-128v-128h-896h-896zM768 1536h128h128v128v128h-128h-128v-128v-128z" />
<glyph unicode="&#xcb;" d="M0 256v640v640h896h896v-128v-128h-640h-640v-128v-128h512h512v-128v-128h-512h-512v-128v-128h640h640v-128v-128h-896h-896zM256 1792v128v128h256h256v-128v-128h-256h-256zM1024 1792v128v128h256h256v-128v-128h-256h-256z" />
<glyph unicode="&#xcc;" d="M256 256v128v128h256h256v384v384h-256h-256v128v128h384h384v128v128h-128h-128v128v128h128h128v-128v-128h128h128v-128v-128h256h256v-128v-128h-256h-256v-384v-384h256h256v-128v-128h-768h-768z" />
<glyph unicode="&#xcd;" d="M256 256v128v128h256h256v384v384h-256h-256v128v128h256h256v128v128h128h128v128v128h128h128v-128v-128h-128h-128v-128v-128h384h384v-128v-128h-256h-256v-384v-384h256h256v-128v-128h-768h-768z" />
<glyph unicode="&#xce;" d="M256 256v128v128h256h256v384v384h-256h-256v128v128h128h128v128v128h128h128v128v128h256h256v-128v-128h128h128v-128v-128h128h128v-128v-128h-256h-256v-384v-384h256h256v-128v-128h-768h-768z" />
<glyph unicode="&#xcf;" d="M256 256v128v128h256h256v384v384h-256h-256v128v128h768h768v-128v-128h-256h-256v-384v-384h256h256v-128v-128h-768h-768zM256 1792v128v128h256h256v-128v-128h-256h-256zM1280 1792v128v128h256h256v-128v-128h-256h-256z" />
<glyph unicode="&#xd0;" d="M0 1024v128v128h128h128v384v384h512h512v-128v-128h128h128v-128v-128h128h128v-384v-384h-128h-128v-128v-128h-128h-128v-128v-128h-512h-512v384v384h-128h-128zM768 512h128h128v128v128h128h128v384v384h-128h-128v128v128h-128h-128v-256v-256h128h128v-128v-128 h-128h-128v-256v-256z" />
<glyph unicode="&#xd1;" d="M0 256v640v640h128h128v128v128h128h128v128v128h256h256v-128v-128h128h128v128v128h128h128v-128v-128h-128h-128v-128v-128h256h256v-640v-640h-384h-384v128v128h-128h-128v128v128h-128h-128v-256v-256h-256h-256zM512 1536h128h128v-128v-128h128h128v-128v-128 h128h128v256v256h-256h-256v128v128h-128h-128v-128v-128z" />
<glyph unicode="&#xd2;" d="M0 512v384v384h128h128v128v128h256h256v128v128h-128h-128v128v128h128h128v-128v-128h128h128v-128v-128h256h256v-128v-128h128h128v-384v-384h-128h-128v-128v-128h-640h-640v128v128h-128h-128zM512 512h384h384v384v384h-384h-384v-384v-384z" />
<glyph unicode="&#xd3;" d="M0 512v384v384h128h128v128v128h256h256v128v128h128h128v128v128h128h128v-128v-128h-128h-128v-128v-128h256h256v-128v-128h128h128v-384v-384h-128h-128v-128v-128h-640h-640v128v128h-128h-128zM512 512h384h384v384v384h-384h-384v-384v-384z" />
<glyph unicode="&#xd4;" d="M0 512v384v384h128h128v256v256h128h128v128v128h384h384v-128v-128h128h128v-256v-256h128h128v-384v-384h-128h-128v-128v-128h-640h-640v128v128h-128h-128zM512 512h384h384v384v384h-384h-384v-384v-384zM768 1536h128h128v128v128h-128h-128v-128v-128z" />
<glyph unicode="&#xd5;" d="M0 512v384v384h128h128v256v256h128h128v128v128h256h256v-128v-128h128h128v128v128h128h128v-128v-128h-128h-128v-128v-128h128h128v-128v-128h128h128v-384v-384h-128h-128v-128v-128h-640h-640v128v128h-128h-128zM512 512h384h384v384v384h-384h-384v-384v-384z M512 1536h128h128v128v128h-128h-128v-128v-128z" />
<glyph unicode="&#xd6;" d="M0 512v384v384h128h128v128v128h640h640v-128v-128h128h128v-384v-384h-128h-128v-128v-128h-640h-640v128v128h-128h-128zM256 1792v128v128h256h256v-128v-128h-256h-256zM512 512h384h384v384v384h-384h-384v-384v-384zM1024 1792v128v128h256h256v-128v-128h-256 h-256z" />
<glyph unicode="&#xd7;" d="M256 512v128v128h128h128v128v128h128h128v128v128h-128h-128v128v128h-128h-128v128v128h128h128v-128v-128h128h128v-128v-128h128h128v128v128h128h128v128v128h128h128v-128v-128h-128h-128v-128v-128h-128h-128v-128v-128h128h128v-128v-128h128h128v-128v-128h-128 h-128v128v128h-128h-128v128v128h-128h-128v-128v-128h-128h-128v-128v-128h-128h-128z" />
<glyph unicode="&#xd8;" d="M0 512v640v640h128h128v128v128h640h640v-128v-128h128h128v-640v-640h-128h-128v-128v-128h-640h-640v128v128h-128h-128zM512 512h384h384v384v384h-128h-128v128v128h128h128v128v128h-384h-384v-384v-384h128h128v-128v-128h-128h-128v-128v-128zM768 1024v128v128 h128h128v-128v-128h-128h-128z" />
<glyph unicode="&#xd9;" d="M0 512v512v512h256h256v-512v-512h384h384v512v512h256h256v-512v-512h-128h-128v-128v-128h-640h-640v128v128h-128h-128zM512 1792v128v128h128h128v-128v-128h128h128v-128v-128h-128h-128v128v128h-128h-128z" />
<glyph unicode="&#xda;" d="M0 512v512v512h256h256v-512v-512h384h384v512v512h256h256v-512v-512h-128h-128v-128v-128h-640h-640v128v128h-128h-128zM768 1536v128v128h128h128v128v128h128h128v-128v-128h-128h-128v-128v-128h-128h-128z" />
<glyph unicode="&#xdb;" d="M0 512v384v384h256h256v-384v-384h384h384v384v384h256h256v-384v-384h-128h-128v-128v-128h-640h-640v128v128h-128h-128zM256 1536v128v128h128h128v128v128h384h384v-128v-128h128h128v-128v-128h-256h-256v128v128h-128h-128v-128v-128h-256h-256z" />
<glyph unicode="&#xdc;" d="M0 512v512v512h256h256v-512v-512h384h384v512v512h256h256v-512v-512h-128h-128v-128v-128h-640h-640v128v128h-128h-128zM256 1792v128v128h256h256v-128v-128h-256h-256zM1024 1792v128v128h256h256v-128v-128h-256h-256z" />
<glyph unicode="&#xdd;" d="M256 1024v256v256h256h256v128v128h128h128v128v128h128h128v-128v-128h-128h-128v-128v-128h-128h-128v-256v-256h256h256v256v256h256h256v-256v-256h-128h-128v-128v-128h-128h-128v-256v-256h-256h-256v256v256h-128h-128v128v128h-128h-128z" />
<glyph unicode="&#xde;" d="M0 256v896v896h256h256v-128v-128h512h512v-128v-128h128h128v-384v-384h-128h-128v-128v-128h-512h-512v-128v-128h-256h-256zM512 768h384h384v384v384h-384h-384v-384v-384z" />
<glyph unicode="&#xdf;" d="M256 256v768v768h128h128v128v128h512h512v-128v-128h128h128v-256v-256h-128h-128v-128v-128h128h128v-256v-256h-128h-128v-128v-128h-256h-256v128v128h-128h-128v-128v-128h-256h-256zM768 768h128h128v-128v-128h128h128v256v256h-128h-128v128v128h128h128v256v256 h-256h-256v-512v-512z" />
<glyph unicode="&#xe0;" d="M0 512v128v128h128h128v128v128h512h512v128v128h-512h-512v128v128h256h256v128v128h-128h-128v128v128h128h128v-128v-128h128h128v-128v-128h256h256v-128v-128h128h128v-512v-512h-768h-768v128v128h-128h-128zM512 512h384h384v128v128h-384h-384v-128v-128z" />
<glyph unicode="&#xe1;" d="M0 512v128v128h128h128v128v128h512h512v128v128h-512h-512v128v128h256h256v128v128h128h128v128v128h128h128v-128v-128h-128h-128v-128v-128h256h256v-128v-128h128h128v-512v-512h-768h-768v128v128h-128h-128zM512 512h384h384v128v128h-384h-384v-128v-128z" />
<glyph unicode="&#xe2;" d="M0 512v128v128h128h128v128v128h512h512v128v128h-512h-512v256v256h128h128v128v128h384h384v-128v-128h128h128v-256v-256h128h128v-512v-512h-768h-768v128v128h-128h-128zM512 512h384h384v128v128h-384h-384v-128v-128zM768 1536h128h128v128v128h-128h-128v-128 v-128z" />
<glyph unicode="&#xe3;" d="M0 512v128v128h128h128v128v128h512h512v128v128h-512h-512v256v256h128h128v128v128h256h256v-128v-128h128h128v128v128h128h128v-128v-128h-128h-128v-128v-128h128h128v-128v-128h128h128v-512v-512h-768h-768v128v128h-128h-128zM512 512h384h384v128v128h-384h-384 v-128v-128zM512 1536h128h128v128v128h-128h-128v-128v-128z" />
<glyph unicode="&#xe4;" d="M0 512v128v128h128h128v128v128h512h512v128v128h-512h-512v128v128h640h640v-128v-128h128h128v-512v-512h-768h-768v128v128h-128h-128zM256 1792v128v128h256h256v-128v-128h-256h-256zM512 512h384h384v128v128h-384h-384v-128v-128zM1024 1792v128v128h256h256v-128 v-128h-256h-256z" />
<glyph unicode="&#xe5;" d="M0 512v128v128h128h128v128v128h512h512v128v128h-512h-512v128v128h128h128v128v128h128h128v128v128h128h128v-128v-128h128h128v-128v-128h128h128v-128v-128h128h128v-512v-512h-768h-768v128v128h-128h-128zM512 512h384h384v128v128h-384h-384v-128v-128zM768 1536 h128h128v128v128h-128h-128v-128v-128z" />
<glyph unicode="&#xe6;" d="M0 512v128v128h128h128v128v128h256h256v128v128h-256h-256v128v128h640h640v-128v-128h128h128v-256v-256h-384h-384v-128v-128h256h256v-128v-128h-640h-640v128v128h-128h-128zM512 512h128h128v128v128h-128h-128v-128v-128zM1024 1024h128h128v128v128h-128h-128 v-128v-128z" />
<glyph unicode="&#xe7;" d="M0 768v256v256h128h128v128v128h768h768v-128v-128h-640h-640v-256v-256h640h640v-128v-128h-256h-256v-128v-128h-128h-128v-128v-128h-256h-256v128v128h256h256v128v128h-384h-384v128v128h-128h-128z" />
<glyph unicode="&#xe8;" d="M0 512v384v384h128h128v128v128h256h256v128v128h-128h-128v128v128h128h128v-128v-128h128h128v-128v-128h256h256v-128v-128h128h128v-256v-256h-640h-640v-128v-128h512h512v-128v-128h-640h-640v128v128h-128h-128zM512 1024h384h384v128v128h-384h-384v-128v-128z " />
<glyph unicode="&#xe9;" d="M0 512v384v384h128h128v128v128h256h256v128v128h128h128v128v128h128h128v-128v-128h-128h-128v-128v-128h256h256v-128v-128h128h128v-256v-256h-640h-640v-128v-128h512h512v-128v-128h-640h-640v128v128h-128h-128zM512 1024h384h384v128v128h-384h-384v-128v-128z " />
<glyph unicode="&#xea;" d="M0 512v384v384h128h128v256v256h128h128v128v128h384h384v-128v-128h128h128v-256v-256h128h128v-256v-256h-640h-640v-128v-128h512h512v-128v-128h-640h-640v128v128h-128h-128zM512 1024h384h384v128v128h-384h-384v-128v-128zM768 1536h128h128v128v128h-128h-128 v-128v-128z" />
<glyph unicode="&#xeb;" d="M0 512v384v384h128h128v128v128h640h640v-128v-128h128h128v-256v-256h-640h-640v-128v-128h512h512v-128v-128h-640h-640v128v128h-128h-128zM256 1792v128v128h256h256v-128v-128h-256h-256zM512 1024h384h384v128v128h-384h-384v-128v-128zM1024 1792v128v128h256h256 v-128v-128h-256h-256z" />
<glyph unicode="&#xec;" d="M256 256v128v128h256h256v256v256h-128h-128v128v128h384h384v-384v-384h256h256v-128v-128h-768h-768zM512 1792v128v128h128h128v-128v-128h128h128v-128v-128h-128h-128v128v128h-128h-128z" />
<glyph unicode="&#xed;" d="M256 256v128v128h256h256v256v256h-128h-128v128v128h384h384v-384v-384h256h256v-128v-128h-768h-768zM768 1536v128v128h128h128v128v128h128h128v-128v-128h-128h-128v-128v-128h-128h-128z" />
<glyph unicode="&#xee;" d="M256 256v128v128h256h256v256v256h-128h-128v128v128h384h384v-384v-384h256h256v-128v-128h-768h-768zM256 1536v128v128h128h128v128v128h384h384v-128v-128h128h128v-128v-128h-256h-256v128v128h-128h-128v-128v-128h-256h-256z" />
<glyph unicode="&#xef;" d="M256 256v128v128h256h256v384v384h-128h-128v128v128h384h384v-512v-512h256h256v-128v-128h-768h-768zM256 1792v128v128h256h256v-128v-128h-256h-256zM1024 1792v128v128h256h256v-128v-128h-256h-256z" />
<glyph unicode="&#xf0;" d="M0 512v256v256h128h128v128v128h-128h-128v128v128h128h128v256v256h256h256v-128v-128h256h256v128v128h128h128v-128v-128h-128h-128v-256v-256h128h128v-128v-128h128h128v-256v-256h-128h-128v-128v-128h-640h-640v128v128h-128h-128zM256 1280h256h256v128v128h-256 h-256v-128v-128zM512 512h384h384v256v256h-384h-384v-256v-256z" />
<glyph unicode="&#xf1;" d="M0 256v640v640h128h128v128v128h128h128v128v128h256h256v-128v-128h128h128v128v128h128h128v-128v-128h-128h-128v-128v-128h128h128v-128v-128h128h128v-512v-512h-256h-256v512v512h-384h-384v-512v-512h-256h-256zM512 1536h128h128v128v128h-128h-128v-128v-128z " />
<glyph unicode="&#xf2;" d="M0 512v384v384h128h128v128v128h256h256v128v128h-128h-128v128v128h128h128v-128v-128h128h128v-128v-128h256h256v-128v-128h128h128v-384v-384h-128h-128v-128v-128h-640h-640v128v128h-128h-128zM512 512h384h384v384v384h-384h-384v-384v-384z" />
<glyph unicode="&#xf3;" d="M0 512v384v384h128h128v128v128h256h256v128v128h128h128v128v128h128h128v-128v-128h-128h-128v-128v-128h256h256v-128v-128h128h128v-384v-384h-128h-128v-128v-128h-640h-640v128v128h-128h-128zM512 512h384h384v384v384h-384h-384v-384v-384z" />
<glyph unicode="&#xf4;" d="M0 512v384v384h128h128v256v256h128h128v128v128h384h384v-128v-128h128h128v-256v-256h128h128v-384v-384h-128h-128v-128v-128h-640h-640v128v128h-128h-128zM512 512h384h384v384v384h-384h-384v-384v-384zM768 1536h128h128v128v128h-128h-128v-128v-128z" />
<glyph unicode="&#xf5;" d="M0 512v384v384h128h128v256v256h128h128v128v128h256h256v-128v-128h128h128v128v128h128h128v-128v-128h-128h-128v-128v-128h128h128v-128v-128h128h128v-384v-384h-128h-128v-128v-128h-640h-640v128v128h-128h-128zM512 512h384h384v384v384h-384h-384v-384v-384z M512 1536h128h128v128v128h-128h-128v-128v-128z" />
<glyph unicode="&#xf6;" d="M0 512v384v384h128h128v128v128h640h640v-128v-128h128h128v-384v-384h-128h-128v-128v-128h-640h-640v128v128h-128h-128zM256 1792v128v128h256h256v-128v-128h-256h-256zM512 512h384h384v384v384h-384h-384v-384v-384zM1024 1792v128v128h256h256v-128v-128h-256 h-256z" />
<glyph unicode="&#xf7;" d="M256 1024v128v128h768h768v-128v-128h-768h-768zM768 512v128v128h256h256v-128v-128h-256h-256zM768 1536v128v128h256h256v-128v-128h-256h-256z" />
<glyph unicode="&#xf8;" d="M0 512v384v384h128h128v128v128h640h640v-128v-128h128h128v-384v-384h-128h-128v-128v-128h-640h-640v128v128h-128h-128zM512 768h128h128v-128v-128h256h256v256v256h-128h-128v128v128h-256h-256v-256v-256zM768 768v128v128h128h128v-128v-128h-128h-128z" />
<glyph unicode="&#xf9;" d="M0 512v512v512h256h256v-512v-512h384h384v512v512h256h256v-640v-640h-768h-768v128v128h-128h-128zM512 1792v128v128h128h128v-128v-128h128h128v-128v-128h-128h-128v128v128h-128h-128z" />
<glyph unicode="&#xfa;" d="M0 512v512v512h256h256v-512v-512h384h384v512v512h256h256v-640v-640h-768h-768v128v128h-128h-128zM768 1536v128v128h128h128v128v128h128h128v-128v-128h-128h-128v-128v-128h-128h-128z" />
<glyph unicode="&#xfb;" d="M0 512v384v384h256h256v-384v-384h384h384v384v384h256h256v-512v-512h-768h-768v128v128h-128h-128zM256 1536v128v128h128h128v128v128h384h384v-128v-128h128h128v-128v-128h-256h-256v128v128h-128h-128v-128v-128h-256h-256z" />
<glyph unicode="&#xfc;" d="M0 512v512v512h256h256v-512v-512h384h384v512v512h256h256v-640v-640h-768h-768v128v128h-128h-128zM256 1792v128v128h256h256v-128v-128h-256h-256zM1024 1792v128v128h256h256v-128v-128h-256h-256z" />
<glyph unicode="&#xfd;" d="M0 768v384v384h256h256v-384v-384h384h384v384v384h256h256v-640v-640h-128h-128v-128v-128h-640h-640v128v128h512h512v128v128h-512h-512v128v128h-128h-128zM768 1536v128v128h128h128v128v128h128h128v-128v-128h-128h-128v-128v-128h-128h-128z" />
<glyph unicode="&#xfe;" d="M0 0v1024v1024h256h256v-256v-256h512h512v-128v-128h128h128v-256v-256h-128h-128v-128v-128h-512h-512v-256v-256h-256h-256zM512 768h384h384v256v256h-384h-384v-256v-256z" />
<glyph unicode="&#xff;" d="M0 768v384v384h256h256v-384v-384h384h384v384v384h256h256v-640v-640h-128h-128v-128v-128h-640h-640v128v128h512h512v128v128h-512h-512v128v128h-128h-128zM256 1792v128v128h256h256v-128v-128h-256h-256zM1024 1792v128v128h256h256v-128v-128h-256h-256z" />
<glyph unicode="&#x152;" d="M0 512v640v640h128h128v128v128h768h768v-128v-128h-256h-256v-256v-256h256h256v-128v-128h-256h-256v-256v-256h256h256v-128v-128h-768h-768v128v128h-128h-128zM512 512h128h128v640v640h-128h-128v-640v-640z" />
<glyph unicode="&#x153;" d="M0 512v384v384h128h128v128v128h640h640v-128v-128h128h128v-256v-256h-384h-384v-128v-128h256h256v-128v-128h-640h-640v128v128h-128h-128zM512 512h128h128v384v384h-128h-128v-384v-384zM1024 1024h128h128v128v128h-128h-128v-128v-128z" />
<glyph unicode="&#x178;" d="M256 1024v256v256h256h256v-256v-256h256h256v256v256h256h256v-256v-256h-128h-128v-128v-128h-128h-128v-256v-256h-256h-256v256v256h-128h-128v128v128h-128h-128zM256 1792v128v128h256h256v-128v-128h-256h-256zM1280 1792v128v128h256h256v-128v-128h-256h-256z " />
<glyph unicode="&#x2c6;" d="M256 1536v128v128h128h128v128v128h384h384v-128v-128h128h128v-128v-128h-256h-256v128v128h-128h-128v-128v-128h-256h-256z" />
<glyph unicode="&#x2dc;" d="M256 1536v128v128h128h128v128v128h256h256v-128v-128h128h128v128v128h128h128v-128v-128h-128h-128v-128v-128h-256h-256v128v128h-128h-128v-128v-128h-128h-128z" />
<glyph unicode="&#x2000;" horiz-adv-x="1024" />
<glyph unicode="&#x2001;" />
<glyph unicode="&#x2002;" horiz-adv-x="1024" />
<glyph unicode="&#x2003;" />
<glyph unicode="&#x2004;" horiz-adv-x="682" />
<glyph unicode="&#x2005;" horiz-adv-x="512" />
<glyph unicode="&#x2006;" horiz-adv-x="341" />
<glyph unicode="&#x2007;" horiz-adv-x="341" />
<glyph unicode="&#x2008;" horiz-adv-x="256" />
<glyph unicode="&#x2009;" horiz-adv-x="409" />
<glyph unicode="&#x200a;" horiz-adv-x="113" />
<glyph unicode="&#x2010;" d="M256 1024v128v128h768h768v-128v-128h-768h-768z" />
<glyph unicode="&#x2011;" d="M256 1024v128v128h768h768v-128v-128h-768h-768z" />
<glyph unicode="&#x2012;" d="M256 1024v128v128h768h768v-128v-128h-768h-768z" />
<glyph unicode="&#x2013;" d="M0 1024v128v128h896h896v-128v-128h-896h-896z" />
<glyph unicode="&#x2014;" d="M0 1024v128v128h1024h1024v-128v-128h-1024h-1024z" />
<glyph unicode="&#x2018;" d="M512 1280v256v256h128h128v128v128h256h256v-128v-128h-128h-128v-256v-256h-256h-256z" />
<glyph unicode="&#x2019;" d="M512 1280v128v128h128h128v256v256h256h256v-256v-256h-128h-128v-128v-128h-256h-256z" />
<glyph unicode="&#x201a;" d="M512 256v128v128h128h128v256v256h256h256v-256v-256h-128h-128v-128v-128h-256h-256z" />
<glyph unicode="&#x201c;" d="M256 1280v256v256h128h128v128v128h256h256v-128v-128h128h128v128v128h256h256v-128v-128h-128h-128v-256v-256h-256h-256v256v256h-128h-128v-256v-256h-256h-256z" />
<glyph unicode="&#x201d;" d="M256 1280v128v128h128h128v256v256h256h256v-256v-256h128h128v256v256h256h256v-256v-256h-128h-128v-128v-128h-256h-256v128v128h-128h-128v-128v-128h-256h-256z" />
<glyph unicode="&#x201e;" d="M0 256v128v128h128h128v256v256h256h256v-256v-256h128h128v256v256h256h256v-256v-256h-128h-128v-128v-128h-256h-256v128v128h-128h-128v-128v-128h-256h-256z" />
<glyph unicode="&#x2022;" d="M512 768v256v256h128h128v128v128h256h256v-128v-128h128h128v-256v-256h-128h-128v-128v-128h-256h-256v128v128h-128h-128z" />
<glyph unicode="&#x2026;" d="M0 256v256v256h128h128v-256v-256h-128h-128zM768 256v256v256h128h128v-256v-256h-128h-128zM1536 256v256v256h128h128v-256v-256h-128h-128z" />
<glyph unicode="&#x202f;" horiz-adv-x="409" />
<glyph unicode="&#x2039;" d="M512 1024v128v128h128h128v128v128h128h128v128v128h256h256v-128v-128h-128h-128v-128v-128h-128h-128v-128v-128h128h128v-128v-128h128h128v-128v-128h-256h-256v128v128h-128h-128v128v128h-128h-128z" />
<glyph unicode="&#x203a;" d="M256 512v128v128h128h128v128v128h128h128v128v128h-128h-128v128v128h-128h-128v128v128h256h256v-128v-128h128h128v-128v-128h128h128v-128v-128h-128h-128v-128v-128h-128h-128v-128v-128h-256h-256z" />
<glyph unicode="&#x205f;" horiz-adv-x="512" />
<glyph unicode="&#x20ac;" d="M0 768v128v128h128h128v128v128h-128h-128v128v128h256h256v128v128h128h128v128v128h384h384v-128v-128h128h128v-128v-128h-256h-256v-128v-128h-256h-256v-128v-128h256h256v-128v-128h256h256v-128v-128h-128h-128v-128v-128h-384h-384v128v128h-128h-128v128v128 h-256h-256zM1024 512h128h128v128v128h-128h-128v-128v-128zM1024 1536h128h128v128v128h-128h-128v-128v-128z" />
<glyph unicode="&#x2122;" d="M256 1792v128v128h768h768v-512v-512h-128h-128v256v256h-128h-128v-256v-256h-128h-128v384v384h-128h-128v-384v-384h-128h-128v384v384h-128h-128z" />
<glyph unicode="&#xe000;" horiz-adv-x="1540" d="M0 0v1540h1540v-1540h-1540z" />
<glyph unicode="&#xfb01;" d="M0 1280v128v128h128h128v128v128h128h128v128v128h384h384v-128v-128h-256h-256v-128v-128h512h512v-640v-640h-256h-256v512v512h-256h-256v-512v-512h-256h-256v512v512h-128h-128z" />
<glyph unicode="&#xfb02;" d="M0 1280v128v128h128h128v128v128h128h128v128v128h640h640v-896v-896h-256h-256v512v512h-256h-256v-512v-512h-256h-256v512v512h-128h-128zM768 1536h256h256v128v128h-256h-256v-128v-128z" />
</font>
</defs></svg>
\ No newline at end of file
@charset "UTF-8";
html, body, ul, li, ol, dl, dd, dt, p, h1, h2, h3, h4, h5, h6, form, fieldset, legend, img { margin:0; padding:0; }
fieldset, img { border:none; }
img{display: block;}
address, caption, cite, code, dfn, th, var { font-style:normal; font-weight:normal; }
ul, ol { list-style:none; }
input { padding-top:0; padding-bottom:0; font-family: "SimSun","宋体";}
input::-moz-focus-inner { border:none; padding:0; }
select, input { vertical-align:middle; }
select, input, textarea { font-size:12px; margin:0; }
input[type="text"], input[type="password"], textarea { outline-style:none; -webkit-appearance:none; }
textarea { resize:none; }
table { border-collapse:collapse; }
body { color:#333; font:12px/22px "SimSun","宋体","Arial Narrow",HELVETICA; background:#fff;/* overflow-y:scroll;*/ }
.clearfix:after { content:"."; display:block; height:0; visibility:hidden; clear:both; }
.clearfix { zoom:1; }
.clearit { clear:both; height:0; font-size:0; overflow:hidden; }
a { color:#666; text-decoration:none; }
a:visited { color:#666; }
a:hover, a:active, a:focus { color:#ff8400; text-decoration:underline; }
.hide-text{ white-space:nowrap; text-indent:100%; overflow:hidden;}
#main{ width:512px; height:480px; margin:40px auto; border:1px solid #333; position:relative; overflow:hidden;}
#person.base{ width:32px; height:32px; position:absolute;}
.base.personR{ background:url(../img/allbgs.png) no-repeat 0 0;}
.base.personL{ background:url(../img/allbgs.png) no-repeat -32px 0;}
.base.personRM{ background:url(../img/move.gif) no-repeat 0 0;}
.base.personLM{ background:url(../img/move.gif) no-repeat -32px 0;}
.base.personRU{ background:url(../img/allbgs.png) no-repeat -64px 0;}
.base.personLU{ background:url(../img/allbgs.png) no-repeat -96px 0;}
.base.supportR{ background:url(../img/allbgs.png) no-repeat -128px 0;}
.base.supportL{ background:url(../img/allbgs.png) no-repeat -160px 0;}
.base.die{ background:url(../img/allbgs.png) no-repeat 0 -160px;}
#person.big{ width:32px; height:64px; position:absolute; left:0;}
.big.personR{ background:url(../img/allbgs.png) no-repeat 0 -32px;}
.big.personL{ background:url(../img/allbgs.png) no-repeat -32px -32px;}
.big.personRM{ background:url(../img/move.gif) no-repeat 0 -32px;}
.big.personLM{ background:url(../img/move.gif) no-repeat -32px -32px;}
.big.personRU{ background:url(../img/allbgs.png) no-repeat -64px -32px;}
.big.personLU{ background:url(../img/allbgs.png) no-repeat -96px -32px;}
.big.supportR{ background:url(../img/allbgs.png) no-repeat -128px -32px;}
.big.supportL{ background:url(../img/allbgs.png) no-repeat -160px -32px;}
#person.sendBullet{ width:32px; height:64px; position:absolute;}
.sendBullet.personR{ background:url(../img/allbgs.png) no-repeat 0 -96px;}
.sendBullet.personL{ background:url(../img/allbgs.png) no-repeat -32px -96px;}
.sendBullet.personRM{ background:url(../img/move.gif) no-repeat 0 -96px;}
.sendBullet.personLM{ background:url(../img/move.gif) no-repeat -32px -96px;}
.sendBullet.personRU{ background:url(../img/allbgs.png) no-repeat -64px -96px;}
.sendBullet.personLU{ background:url(../img/allbgs.png) no-repeat -96px -96px;}
.sendBullet.personRF{ background:url(../img/allbgs.png) no-repeat -128px -96px;}
.sendBullet.personLF{ background:url(../img/allbgs.png) no-repeat -160px -96px;}
.sendBullet.supportR{ background:url(../img/allbgs.png) no-repeat -192px -96px;}
.sendBullet.supportL{ background:url(../img/allbgs.png) no-repeat -224px -96px;}
#person.cloaking{ background:none;}
.map{ height:480px; background:url(../img/gk1.jpg) repeat-x left top; position:absolute; left:0; top: 0;}
.map-list{ float:left; position:relative;}
.map-list div{ float:left; width:32px; height:32px; background-image:url(../img/allbgs.png); background-repeat:no-repeat;}
.maptype-bare{ background-position: 32px -256px;}
.maptype-land{ background-position: 0 -256px;}
.maptype-stone{ background-position: -32px -256px;}
.maptype-ask{ background:url(../img/map-ask.gif) no-repeat !important;}
.maptype-pipeline1{ background-position: 0 -288px;}
.maptype-pipeline2{ background-position: -32px -288px;}
.maptype-pipeline3{ background-position: 0 -320px;}
.maptype-pipeline4{ background-position: -32px -320px;}
.maptype-rock{ background-position: -64px -320px;}
.maptype-blockhouse{ background:#000 !important;}
.maptype-nothing{ background-position: -64px -288px;}
.maptype-flagTop{background-position: -96px -256px;}
.maptype-flagpole{background-position: -96px -288px;}
.maptype-castleRock1{background-position: -128px -256px;}
.maptype-castleRock2{background-position: -128px -288px;}
.maptype-castleRock3{background-position: -128px -320px;}
.maptype-castleRock4{background-position: -160px -256px;}
.maptype-castleRock5{background-position: -160px -288px;}
.maptype-castleRock6{background-position: -160px -320px;}
.mushroom{ width:32px; height:32px; background:url(../img/mushroom.gif) no-repeat; position:absolute;}
.mushroom.die{ background:url(../img/allbgs.png) no-repeat -32px -160px;}
.mushroom.reverse{ background:url(../img/mushroomR.gif) no-repeat;}
.data_display{ position:absolute; z-index:10; width:100%; font-family:"Press Start"; color:#fafafa; font-size:12px;}
.data_display ul li{ float:left; width:20%; text-align:center; padding:10px 0;}
.score{ font:12px/18px 'Press Start'; color:#fff; position:absolute;}
.gold{ width:32px; height:32px; background:url(../img/gold.gif) no-repeat; position:absolute;}
.largenMushroom{ width:32px; height:32px; background:url(../img/allbgs.png) no-repeat 0 -224px; position:absolute;}
.lifeMushroom{ width:32px; height:32px; background:url(../img/allbgs.png) no-repeat -32px -224px; position:absolute;}
.macadam{ width:16px; height:16px; background:url(../img/macadam.gif) no-repeat; position:absolute;}
.flower{ width:32px; height:32px; background:url(../img/flower.gif) no-repeat; position:absolute;}
.bullet{ width:16px; height:16px; background:url(../img/bullet.gif) no-repeat; position:absolute;}
.explode{ width:32px; height:32px; background:url(../img/allbgs.png) no-repeat 0 -192px; position:absolute;}
.flag{ width:32px; height:32px; background:url(../img/allbgs.png) no-repeat -96px -320px; position:absolute;}
#notice{ background:#000; width:100%; height:100%; position:absolute; z-index:9; color:#fff; display:none;}
#notice .world{ margin-top:150px; color:#fff;text-align:center; font:16px/32px 'Press Start'; }
#notice .world span{ margin-left:20px;}
.life{ margin:20px 0; text-align:center; font:16px/32px 'Press Start'; }
.life span{ display:inline-block; vertical-align:top; margin:0 10px;}
.life span.s1{ width:32px; height:32px; background:url(../img/allbgs.png) no-repeat 0 0;}
.life span.s2{ line-height:20px; padding-top:12px;}
#over{ display:none; background:#000; width:100%; height:100%; position:absolute; z-index:12; color:#fff;font:36px/480px 'Press Start'; text-align:center; }
#text{ display:none; width:350px; margin-top:64px; position:absolute; z-index:10; left:50%; margin-left:-175px; font-family:'Press Start';}
#text .name { background:url(../img/allbgs.png) no-repeat 0 -352px; width:352px; height:176px;}
#text .boo{ text-align:right; color:#FFCCCC;}
#text .explanation{ color:#fff; text-align:center; line-height:32px; font-size:14px;}
#start{ color:#fff; font-size:12px; text-decoration:none;}
@font-face {
font-family: 'Press Start';
src: url('pressstart2p-webfont.eot');
src: url('pressstart2p-webfont.eot?#iefix') format('embedded-opentype'),
url('pressstart2p-webfont.woff') format('woff'),
url('pressstart2p-webfont.ttf') format('truetype'),
url('pressstart2p-webfont.svg#press_start_2pregular') format('svg');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'Super Plumber Bros';
src: url('super_plumber_brothers-webfont.eot');
src: url('super_plumber_brothers-webfont.eot?#iefix') format('embedded-opentype'),
url('super_plumber_brothers-webfont.woff') format('woff'),
url('super_plumber_brothers-webfont.ttf') format('truetype'),
url('super_plumber_brothers-webfont.svg#super_plumber_brothersregular') format('svg');
font-weight: normal;
font-style: normal;
}
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg">
<metadata></metadata>
<defs>
<font id="super_plumber_brothersregular" horiz-adv-x="819" >
<font-face units-per-em="2048" ascent="1536" descent="-512" />
<missing-glyph horiz-adv-x="512" />
<glyph horiz-adv-x="2048" />
<glyph horiz-adv-x="2048" />
<glyph unicode="&#xd;" horiz-adv-x="512" />
<glyph unicode=" " horiz-adv-x="512" />
<glyph unicode="&#x09;" horiz-adv-x="512" />
<glyph unicode="&#xa0;" horiz-adv-x="512" />
<glyph unicode="!" horiz-adv-x="409" d="M-8 -8v422h319v-422h-319zM-8 504v1548h319v-1548h-319z" />
<glyph unicode="&#x22;" d="M-8 1425v627h319v-627h-319zM401 1425v627h320v-627h-320z" />
<glyph unicode="#" horiz-adv-x="1228" d="M-8 965v421h205v91h-205v421h205v154h319v-154h90v154h320v-154h204v-421h-204v-91h204v-421h-204v-154h-320v154h-90v-154h-319v154h-205zM516 1386h90v91h-90v-91z" />
<glyph unicode="$" d="M-8 248v575h319v-409h90v448h-102v51h-102v52h-103v51h-51v102h-51v678h51v102h51v103h51v51h154v154h115v-154h153v-51h51v-103h52v-102h51v-575h-320v409h-90v-397h51v-51h52v-52h102v-51h102v-51h52v-102h51v-678h-51v-103h-52v-102h-51v-51h-153v-154h-115v154h-154 v51h-51v102h-51v103h-51z" />
<glyph unicode="%" horiz-adv-x="870" d="M-8 -8v166h51v204h51v205h51v256h52v205h51v205h51v256h51v205h51v204h52v154h319v-166h-51v-205h-51v-204h-52v-256h-51v-205h-51v-205h-51v-256h-51v-205h-52v-205h-51v-153h-319zM-8 1630v422h319v-422h-319zM453 -8v422h319v-422h-319z" />
<glyph unicode="&#x26;" horiz-adv-x="921" d="M-8 248v729h51v51h51v39h-51v51h-51v678h51v102h51v103h51v51h422v-51h51v-103h52v-102h51v-575h-320v409h-90v-448h103v-269h-103v-499h90v39h-51v370h473v-370h-102v-205h-51v-103h-52v-102h-51v-51h-422v51h-51v102h-51v103h-51z" />
<glyph unicode="'" horiz-adv-x="409" d="M-8 1425v627h319v-627h-319z" />
<glyph unicode="(" horiz-adv-x="512" d="M-8 -213v2470h51v102h51v103h51v51h269v-422h-103v-2138h103v-422h-269v51h-51v103h-51v102h-51z" />
<glyph unicode=")" horiz-adv-x="512" d="M-8 -47h102v2138h-102v422h268v-51h51v-103h51v-102h52v-2470h-52v-102h-51v-103h-51v-51h-268v422z" />
<glyph unicode="*" d="M-8 1681v115h205v51h51v103h51v102h115v-102h51v-103h51v-51h205v-115h-51v-51h-52v-51h-51v-90h51v-154h52v-114h-115v51h-51v51h-103v51h-90v-51h-102v-51h-51v-51h-115v114h51v154h51v90h-51v51h-51v51h-51zM260 1591h39v142h-39v-142zM414 1591h39v142h-39v-142z" />
<glyph unicode="+" horiz-adv-x="1024" d="M-8 811v422h307v409h319v-409h308v-422h-308v-410h-319v410h-307z" />
<glyph unicode="," horiz-adv-x="409" d="M-8 -8v422h319v-627h-166v205h-153z" />
<glyph unicode="-" horiz-adv-x="1024" d="M-8 811v422h934v-422h-934z" />
<glyph unicode="." horiz-adv-x="409" d="M-8 -8v422h319v-422h-319z" />
<glyph unicode="/" horiz-adv-x="870" d="M-8 -8v166h51v204h51v205h51v256h52v205h51v205h51v256h51v205h51v204h52v154h319v-166h-51v-205h-51v-204h-52v-256h-51v-205h-51v-205h-51v-256h-51v-205h-52v-205h-51v-153h-319z" />
<glyph unicode="0" horiz-adv-x="1228" d="M-8 1989v63h166v-102h51v-103h39v51h51v103h51v51h422v-51h51v-103h51v-102h52v-1382h51v-103h51v-102h51v-103h51v-114h-114v51h-51v102h-52v103h-39v-103h-51v-102h-51v-51h-422v51h-51v102h-51v103h-51v1433h-52v103h-51v102h-51v103h-51zM516 414h90v448h-51v103h-39 v-551zM516 1233h51v-103h39v500h-90v-397z" />
<glyph unicode="1" horiz-adv-x="563" d="M-8 1528v370h51v52h51v51h51v51h320v-2060h-320v1638h-39v-51h-51v-51h-63z" />
<glyph unicode="2" d="M-8 -8v422h51v102h51v102h51v103h52v102h51v103h51v102h51v102h51v500h-90v-409h-319v575h51v102h51v103h51v51h422v-51h51v-103h52v-102h51v-575h-51v-103h-52v-102h-51v-103h-51v-102h-51v-102h-51v-103h-52v-102h-51v-90h410v-422h-729z" />
<glyph unicode="3" d="M-8 248v575h319v-409h90v499h-102v269h102v448h-90v-409h-319v575h51v102h51v103h51v51h422v-51h51v-103h52v-102h51v-678h-51v-51h-52v-39h52v-51h51v-729h-51v-103h-52v-102h-51v-51h-422v51h-51v102h-51v103h-51z" />
<glyph unicode="4" horiz-adv-x="921" d="M-8 760v473h51v102h51v103h51v102h52v102h51v103h51v102h51v103h51v102h320v-870h102v-422h-102v-768h-320v768h-409zM260 1182h141v295h-39v-103h-51v-102h-51v-90z" />
<glyph unicode="5" d="M-8 248v626h319v-460h90v704h-409v934h729v-422h-410v-192h256v-52h51v-102h52v-102h51v-934h-51v-103h-52v-102h-51v-51h-422v51h-51v102h-51v103h-51z" />
<glyph unicode="6" d="M-8 248v1548h51v102h51v103h51v51h422v-51h51v-103h52v-102h51v-268h-320v102h-90v-192h256v-52h51v-102h52v-102h51v-934h-51v-103h-52v-102h-51v-51h-422v51h-51v102h-51v103h-51zM311 414h90v704h-90v-704z" />
<glyph unicode="7" d="M-8 -8v166h51v204h51v205h51v205h52v205h51v205h51v204h51v205h51v39h-409v422h729v-473h-51v-205h-52v-205h-51v-204h-51v-205h-51v-205h-51v-205h-52v-205h-51v-153h-319z" />
<glyph unicode="8" d="M-8 248v985h51v51h51v39h-51v51h-51v422h51v102h51v103h51v51h422v-51h51v-103h52v-102h51v-422h-51v-51h-52v-39h52v-51h51v-985h-51v-103h-52v-102h-51v-51h-422v51h-51v102h-51v103h-51zM311 414h90v704h-90v-704zM311 1438h90v192h-90v-192z" />
<glyph unicode="9" d="M-8 248v319h319v-153h90v243h-256v52h-51v102h-51v102h-51v883h51v102h51v103h51v51h422v-51h51v-103h52v-102h51v-1548h-51v-103h-52v-102h-51v-51h-422v51h-51v102h-51v103h-51zM311 977h90v653h-90v-653z" />
<glyph unicode=":" horiz-adv-x="409" d="M-8 -8v422h319v-422h-319zM-8 811v422h319v-422h-319z" />
<glyph unicode=";" horiz-adv-x="409" d="M-8 -8v422h319v-627h-166v205h-153zM-8 811v422h319v-422h-319z" />
<glyph unicode="&#x3c;" d="M-8 913v320h51v51h51v51h51v51h52v52h51v51h51v51h51v51h51v51h52v52h51v51h51v51h51v51h51v51h64v-421h-51v-52h-52v-51h-51v-51h-51v-51h-51v-51h-51v-52h-52v-51h-51v-90h51v-51h52v-51h51v-52h51v-51h51v-51h51v-51h52v-51h51v-422h-64v51h-51v51h-51v51h-51v52h-51 v51h-52v51h-51v51h-51v51h-51v52h-51v51h-52v51h-51v51h-51v51h-51z" />
<glyph unicode="=" horiz-adv-x="1024" d="M-8 504v422h934v-422h-934zM-8 1118v422h934v-422h-934z" />
<glyph unicode="&#x3e;" d="M-8 248v422h51v51h51v51h51v51h52v51h51v52h51v51h51v51h51v90h-51v51h-51v52h-51v51h-51v51h-52v51h-51v51h-51v52h-51v421h63v-51h51v-51h52v-51h51v-51h51v-52h51v-51h51v-51h52v-51h51v-51h51v-52h51v-51h51v-51h52v-51h51v-320h-51v-51h-52v-51h-51v-51h-51v-51h-51 v-52h-51v-51h-52v-51h-51v-51h-51v-51h-51v-52h-51v-51h-52v-51h-51v-51h-63z" />
<glyph unicode="?" d="M-8 1221v575h51v102h51v103h51v51h422v-51h51v-103h52v-102h51v-575h-51v-103h-52v-102h-51v-103h-51v-409h-319v370h51v103h51v102h51v103h51v448h-90v-409h-319zM197 -8v422h319v-422h-319z" />
<glyph unicode="@" horiz-adv-x="1331" d="M-8 248v1548h51v102h51v103h51v51h934v-51h51v-103h52v-102h51v-1036h-51v-103h-52v-102h-51v-51h-524v153h-102v52h-52v102h-51v102h-51v371h51v102h51v103h52v51h268v-51h51v-103h51v-102h51v-358h39v704h-653v-1216h666v-422h-781v51h-51v102h-51v103h-51zM567 977h39 v192h-39v-192z" />
<glyph unicode="A" d="M-8 -8v1804h51v102h51v103h51v51h422v-51h51v-103h52v-102h51v-1804h-320v409h-90v-409h-319zM311 823h90v807h-90v-807z" />
<glyph unicode="B" d="M-8 -8v2060h575v-51h51v-103h52v-102h51v-729h-51v-51h-52v-39h52v-51h51v-678h-51v-103h-52v-102h-51v-51h-217v422h51v397h-51v422h51v397h-90v-1638h-319z" />
<glyph unicode="C" d="M-8 248v1548h51v102h51v103h51v51h422v-51h51v-103h52v-102h51v-575h-320v409h-90v-1216h90v409h320v-575h-51v-103h-52v-102h-51v-51h-422v51h-51v102h-51v103h-51z" />
<glyph unicode="D" d="M-8 -8v2060h575v-51h51v-103h52v-102h51v-1548h-51v-103h-52v-102h-51v-51h-217v422h51v1216h-90v-1638h-319z" />
<glyph unicode="E" d="M-8 -8v2060h729v-422h-410v-1216h410v-422h-729zM350 811v422h371v-422h-371z" />
<glyph unicode="F" d="M-8 -8v2060h729v-422h-410v-1638h-319zM350 811v422h371v-422h-371z" />
<glyph unicode="G" d="M-8 248v1548h51v102h51v103h51v51h422v-51h51v-103h52v-102h51v-371h-320v205h-90v-1216h90v716h320v-882h-51v-103h-52v-102h-51v-51h-422v51h-51v102h-51v103h-51z" />
<glyph unicode="H" d="M-8 -8v2060h319v-819h90v819h320v-2060h-320v819h-90v-819h-319z" />
<glyph unicode="I" horiz-adv-x="409" d="M-8 -8v2060h319v-2060h-319z" />
<glyph unicode="J" d="M-8 248v575h319v-409h90v1638h320v-1804h-51v-103h-52v-102h-51v-51h-422v51h-51v102h-51v103h-51z" />
<glyph unicode="K" d="M-8 -8v2060h319v-819h90v819h320v-985h-51v-51h-52v-39h52v-51h51v-934h-320v819h-90v-819h-319z" />
<glyph unicode="L" d="M-8 -8v2060h319v-1638h410v-422h-729z" />
<glyph unicode="M" horiz-adv-x="1228" d="M-8 -8v1804h51v102h51v103h51v51h269v-51h51v-103h51v-102h90v102h51v103h52v51h268v-51h51v-103h51v-102h51v-1804h-319v1638h-90v-1638h-320v1638h-90v-1638h-319z" />
<glyph unicode="N" d="M-8 -8v1804h51v102h51v103h51v51h422v-51h51v-103h52v-102h51v-1804h-320v1638h-90v-1638h-319z" />
<glyph unicode="O" d="M-8 248v1548h51v102h51v103h51v51h422v-51h51v-103h52v-102h51v-1548h-51v-103h-52v-102h-51v-51h-422v51h-51v102h-51v103h-51zM311 414h90v1216h-90v-1216z" />
<glyph unicode="P" d="M-8 -8v2060h575v-51h51v-103h52v-102h51v-729h-51v-102h-52v-103h-51v-51h-217v422h51v397h-90v-1638h-319z" />
<glyph unicode="Q" horiz-adv-x="972" d="M-8 248v1548h51v102h51v103h51v51h422v-51h51v-103h52v-102h51v-1382h153v-422h-729v51h-51v102h-51v103h-51zM311 414h90v1216h-90v-1216z" />
<glyph unicode="R" d="M-8 -8v2060h575v-51h51v-103h52v-102h51v-729h-51v-51h-52v-39h52v-51h51v-934h-320v819h-51v422h51v397h-90v-1638h-319z" />
<glyph unicode="S" d="M-8 248v575h319v-409h90v448h-102v51h-102v52h-103v51h-51v102h-51v678h51v102h51v103h51v51h422v-51h51v-103h52v-102h51v-575h-320v409h-90v-397h51v-51h52v-52h102v-51h102v-51h52v-102h51v-678h-51v-103h-52v-102h-51v-51h-422v51h-51v102h-51v103h-51z" />
<glyph unicode="T" d="M-8 1630v422h729v-422h-205v-1638h-319v1638h-205z" />
<glyph unicode="U" d="M-8 248v1804h319v-1638h90v1638h320v-1804h-51v-103h-52v-102h-51v-51h-422v51h-51v102h-51v103h-51z" />
<glyph unicode="V" d="M-8 401v1651h319v-1638h90v1638h320v-1651h-51v-51h-52v-102h-51v-51h-51v-103h-51v-51h-51v-51h-115v51h-51v51h-51v103h-52v51h-51v102h-51v51h-51z" />
<glyph unicode="W" horiz-adv-x="1228" d="M-8 248v1804h319v-1638h90v1638h320v-1638h90v1638h319v-1804h-51v-103h-51v-102h-51v-51h-268v51h-52v102h-51v103h-90v-103h-51v-102h-51v-51h-269v51h-51v102h-51v103h-51z" />
<glyph unicode="X" d="M-8 -8v934h51v51h51v39h-51v51h-51v985h319v-819h90v819h320v-985h-51v-51h-52v-39h52v-51h51v-934h-320v819h-90v-819h-319z" />
<glyph unicode="Y" d="M-8 1067v985h319v-819h90v819h320v-985h-51v-51h-52v-51h-51v-52h-51v-921h-319v921h-52v52h-51v51h-51v51h-51z" />
<glyph unicode="Z" d="M-8 -8v473h51v153h51v154h51v154h52v153h51v154h51v153h51v205h51v39h-409v422h729v-524h-51v-103h-52v-153h-51v-205h-51v-205h-51v-153h-51v-205h-52v-90h359v-422h-729z" />
<glyph unicode="[" horiz-adv-x="512" d="M-8 -469v2982h422v-422h-103v-2138h103v-422h-422z" />
<glyph unicode="\" horiz-adv-x="870" d="M-8 1886v166h319v-154h51v-204h52v-205h51v-256h51v-205h51v-205h51v-256h52v-205h51v-204h51v-166h-319v153h-52v205h-51v205h-51v256h-51v205h-51v205h-52v256h-51v204h-51v205h-51z" />
<glyph unicode="]" horiz-adv-x="512" d="M-8 -47h102v2138h-102v422h422v-2982h-422v422z" />
<glyph unicode="^" d="M-8 1221v114h51v103h51v153h51v103h52v153h51v103h51v102h115v-102h51v-103h51v-153h51v-103h51v-153h52v-103h51v-114h-217v102h-51v102h-52v154h-90v-154h-51v-102h-51v-102h-217z" />
<glyph unicode="_" horiz-adv-x="1024" d="M-8 4h934v-422h-934v422z" />
<glyph unicode="`" horiz-adv-x="512" d="M-8 1784v268h319v-102h51v-154h52v-268h-320v102h-51v154h-51z" />
<glyph unicode="a" d="M-8 -8v985h51v102h51v103h51v51h422v-51h51v-103h52v-102h51v-985h-320v256h-90v-256h-319zM311 516h90v295h-90v-295z" />
<glyph unicode="b" d="M-8 -8v1241h575v-51h51v-103h52v-102h51v-320h-51v-51h-52v-39h52v-51h51v-268h-51v-103h-52v-102h-51v-51h-217v819h-39v-819h-319z" />
<glyph unicode="c" d="M-8 248v729h51v102h51v103h51v51h576v-422h-410v-397h410v-422h-576v51h-51v102h-51v103h-51z" />
<glyph unicode="d" d="M-8 -8v1241h575v-51h51v-103h52v-102h51v-729h-51v-103h-52v-102h-51v-51h-217v819h-39v-819h-319z" />
<glyph unicode="e" d="M-8 248v729h51v102h51v103h51v51h576v-422h-410v-397h410v-422h-576v51h-51v102h-51v103h-51zM350 453v319h320v-319h-320z" />
<glyph unicode="f" d="M-8 -8v985h51v102h51v103h51v51h576v-422h-410v-819h-319zM350 453v319h320v-319h-320z" />
<glyph unicode="g" d="M-8 248v729h51v102h51v103h51v51h576v-422h-410v-397h90v204h320v-626h-576v51h-51v102h-51v103h-51z" />
<glyph unicode="h" d="M-8 -8v1241h319v-461h90v461h320v-1241h-320v409h-90v-409h-319z" />
<glyph unicode="i" horiz-adv-x="409" d="M-8 -8v1241h319v-1241h-319z" />
<glyph unicode="j" d="M-8 248v268h319v-102h90v819h320v-985h-51v-103h-52v-102h-51v-51h-422v51h-51v102h-51v103h-51z" />
<glyph unicode="k" d="M-8 -8v1241h319v-461h90v461h320v-576h-51v-51h-52v-39h52v-51h51v-524h-320v409h-90v-409h-319z" />
<glyph unicode="l" d="M-8 -8v1241h319v-819h410v-422h-729z" />
<glyph unicode="m" horiz-adv-x="1228" d="M-8 -8v985h51v102h51v103h51v51h371v-51h51v-52h39v52h51v51h320v-51h51v-103h51v-102h51v-985h-319v819h-90v-819h-320v819h-90v-819h-319z" />
<glyph unicode="n" d="M-8 -8v985h51v102h51v103h51v51h422v-51h51v-103h52v-102h51v-985h-320v819h-90v-819h-319z" />
<glyph unicode="o" d="M-8 248v729h51v102h51v103h51v51h422v-51h51v-103h52v-102h51v-729h-51v-103h-52v-102h-51v-51h-422v51h-51v102h-51v103h-51zM311 414h90v397h-90v-397z" />
<glyph unicode="p" d="M-8 -8v1241h575v-51h51v-103h52v-102h51v-320h-51v-102h-52v-102h-51v-52h-217v410h-39v-819h-319z" />
<glyph unicode="q" horiz-adv-x="921" d="M-8 248v729h51v102h51v103h51v51h422v-51h51v-103h52v-102h51v-563h102v-422h-678v51h-51v102h-51v103h-51zM311 414h90v397h-90v-397z" />
<glyph unicode="r" d="M-8 -8v1241h575v-51h51v-103h52v-102h51v-320h-51v-51h-52v-39h52v-51h51v-524h-320v409h-51v410h-39v-819h-319z" />
<glyph unicode="s" d="M-8 248v166h409v39h-102v51h-102v51h-103v51h-51v103h-51v268h51v102h51v103h51v51h422v-51h51v-103h52v-102h51v-166h-359v-39h52v-51h102v-51h102v-52h52v-102h51v-268h-51v-103h-52v-102h-51v-51h-422v51h-51v102h-51v103h-51z" />
<glyph unicode="t" d="M-8 811v422h729v-422h-205v-819h-319v819h-205z" />
<glyph unicode="u" d="M-8 248v985h319v-819h90v819h320v-985h-51v-103h-52v-102h-51v-51h-422v51h-51v102h-51v103h-51z" />
<glyph unicode="v" d="M-8 401v832h319v-819h90v819h320v-832h-51v-51h-52v-102h-51v-51h-51v-103h-51v-51h-51v-51h-115v51h-51v51h-51v103h-52v51h-51v102h-51v51h-51z" />
<glyph unicode="w" horiz-adv-x="1228" d="M-8 248v985h319v-819h90v819h320v-819h90v819h319v-985h-51v-103h-51v-102h-51v-51h-320v51h-51v51h-39v-51h-51v-51h-371v51h-51v102h-51v103h-51z" />
<glyph unicode="x" d="M-8 -8v524h51v51h51v39h-51v51h-51v576h319v-461h90v461h320v-576h-51v-51h-52v-39h52v-51h51v-524h-320v409h-90v-409h-319z" />
<glyph unicode="y" d="M-8 657v576h319v-461h90v461h320v-576h-51v-51h-52v-51h-51v-51h-51v-512h-319v512h-52v51h-51v51h-51v51h-51z" />
<glyph unicode="z" d="M-8 -8v473h51v51h51v51h51v51h52v52h51v51h51v51h51v39h-358v422h729v-473h-51v-51h-52v-52h-51v-51h-51v-51h-51v-51h-51v-51h-52v-39h359v-422h-729z" />
<glyph unicode="{" horiz-adv-x="614" d="M-8 862v371h102v1024h51v102h52v103h51v51h268v-422h-102v-973h-52v-51h-51v-39h51v-51h52v-1024h102v-422h-268v51h-51v103h-52v102h-51v1075h-102z" />
<glyph unicode="|" horiz-adv-x="409" d="M-8 -469v2982h319v-2982h-319z" />
<glyph unicode="}" horiz-adv-x="614" d="M-8 -47h102v1024h51v51h52v39h-52v51h-51v973h-102v422h268v-51h51v-103h51v-102h52v-1024h102v-371h-102v-1075h-52v-102h-51v-103h-51v-51h-268v422z" />
<glyph unicode="~" horiz-adv-x="1024" d="M-8 709v421h51v52h102v51h217v-51h103v-52h102v-51h51v-51h91v51h51v51h166v-421h-52v-52h-102v-51h-217v51h-102v52h-103v51h-51v51h-90v-51h-51v-51h-166z" />
<glyph unicode="&#xa1;" horiz-adv-x="409" d="M-8 -8v1548h319v-1548h-319zM-8 1630v422h319v-422h-319z" />
<glyph unicode="&#xa2;" d="M-8 248v729h51v102h51v103h51v51h205v153h115v-153h256v-422h-410v-397h410v-422h-256v-154h-115v154h-205v51h-51v102h-51v103h-51z" />
<glyph unicode="&#xa3;" horiz-adv-x="921" d="M-8 -8v422h51v102h51v295h-102v422h102v563h51v102h52v103h51v51h422v-51h51v-103h51v-102h51v-371h-319v205h-90v-1216h409v-422h-831zM453 811v422h370v-422h-370z" />
<glyph unicode="&#xa5;" horiz-adv-x="1024" d="M-8 197v319h307v90h-307v320h256v39h-51v51h-52v51h-51v985h320v-819h90v819h319v-985h-51v-51h-51v-51h-51v-39h256v-320h-308v-90h308v-319h-308v-205h-319v205h-307z" />
<glyph unicode="&#xa9;" horiz-adv-x="512" d="M-8 1733v217h51v51h51v51h217v-51h51v-51h52v-217h-52v-52h-51v-51h-217v51h-51v52h-51zM55 1745h51v-51h193v51h51v192h-51v52h-193v-52h-51v-192zM94 1784v114h51v52h115v-64h-102v-90h102v-63h-115v51h-51z" />
<glyph unicode="&#xad;" horiz-adv-x="1024" d="M-8 811v422h934v-422h-934z" />
<glyph unicode="&#xbf;" d="M-8 248v575h51v103h51v102h51v102h52v410h319v-371h-51v-102h-51v-102h-52v-103h-51v-448h90v409h320v-575h-51v-103h-52v-102h-51v-51h-422v51h-51v102h-51v103h-51zM197 1630v422h319v-422h-319z" />
<glyph unicode="&#xc0;" d="M-8 -8v1804h51v102h51v103h51v51h422v-51h51v-103h52v-102h51v-1804h-320v409h-90v-409h-319zM94 2398v115h320v-103h51v-153h51v-115h-319v103h-52v153h-51zM311 823h90v807h-90v-807z" />
<glyph unicode="&#xc1;" d="M-8 -8v1804h51v102h51v103h51v51h422v-51h51v-103h52v-102h51v-1804h-320v409h-90v-409h-319zM197 2142v115h51v153h51v103h319v-115h-51v-153h-51v-103h-319zM311 823h90v807h-90v-807z" />
<glyph unicode="&#xc2;" d="M-8 -8v1804h51v102h51v103h51v51h422v-51h51v-103h52v-102h51v-1804h-320v409h-90v-409h-319zM94 2142v115h51v102h52v103h51v51h217v-51h51v-103h51v-102h51v-115h-217v103h-90v-103h-217zM311 823h90v807h-90v-807z" />
<glyph unicode="&#xc3;" d="M-8 -8v1804h51v102h51v103h51v51h422v-51h51v-103h52v-102h51v-1804h-320v409h-90v-409h-319zM43 2193v269h51v51h217v-51h154v-52h90v52h115v-269h-52v-51h-217v51h-153v52h-90v-52h-115zM311 823h90v807h-90v-807z" />
<glyph unicode="&#xc4;" d="M-8 -8v1804h51v102h51v103h51v51h422v-51h51v-103h52v-102h51v-1804h-320v409h-90v-409h-319zM43 2142v320h268v-320h-268zM311 823h90v807h-90v-807zM401 2142v320h269v-320h-269z" />
<glyph unicode="&#xc5;" d="M-8 -8v1804h51v102h51v52h51v39h-51v102h-51v268h51v103h51v51h422v-51h51v-103h52v-268h-52v-102h-51v-39h51v-52h52v-102h51v-1804h-320v409h-90v-409h-319zM260 2206h51v-52h90v52h52v39h-52v51h-90v-51h-51v-39zM311 823h90v807h-90v-807z" />
<glyph unicode="&#xc6;" horiz-adv-x="1228" d="M-8 -8v1804h51v102h51v103h51v51h985v-422h-409v-1216h409v-422h-729v409h-90v-409h-319zM311 823h90v807h-90v-807zM760 811v422h370v-422h-370z" />
<glyph unicode="&#xc7;" d="M-8 248v1548h51v102h51v103h51v51h422v-51h51v-103h52v-102h51v-575h-320v409h-90v-1216h90v409h320v-575h-51v-103h-52v-102h-51v-51h-102v-39h153v-51h52v-320h-52v-51h-370v217h205v39h-205v205h-103v51h-51v102h-51v103h-51z" />
<glyph unicode="&#xc8;" d="M-8 -8v2060h729v-422h-410v-1216h410v-422h-729zM94 2398v115h320v-103h51v-153h51v-115h-319v103h-52v153h-51zM350 811v422h371v-422h-371z" />
<glyph unicode="&#xc9;" d="M-8 -8v2060h729v-422h-410v-1216h410v-422h-729zM197 2142v115h51v153h51v103h319v-115h-51v-153h-51v-103h-319zM350 811v422h371v-422h-371z" />
<glyph unicode="&#xca;" d="M-8 -8v2060h729v-422h-410v-1216h410v-422h-729zM94 2142v115h51v102h52v103h51v51h217v-51h51v-103h51v-102h51v-115h-217v103h-90v-103h-217zM350 811v422h371v-422h-371z" />
<glyph unicode="&#xcb;" d="M-8 -8v2060h729v-422h-410v-1216h410v-422h-729zM43 2142v320h268v-320h-268zM350 811v422h371v-422h-371zM401 2142v320h269v-320h-269z" />
<glyph unicode="&#xcc;" horiz-adv-x="512" d="M-8 2398v115h319v-103h51v-153h52v-115h-320v103h-51v153h-51zM94 -8v2060h320v-2060h-320z" />
<glyph unicode="&#xcd;" horiz-adv-x="512" d="M-8 -8v2060h319v-2060h-319zM-8 2142v115h51v153h51v103h320v-115h-52v-153h-51v-103h-319z" />
<glyph unicode="&#xce;" horiz-adv-x="614" d="M-8 2142v115h51v102h51v103h51v51h217v-51h52v-103h51v-102h51v-115h-217v103h-90v-103h-217zM94 -8v2060h320v-2060h-320z" />
<glyph unicode="&#xcf;" horiz-adv-x="716" d="M-8 2142v320h268v-320h-268zM145 -8v2060h320v-2060h-320zM350 2142v320h268v-320h-268z" />
<glyph unicode="&#xd0;" horiz-adv-x="921" d="M-8 811v422h102v819h576v-51h51v-103h51v-102h51v-1548h-51v-103h-51v-102h-51v-51h-217v422h51v1216h-90v-397h51v-422h-51v-819h-320v819h-102z" />
<glyph unicode="&#xd1;" d="M-8 -8v1804h51v102h51v103h51v51h422v-51h51v-103h52v-102h51v-1804h-320v1638h-90v-1638h-319zM43 2193v269h51v51h217v-51h154v-52h90v52h115v-269h-52v-51h-217v51h-153v52h-90v-52h-115z" />
<glyph unicode="&#xd2;" d="M-8 248v1548h51v102h51v103h51v51h422v-51h51v-103h52v-102h51v-1548h-51v-103h-52v-102h-51v-51h-422v51h-51v102h-51v103h-51zM94 2398v115h320v-103h51v-153h51v-115h-319v103h-52v153h-51zM311 414h90v1216h-90v-1216z" />
<glyph unicode="&#xd3;" d="M-8 248v1548h51v102h51v103h51v51h422v-51h51v-103h52v-102h51v-1548h-51v-103h-52v-102h-51v-51h-422v51h-51v102h-51v103h-51zM197 2142v115h51v153h51v103h319v-115h-51v-153h-51v-103h-319zM311 414h90v1216h-90v-1216z" />
<glyph unicode="&#xd4;" d="M-8 248v1548h51v102h51v103h51v51h422v-51h51v-103h52v-102h51v-1548h-51v-103h-52v-102h-51v-51h-422v51h-51v102h-51v103h-51zM94 2142v115h51v102h52v103h51v51h217v-51h51v-103h51v-102h51v-115h-217v103h-90v-103h-217zM311 414h90v1216h-90v-1216z" />
<glyph unicode="&#xd5;" d="M-8 248v1548h51v102h51v103h51v51h422v-51h51v-103h52v-102h51v-1548h-51v-103h-52v-102h-51v-51h-422v51h-51v102h-51v103h-51zM43 2193v269h51v51h217v-51h154v-52h90v52h115v-269h-52v-51h-217v51h-153v52h-90v-52h-115zM311 414h90v1216h-90v-1216z" />
<glyph unicode="&#xd6;" d="M-8 248v1548h51v102h51v103h51v51h422v-51h51v-103h52v-102h51v-1548h-51v-103h-52v-102h-51v-51h-422v51h-51v102h-51v103h-51zM43 2142v320h268v-320h-268zM311 414h90v1216h-90v-1216zM401 2142v320h269v-320h-269z" />
<glyph unicode="&#xd7;" d="M-8 401v320h51v51h51v39h-51v51h-51v371h319v-256h90v256h320v-371h-51v-51h-52v-39h52v-51h51v-320h-320v205h-90v-205h-319z" />
<glyph unicode="&#xd8;" horiz-adv-x="1228" d="M-8 -8v114h51v103h51v102h51v103h52v1382h51v102h51v103h51v51h422v-51h51v-103h51v-51h39v103h52v102h165v-63h-51v-103h-51v-102h-51v-103h-51v-1433h-52v-103h-51v-102h-51v-51h-422v51h-51v102h-51v103h-39v-103h-51v-102h-52v-51h-114zM516 414h90v551h-39v-103h-51 v-448zM516 1130h39v103h51v397h-90v-500z" />
<glyph unicode="&#xd9;" d="M-8 248v1804h319v-1638h90v1638h320v-1804h-51v-103h-52v-102h-51v-51h-422v51h-51v102h-51v103h-51zM94 2398v115h320v-103h51v-153h51v-115h-319v103h-52v153h-51z" />
<glyph unicode="&#xda;" d="M-8 248v1804h319v-1638h90v1638h320v-1804h-51v-103h-52v-102h-51v-51h-422v51h-51v102h-51v103h-51zM197 2142v115h51v153h51v103h319v-115h-51v-153h-51v-103h-319z" />
<glyph unicode="&#xdb;" d="M-8 248v1804h319v-1638h90v1638h320v-1804h-51v-103h-52v-102h-51v-51h-422v51h-51v102h-51v103h-51zM94 2142v115h51v102h52v103h51v51h217v-51h51v-103h51v-102h51v-115h-217v103h-90v-103h-217z" />
<glyph unicode="&#xdc;" d="M-8 248v1804h319v-1638h90v1638h320v-1804h-51v-103h-52v-102h-51v-51h-422v51h-51v102h-51v103h-51zM43 2142v320h268v-320h-268zM401 2142v320h269v-320h-269z" />
<glyph unicode="&#xdd;" d="M-8 1067v985h319v-819h90v819h320v-985h-51v-51h-52v-51h-51v-52h-51v-921h-319v921h-52v52h-51v51h-51v51h-51zM197 2142v115h51v153h51v103h319v-115h-51v-153h-51v-103h-319z" />
<glyph unicode="&#xde;" d="M-8 -8v2060h319v-410h256v-51h51v-102h52v-103h51v-729h-51v-102h-52v-102h-51v-52h-217v422h51v398h-90v-1229h-319z" />
<glyph unicode="&#xdf;" d="M-8 -8v1804h51v102h51v103h51v51h371v-51h51v-103h51v-102h52v-729h-52v-90h52v-51h51v-678h-51v-103h-52v-102h-51v-51h-217v422h51v397h-51v819h-39v-1638h-319z" />
<glyph unicode="&#xe0;" d="M-8 -8v985h51v102h51v103h51v51h422v-51h51v-103h52v-102h51v-985h-320v256h-90v-256h-319zM94 1579v115h320v-103h51v-153h51v-115h-319v102h-52v154h-51zM311 516h90v295h-90v-295z" />
<glyph unicode="&#xe1;" d="M-8 -8v985h51v102h51v103h51v51h422v-51h51v-103h52v-102h51v-985h-320v256h-90v-256h-319zM197 1323v115h51v153h51v103h319v-115h-51v-154h-51v-102h-319zM311 516h90v295h-90v-295z" />
<glyph unicode="&#xe2;" d="M-8 -8v985h51v102h51v103h51v51h422v-51h51v-103h52v-102h51v-985h-320v256h-90v-256h-319zM94 1323v115h51v102h52v102h51v52h217v-52h51v-102h51v-102h51v-115h-217v102h-90v-102h-217zM311 516h90v295h-90v-295z" />
<glyph unicode="&#xe3;" d="M-8 -8v985h51v102h51v103h51v51h422v-51h51v-103h52v-102h51v-985h-320v256h-90v-256h-319zM43 1374v268h51v52h217v-52h154v-51h90v51h115v-268h-52v-51h-217v51h-153v51h-90v-51h-115zM311 516h90v295h-90v-295z" />
<glyph unicode="&#xe4;" d="M-8 -8v985h51v102h51v103h51v51h422v-51h51v-103h52v-102h51v-985h-320v256h-90v-256h-319zM43 1323v319h268v-319h-268zM311 516h90v295h-90v-295zM401 1323v319h269v-319h-269z" />
<glyph unicode="&#xe5;" d="M-8 -8v985h51v102h51v103h51v51h422v-51h51v-103h52v-102h51v-985h-320v256h-90v-256h-319zM43 1477v268h51v102h51v51h422v-51h51v-102h52v-268h-52v-103h-51v-51h-422v51h-51v103h-51zM260 1591h51v-51h90v51h52v39h-52v51h-90v-51h-51v-39zM311 516h90v295h-90v-295z " />
<glyph unicode="&#xe6;" horiz-adv-x="1228" d="M-8 -8v985h51v102h51v103h51v51h985v-422h-409v-397h409v-422h-729v256h-90v-256h-319zM311 516h90v295h-90v-295zM760 453v319h319v-319h-319z" />
<glyph unicode="&#xe7;" d="M-8 248v729h51v102h51v103h51v51h576v-422h-410v-397h410v-422h-256v-39h153v-51h52v-320h-52v-51h-370v217h205v39h-205v205h-103v51h-51v102h-51v103h-51z" />
<glyph unicode="&#xe8;" d="M-8 248v729h51v102h51v103h51v51h576v-422h-410v-397h410v-422h-576v51h-51v102h-51v103h-51zM94 1579v115h320v-103h51v-153h51v-115h-319v102h-52v154h-51zM350 453v319h320v-319h-320z" />
<glyph unicode="&#xe9;" d="M-8 248v729h51v102h51v103h51v51h576v-422h-410v-397h410v-422h-576v51h-51v102h-51v103h-51zM197 1323v115h51v153h51v103h319v-115h-51v-154h-51v-102h-319zM350 453v319h320v-319h-320z" />
<glyph unicode="&#xea;" d="M-8 248v729h51v102h51v103h51v51h576v-422h-410v-397h410v-422h-576v51h-51v102h-51v103h-51zM94 1323v115h51v102h52v102h51v52h217v-52h51v-102h51v-102h51v-115h-217v102h-90v-102h-217zM350 453v319h320v-319h-320z" />
<glyph unicode="&#xeb;" d="M-8 248v729h51v102h51v103h51v51h576v-422h-410v-397h410v-422h-576v51h-51v102h-51v103h-51zM43 1323v319h268v-319h-268zM350 453v319h320v-319h-320zM401 1323v319h269v-319h-269z" />
<glyph unicode="&#xec;" horiz-adv-x="512" d="M-8 1579v115h319v-103h51v-153h52v-115h-320v102h-51v154h-51zM94 -8v1241h320v-1241h-320z" />
<glyph unicode="&#xed;" horiz-adv-x="512" d="M-8 -8v1241h319v-1241h-319zM-8 1323v115h51v153h51v103h320v-115h-52v-154h-51v-102h-319z" />
<glyph unicode="&#xee;" horiz-adv-x="614" d="M-8 1323v115h51v102h51v102h51v52h217v-52h52v-102h51v-102h51v-115h-217v102h-90v-102h-217zM94 -8v1241h320v-1241h-320z" />
<glyph unicode="&#xef;" horiz-adv-x="716" d="M-8 1323v319h268v-319h-268zM145 -8v1241h320v-1241h-320zM350 1323v319h268v-319h-268z" />
<glyph unicode="&#xf0;" horiz-adv-x="972" d="M-8 248v729h51v102h51v103h51v51h256v192h-153v422h153v205h320v-205h153v-422h-153v-1177h-51v-103h-52v-102h-51v-51h-422v51h-51v102h-51v103h-51zM311 414h90v397h-90v-397z" />
<glyph unicode="&#xf1;" d="M-8 -8v985h51v102h51v103h51v51h422v-51h51v-103h52v-102h51v-985h-320v819h-90v-819h-319zM43 1374v268h51v52h217v-52h154v-51h90v51h115v-268h-52v-51h-217v51h-153v51h-90v-51h-115z" />
<glyph unicode="&#xf2;" d="M-8 248v729h51v102h51v103h51v51h422v-51h51v-103h52v-102h51v-729h-51v-103h-52v-102h-51v-51h-422v51h-51v102h-51v103h-51zM94 1579v115h320v-103h51v-153h51v-115h-319v102h-52v154h-51zM311 414h90v397h-90v-397z" />
<glyph unicode="&#xf3;" d="M-8 248v729h51v102h51v103h51v51h422v-51h51v-103h52v-102h51v-729h-51v-103h-52v-102h-51v-51h-422v51h-51v102h-51v103h-51zM197 1323v115h51v153h51v103h319v-115h-51v-154h-51v-102h-319zM311 414h90v397h-90v-397z" />
<glyph unicode="&#xf4;" d="M-8 248v729h51v102h51v103h51v51h422v-51h51v-103h52v-102h51v-729h-51v-103h-52v-102h-51v-51h-422v51h-51v102h-51v103h-51zM94 1323v115h51v102h52v102h51v52h217v-52h51v-102h51v-102h51v-115h-217v102h-90v-102h-217zM311 414h90v397h-90v-397z" />
<glyph unicode="&#xf5;" d="M-8 248v729h51v102h51v103h51v51h422v-51h51v-103h52v-102h51v-729h-51v-103h-52v-102h-51v-51h-422v51h-51v102h-51v103h-51zM43 1374v268h51v52h217v-52h154v-51h90v51h115v-268h-52v-51h-217v51h-153v51h-90v-51h-115zM311 414h90v397h-90v-397z" />
<glyph unicode="&#xf6;" d="M-8 248v729h51v102h51v103h51v51h422v-51h51v-103h52v-102h51v-729h-51v-103h-52v-102h-51v-51h-422v51h-51v102h-51v103h-51zM43 1323v319h268v-319h-268zM311 414h90v397h-90v-397zM401 1323v319h269v-319h-269z" />
<glyph unicode="&#xf7;" horiz-adv-x="1024" d="M-8 811v422h934v-422h-934zM299 197v421h319v-421h-319zM299 1425v422h319v-422h-319z" />
<glyph unicode="&#xf8;" horiz-adv-x="1024" d="M-8 -8v114h51v103h51v768h51v102h52v103h51v51h422v-51h51v-52h90v103h115v-115h-52v-102h-51v-768h-51v-103h-51v-102h-51v-51h-422v51h-51v51h-91v-102h-114zM414 414h90v141h-39v-102h-51v-39zM414 670h39v102h51v39h-90v-141z" />
<glyph unicode="&#xf9;" d="M-8 248v985h319v-819h90v819h320v-985h-51v-103h-52v-102h-51v-51h-422v51h-51v102h-51v103h-51zM94 1579v115h320v-103h51v-153h51v-115h-319v102h-52v154h-51z" />
<glyph unicode="&#xfa;" d="M-8 248v985h319v-819h90v819h320v-985h-51v-103h-52v-102h-51v-51h-422v51h-51v102h-51v103h-51zM197 1323v115h51v153h51v103h319v-115h-51v-154h-51v-102h-319z" />
<glyph unicode="&#xfb;" d="M-8 248v985h319v-819h90v819h320v-985h-51v-103h-52v-102h-51v-51h-422v51h-51v102h-51v103h-51zM94 1323v115h51v102h52v102h51v52h217v-52h51v-102h51v-102h51v-115h-217v102h-90v-102h-217z" />
<glyph unicode="&#xfc;" d="M-8 248v985h319v-819h90v819h320v-985h-51v-103h-52v-102h-51v-51h-422v51h-51v102h-51v103h-51zM43 1323v319h268v-319h-268zM401 1323v319h269v-319h-269z" />
<glyph unicode="&#xfd;" d="M-8 657v576h319v-461h90v461h320v-576h-51v-51h-52v-51h-51v-51h-51v-512h-319v512h-52v51h-51v51h-51v51h-51zM197 1323v115h51v153h51v103h319v-115h-51v-154h-51v-102h-319z" />
<glyph unicode="&#xfe;" d="M-8 -8v1241h319v-205h256v-51h51v-103h52v-102h51v-319h-51v-103h-52v-102h-51v-51h-217v409h-39v-614h-319z" />
<glyph unicode="&#xff;" d="M-8 657v576h319v-461h90v461h320v-576h-51v-51h-52v-51h-51v-51h-51v-512h-319v512h-52v51h-51v51h-51v51h-51zM43 1323v319h268v-319h-268zM401 1323v319h269v-319h-269z" />
<glyph unicode="&#x178;" d="M-8 1067v985h319v-819h90v819h320v-985h-51v-51h-52v-51h-51v-52h-51v-921h-319v921h-52v52h-51v51h-51v51h-51zM43 2142v320h268v-320h-268zM401 2142v320h269v-320h-269z" />
<glyph unicode="&#x2000;" horiz-adv-x="1256" />
<glyph unicode="&#x2001;" horiz-adv-x="2513" />
<glyph unicode="&#x2002;" horiz-adv-x="1256" />
<glyph unicode="&#x2003;" horiz-adv-x="2513" />
<glyph unicode="&#x2004;" horiz-adv-x="837" />
<glyph unicode="&#x2005;" horiz-adv-x="628" />
<glyph unicode="&#x2006;" horiz-adv-x="418" />
<glyph unicode="&#x2007;" horiz-adv-x="418" />
<glyph unicode="&#x2008;" horiz-adv-x="314" />
<glyph unicode="&#x2009;" horiz-adv-x="502" />
<glyph unicode="&#x200a;" horiz-adv-x="139" />
<glyph unicode="&#x2010;" horiz-adv-x="1024" d="M-8 811v422h934v-422h-934z" />
<glyph unicode="&#x2011;" horiz-adv-x="1024" d="M-8 811v422h934v-422h-934z" />
<glyph unicode="&#x2012;" horiz-adv-x="1024" d="M-8 811v422h934v-422h-934z" />
<glyph unicode="&#x2013;" horiz-adv-x="1114" d="M-8 811v422h1024v-422h-1024z" />
<glyph unicode="&#x2014;" horiz-adv-x="2138" d="M-8 811v422h2048v-422h-2048z" />
<glyph unicode="&#x202f;" horiz-adv-x="502" />
<glyph unicode="&#x205f;" horiz-adv-x="628" />
<glyph unicode="&#x20ac;" horiz-adv-x="921" d="M-8 606v371h102v90h-102v371h102v358h51v102h52v103h51v51h422v-51h51v-103h51v-102h51v-268h-319v102h-90v-1216h90v102h319v-268h-51v-103h-51v-102h-51v-51h-422v51h-51v102h-52v103h-51v358h-102zM453 606v371h370v-371h-370zM453 1067v371h370v-371h-370z" />
<glyph unicode="&#xe000;" horiz-adv-x="1228" d="M0 0v1229h1229v-1229h-1229z" />
</font>
</defs></svg>
\ No newline at end of file
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>超级玛丽</title>
<link href="css/style.css" rel="stylesheet" type="text/css">
<script src="js/base.js"></script>
<script src="js/js.js"></script>
<script>
window.onload = function(){
Game.loading();
}
</script>
</head>
<body>
<div id="main">
<div id="text">
<div class="name"></div>
<div class="boo">©1985 NINTENDO</div>
<p class="explanation">Left: A Right: D<br>Jump: K Fire: J<br>START GAME:H</p>
</div>
<div id="notice">
<div class="world">WORLD<span>0</span></div>
<div class="life"><span class="s1"></span><span class="s2">×</span><span class="s2">3</span></div>
</div>
<div id="over">GAME OVER</div>
</div>
<audio autoplay loop>
<source src="Sounds/Themes/mp3/Overworld.mp3">
<source src="Sounds/Themes/ogg/Overworld.ogg">
</audio>
</body>
</html>
/**
*根据id获取元素对象
*/
function $(id){
return document.getElementById(id);
}
/**
*可视区高度
*/
function clientH(){
return document.documentElement.clientHeight;
}
/**
*可视区宽度
*/
function clientW(){
return document.documentElement.clientWidth;
}
/**
*纵向滚动条距离
*/
function scrollH(){
return document.documentElement.scrollTop || document.body.scrollTop;
}
/**
*横向滚动条距离
*/
function scrollW(){
return document.documentElement.scrollLeft || document.body.scrollLeft;
}
/**
*
*相对位置Top
*
*/
function posTop(obj){
var iTop = 0;
while(obj){
iTop += obj.offsetTop;
obj = obj.offsetParent;
};
return iTop;
}
/**
*
*相对位置Left
*
*/
function posLeft(obj){
var iLeft = 0;
while(obj){
iLeft += obj.offsetLeft;
obj = obj.offsetParent;
};
return iLeft;
}
/**
*
*获取样式
*
*/
function getStyle(obj,attr){
if(obj.currentStyle){
return obj.currentStyle[attr];
}
return getComputedStyle(obj,false)[attr];
}
/**
* 提取oParent下class为strClass的obj元素
*/
function getByClass(oParent,sClass,sTag){
var reg = null;
var str = '';
if(typeof arguments[1] == 'string'){
reg = new RegExp('(^|\\s)' + sClass + '(\\s|$)');
}else if(typeof arguments[1] == 'object'){
for(var i = 0; i < sClass.length; i++){
if(i != sClass.length - 1){
str += sClass[i] + '|';
}else{
str += sClass[i];
}
}
reg = new RegExp('(^|\\s)(' + str + ')(\\s|$)');
}
var rtnElem = [];
var arr = [];
if(!sTag){
arr = oParent.getElementsByTagName('*');
}else{
arr = oParent.getElementsByTagName(sTag);
}
for(var i = 0,len = arr.length; i < len; i++){
if(reg.test(arr[i].className)){
rtnElem.push(arr[i]);
}
}
return rtnElem
}
/**
* 运动到特定位置,速度版
*/
function startMove(obj,json,fn){
clearInterval(obj.time);
obj.time = setInterval(function(){
var bStop = true;
var iCur = 0;
var iSpeed = 0;
for(var attr in json){
if(attr == 'opacity'){
if(Math.round(Math.parseFloat(getStyle(obj,attr) * 100)) == 0){
iCur = Math.round(Math.parseFloat(getStyle(obj,attr) * 100));
}else{
iCur = Math.round(Math.parseFloat(getStyle(obj,attr) * 100)) || 100;
}
}else{
iCur = parseInt(getStyle(obj,attr)) || 0;
}
if(iCur != json[attr]){
bStop = false;
}
iSpeed = (json[attr] - iCur) / 8;
iSpeed = iSpeed > 0 ? Math.ceil(iSpeed) : Math.floor(iSpeed);
if(attr == 'opacity'){
obj.style.filter = 'alpha(opacity=' + (iCur + iSpeed) + ')';
obj.style.opacity = (iCur + iSpeed) / 100;
}else{
obj.style[attr] = (iCur + iSpeed) + 'px';
}
}
if(bStop){
clearInterval(obj.time);
fn && fn();
}
},32);
}
var Tween = {
linear: function (t, b, c, d){ //匀速
return c*t/d + b;
},
easeIn: function(t, b, c, d){ //慢到快
return c*(t/=d)*t + b;
},
easeOut: function(t, b, c, d){ //快到慢
return -c *(t/=d)*(t-2) + b;
},
easeBoth: function(t, b, c, d){ //慢快慢
if ((t/=d/2) < 1) {
return c/2*t*t + b;
}
return -c/2 * ((--t)*(t-2) - 1) + b;
},
easeInStrong: function(t, b, c, d){
return c*(t/=d)*t*t*t + b;
},
easeOutStrong: function(t, b, c, d){
return -c * ((t=t/d-1)*t*t*t - 1) + b;
},
easeBothStrong: function(t, b, c, d){
if ((t/=d/2) < 1) {
return c/2*t*t*t*t + b;
}
return -c/2 * ((t-=2)*t*t*t - 2) + b;
},
elasticIn: function(t, b, c, d, a, p){
if (t === 0) {
return b;
}
if ( (t /= d) == 1 ) {
return b+c;
}
if (!p) {
p=d*0.3;
}
if (!a || a < Math.abs(c)) {
a = c;
var s = p/4;
} else {
var s = p/(2*Math.PI) * Math.asin (c/a);
}
return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
},
elasticOut: function(t, b, c, d, a, p){
if (t === 0) {
return b;
}
if ( (t /= d) == 1 ) {
return b+c;
}
if (!p) {
p=d*0.3;
}
if (!a || a < Math.abs(c)) {
a = c;
var s = p / 4;
} else {
var s = p/(2*Math.PI) * Math.asin (c/a);
}
return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
},
elasticBoth: function(t, b, c, d, a, p){
if (t === 0) {
return b;
}
if ( (t /= d/2) == 2 ) {
return b+c;
}
if (!p) {
p = d*(0.3*1.5);
}
if ( !a || a < Math.abs(c) ) {
a = c;
var s = p/4;
}
else {
var s = p/(2*Math.PI) * Math.asin (c/a);
}
if (t < 1) {
return - 0.5*(a*Math.pow(2,10*(t-=1)) *
Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
}
return a*Math.pow(2,-10*(t-=1)) *
Math.sin( (t*d-s)*(2*Math.PI)/p )*0.5 + c + b;
},
backIn: function(t, b, c, d, s){
if (typeof s == 'undefined') {
s = 1.70158;
}
return c*(t/=d)*t*((s+1)*t - s) + b;
},
backOut: function(t, b, c, d, s){
if (typeof s == 'undefined') {
s = 3.70158; //回缩的距离
}
return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
},
backBoth: function(t, b, c, d, s){
if (typeof s == 'undefined') {
s = 1.70158;
}
if ((t /= d/2 ) < 1) {
return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
}
return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
},
bounceIn: function(t, b, c, d){
return c - Tween['bounceOut'](d-t, 0, c, d) + b;
},
bounceOut: function(t, b, c, d){
if ((t/=d) < (1/2.75)) {
return c*(7.5625*t*t) + b;
} else if (t < (2/2.75)) {
return c*(7.5625*(t-=(1.5/2.75))*t + 0.75) + b;
} else if (t < (2.5/2.75)) {
return c*(7.5625*(t-=(2.25/2.75))*t + 0.9375) + b;
}
return c*(7.5625*(t-=(2.625/2.75))*t + 0.984375) + b;
},
bounceBoth: function(t, b, c, d){
if (t < d/2) {
return Tween['bounceIn'](t*2, 0, c, d) * 0.5 + b;
}
return Tween['bounceOut'](t*2-d, 0, c, d) * 0.5 + c*0.5 + b;
}
}
/**
* 同时间运动
*/
function startMoveTime(obj,json,times,fx,fn){
var iCur = {};
if( typeof times == 'undefined' ){
times = 400;
fx = 'linear';
}
if( typeof times == 'string' ){
if(typeof fx == 'function'){
fn = fx;
}
fx = times;
times = 400;
}
else if(typeof times == 'function'){
fn = times;
times = 400;
fx = 'linear';
}
else if(typeof times == 'number'){
if(typeof fx == 'function'){
fn = fx;
fx = 'linear';
}
else if(typeof fx == 'undefined'){
fx = 'linear';
}
}
var startTime = nowTime();
for(var attr in json){
iCur[attr] = 0;
if(attr == 'opacity'){
iCur[attr] = Math.round(getStyle(obj,attr)*100);
}
else{
iCur[attr] = parseInt(getStyle(obj,attr));
}
}
clearInterval(obj.timer);
obj.timer = setInterval(function(){
var changeTime = nowTime();
var scale = 1 - Math.max(0,startTime + times - changeTime)/times;
// scale : 2000 - 0 : 1 - 0 : 0 - 1
for(var attr in json){
var value = Tween[fx](scale*times,iCur[attr],json[attr] - iCur[attr],times);
if(attr == 'opacity'){
obj.style.filter = 'alpha(opacity='+ value +')';
obj.style.opacity = value/100;
}
else{
obj.style[attr] = value + 'px';
}
}
if(scale == 1){
clearInterval(obj.timer);
if(fn){
fn();
}
}
},13);
function nowTime(){
return (new Date()).getTime();
}
}
/**
* 给元素添加class;
*/
function addClass(obj,sClass){
var aClass = obj.className.split(' ');
if(!obj.className){
obj.className = sClass;
return;
}
for(var i=0; i<aClass.length; i++){
if(aClass[i] === sClass)return;
}
obj.className += ' ' + sClass;
}
/**
* 给元素删除class;
*/
function removeClass(obj,sClass){
var aClass = obj.className.split(' ');
if(!aClass[0])return;
for(var i=0; i<aClass.length; i++){
if(aClass[i] === sClass){
aClass.splice(i,1);
obj.className = aClass.join(' ');
return;
}
}
}
/**
* 预加载;
*/
function imgLoad(url, callback) {
var img = new Image();
img.src = url;
if (img.complete) {
callback(img.width, img.height);
} else {
img.onload = function () {
callback(img.width, img.height);
img.onload = null;
};
};
};
\ No newline at end of file
var Game = {
data : ['SCORE','COINS','WORLD','TIME','LIVES'],
imgs : ['img/gk1.jpg','img/allbgs.png','img/move.gif','img/bullet.gif','img/flower.gif','img/gold.gif','img/macadam.gif','img/map-ask.gif','img/mushroom.gif','img/mushroomR.gif'],
gk : { //关卡的数据
units : 32, //宽高
type : { //地图样式
0 : 'maptype-bare',
1 : 'maptype-land',
2 : 'maptype-stone',
3 : 'maptype-ask',
4 : 'maptype-pipeline1',
5 : 'maptype-pipeline2',
6 : 'maptype-pipeline3',
7 : 'maptype-pipeline4',
8 : 'maptype-rock',
9 : 'maptype-nothing',
10: 'maptype-blockhouse',
11: 'maptype-flagTop',
12: 'maptype-flagpole',
13: 'maptype-castleRock1',
14: 'maptype-castleRock2',
15: 'maptype-castleRock3',
16: 'maptype-castleRock4',
17: 'maptype-castleRock5',
18: 'maptype-castleRock6'
},
flag : {
style : 'flag',
score : 2000
},
annexs : [
{},
{
style : 'gold',
score : 200
},
{
style : 'largenMushroom',
score : 1000,
effect : 'bigStyle',
iSpeedX : 4,
iSpeedY : 8
},
{
style : 'flower',
score : 1000,
effect : 'sendBulletStyle'
},
{
style : 'lifeMushroom',
text : '1UP',
effect : 'life',
iSpeedX : 4,
iSpeedY : 8
},
],
level_1 : { //第一关
style : 'map-list',
personX : 80,
personY : 384,
obstacles : [
[
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1'],
['1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1']
],
[
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','3-1','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['3-1','0','0','0','2','3-2','2','3-1','2','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','4','5','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','6','7','0','0'],
['1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1'],
['1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1']
],
[
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','4','5'],
['0','0','0','0','0','0','4','5','0','0','0','0','0','0','6','7'],
['0','0','0','0','0','0','6','7','0','0','0','0','0','0','6','7'],
['0','0','0','0','0','0','6','7','0','0','0','0','0','0','6','7'],
['1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1'],
['1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1']
],
[
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','4','5','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','6','7','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','6','7','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','6','7','0','0','0','0','0'],
['1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1'],
['1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1']
],
[
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0-4','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','2','3-2','2'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['1','1','1','1','1','0','0','1','1','1','1','1','1','1','1','1'],
['1','1','1','1','1','0','0','1','1','1','1','1','1','1','1','1']
],
[
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['2','2','2','2','2','2','2','2','0','0','0','2','2','2','3-1','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','2-1','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['1','1','1','1','1','1','0','0','0','1','1','1','1','1','1','1'],
['1','1','1','1','1','1','0','0','0','1','1','1','1','1','1','1']
],
[
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','3-2','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','2','2','0','0','0','0','3-1','0','0','3-1','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1'],
['1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1']
],
[
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','2','2','2','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['3-1','0','0','0','0','0','2','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1'],
['1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1']
],
[
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['2','3-1','3-1','2','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','2','2','0','0','0','0','0','0','8','0','0','8','0','0','0'],
['0','0','0','0','0','0','0','0','8','8','0','0','8','8','0','0'],
['0','0','0','0','0','0','0','8','8','8','0','0','8','8','8','0'],
['0','0','0','0','0','0','8','8','8','8','0','0','8','8','8','8'],
['1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1'],
['1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1']
],
[
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','8','8','0','0','8','0','0','0','0'],
['0','0','0','0','0','0','8','8','8','0','0','8','8','0','0','0'],
['0','0','0','0','0','8','8','8','8','0','0','8','8','8','0','0'],
['0','0','0','0','8','8','8','8','8','0','0','8','8','8','8','0'],
['1','1','1','1','1','1','1','1','1','0','0','1','1','1','1','1'],
['1','1','1','1','1','1','1','1','1','0','0','1','1','1','1','1']
],
[
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','2','2','3-1','2','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','4','5','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','6','7','0','0','0','0','0','0','0','0','0','0','0'],
['1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1'],
['1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1']
],
[
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','8','8','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','8','8','8','0','0'],
['0','0','0','0','0','0','0','0','0','0','8','8','8','8','0','0'],
['0','0','0','0','0','0','0','0','0','8','8','8','8','8','0','0'],
['0','0','0','0','0','0','0','0','8','8','8','8','8','8','0','0'],
['0','0','0','0','0','0','0','8','8','8','8','8','8','8','0','0'],
['0','0','0','4','5','0','8','8','8','8','8','8','8','8','0','0'],
['0','0','0','6','7','8','8','8','8','8','8','8','8','8','0','0'],
['1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1'],
['1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1']
],
[
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','11','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','12','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','12','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','12','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','12','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','12','0','0','0','0','0','0','0','0'],
['0','0','0','0','0','0','0','12','0','0','0','0','13','13','13','0'],
['0','0','0','0','0','0','0','12','0','0','0','0','14','18','17','0'],
['0','0','0','0','0','0','0','12','0','0','0','13','15','15','15','13'],
['0','0','0','0','0','0','0','12','0','0','0','18','18','16','18','18'],
['0','0','0','0','0','0','0','8','0','0','0','18','18','10','18','18'],
['1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1'],
['1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1']
]
],
enemyPosition : [
{
X : 640,
Y : 384,
type : 'mushroom'
},
{
X : 1376,
Y : 384,
type : 'mushroom'
},
{
X : 1664,
Y : 384,
type : 'mushroom'
},
{
X : 1700,
Y : 384,
type : 'mushroom'
},
{
X : 2560,
Y : 128,
type : 'mushroom'
},
{
X : 2608,
Y : 128,
type : 'mushroom'
},
{
X : 3040,
Y : 384,
type : 'mushroom'
},
{
X : 3088,
Y : 384,
type : 'mushroom'
},
{
X : 3616,
Y : 384,
type : 'mushroom'
},
{
X : 3664,
Y : 384,
type : 'mushroom'
},
{
X : 3936,
Y : 384,
type : 'mushroom'
},
{
X : 3984,
Y : 384,
type : 'mushroom'
},
{
X : 4064,
Y : 384,
type : 'mushroom'
},
{
X : 4112,
Y : 384,
type : 'mushroom'
},
{
X : 5504,
Y : 384,
type : 'mushroom'
},
{
X : 5552,
Y : 384,
type : 'mushroom'
}
]
},
times : 400
},
start : 72,
mario : { //马里奥数据
id : 'person',
style : 'base',
bigStyle : 'big',
sendBulletStyle : 'sendBullet',
leftStyle : 'personL',
rightStyle : 'personR',
leftMoveStyle : 'personLM',
rightMoveStyle : 'personRM',
leftJumpStyle : 'personLU',
rightJumpStyle : 'personRU',
leftFStyle : 'personLF',
rightFStyle : 'personRF',
supportLStyle : 'supportL',
supportRStyle : 'supportR',
dieStyle : 'die',
life : 3,
marioSpeedX : 6,
marioSpeedY : 8,
jumpHigh : 128,
acceleratedSpeedX : .2,
bind : {
left : 65,
right : 68,
jump : 75,
sendBullet : 74
},
bullet : {
style : 'bullet',
speed : 8,
explode : 'explode'
}
},
enemy : { //敌人数据
mushroom : {
style : 'mushroom',
reStyle : 'reverse',
iSpeedX : -2,
iSpeedY : 8,
score : 100
}
},
loading : function(){
var iNow = 0;
var This = this;
for(var i=0; i<this.imgs.length; i++){
this.imgLoad(this.imgs[i],function(){
iNow ++;
if(iNow == This.imgs.length){
This.init();
}
});
}
},
init : function(){ //初始化
this.gameWrap = $("main");
this.gameText = $("text");
this.gameNotice = $("notice")
this.over = $("over");
this.blood = 0;
this.gkNum = 1;
this.pause = false;
this.gameStart();
},
gameStart : function(){
var This = this;
this.gameText.style.display = "block";
this.createData();
this.createMap(this.gkNum);
this.createMario();
this.createAllEnemy();
document.onkeydown = function(ev){
var ev = ev || window.event;
if(ev.keyCode == 72){
document.onkeydown = null;
This.gameText.style.display = "none";
This.showLives();
This.showNotice();
}
return false;
}
},
redraw : function(){ //重绘
if(this.blood == 0){
this.gameOver();
return;
}
this.showNotice();
if(this.gameMap){
this.gameWrap.removeChild(this.gameMap);
}
this.createMap(this.gkNum);
this.createMario();
this.createAllEnemy();
},
showNotice : function(){ //显示公告
var This = this;
var aSpan = this.gameNotice.getElementsByTagName("span");
this.gameNotice.style.display = 'block';
aSpan[0].innerHTML = this.world.innerHTML;
aSpan[3].innerHTML = this.blood;
setTimeout(function(){
This.gameNotice.style.display = 'none';
This.countDown(); // 重新计时
This.bindMario(); // 操作玛丽奥
},2000)
},
gameOver : function(){
var This = this;
this.over.style.display = 'block';
this.gameWrap.removeChild(this.gameMap);
this.gameWrap.removeChild(this.oDataDisplay);
setTimeout(function(){
This.over.style.display = 'none';
This.gameStart();
},5000)
},
showLives : function(){ //显示生命
this.blood = this.mario.life;
this.lives.innerHTML = this.blood;
},
countDown : function(){ //倒计时
var This = this;
this.time.innerHTML = this.gk.times;
clearInterval(this.timeTimer);
this.timeTimer = setInterval(function(){
This.time.innerHTML = parseInt(This.time.innerHTML) - 1;
if(parseInt(This.time.innerHTML) == 0){
clearInterval(This.timeTimer);
This.delMario()
};
},500)
},
createMap : function(iNow){ //创建地图
this.level = this.gk["level_"+iNow];
this.lengthBg = this.level.obstacles.length;
this.mapType = [];
this.flagpole = [];
this.flagTop = null;
this.blockhouse = null;
this.world.innerHTML = iNow;
var iW = 0,
arr = [],
oList,
oDiv,
piece,
gameMap = document.createElement("div");
gameMap.className = 'map';
for(var i=0; i<this.lengthBg; i++){
oList = document.createElement("div");
oList.className = this.level.style;
this.mapType[i] = [];
for(var j=0; j<this.level.obstacles[i].length; j++){
for(var k=0; k<this.level.obstacles[i][j].length; k++){
oDiv = document.createElement("div");
piece = this.level.obstacles[i][j][k].split('-');
oDiv.className = this.gk.type[piece[0]];
oDiv.type = parseInt(piece[0]);
oDiv.annexs = parseInt(piece[1] || 0);
oDiv.isCollide = false;
if(oDiv.type == 10){
this.blockhouse = oDiv;
}else if(oDiv.type == 11){
this.flagTop = oDiv;
}else if(oDiv.type == 12){
this.flagpole.push(oDiv);
};
oList.appendChild(oDiv);
this.mapType[i].push(oDiv);
}
oList.style.width = this.level.obstacles[i][j].length * this.gk.units + 'px';
}
oList.style.height = this.level.obstacles[i].length * this.gk.units + 'px';
this.mapType.push(this.mapType[i]);
iW += parseInt(oList.style.width);
gameMap.appendChild(oList);
}
gameMap.style.width = iW + 'px';
this.gameWrap.appendChild(gameMap);
//布局转换
for(var i=0; i<this.mapType.length; i++){
var arr1 = [];
for(var j=0; j<this.mapType[i].length; j++){
arr1.push([this.mapType[i][j].offsetLeft,this.mapType[i][j].offsetTop]);
}
arr.push(arr1);
}
for(var i=0; i<arr.length; i++){
for(var j=0; j<arr[i].length; j++){
this.mapType[i][j].style.position = 'absolute';
this.mapType[i][j].style.left = arr[i][j][0] + 'px';
this.mapType[i][j].style.top = arr[i][j][1] + 'px';
}
}
this.gameMap = gameMap;
this.createFlag();
},
createFlag : function(){ // 创建旗帜
var oFlag = document.createElement("div");
var T = this.getPos(this.flagTop,this.gameMap).t; //旗头的Y坐标
var L = this.getPos(this.flagTop,this.gameMap).l; //旗头的X坐标
oFlag.className = this.gk.flag.style;
oFlag.style.top = T + 0.75 * this.gk.units + 'px';
oFlag.style.left = L - 0.5 * this.gk.units + 'px';
oFlag.score = this.gk.flag.score;
this.gameMap.appendChild(oFlag);
this.flag = oFlag;
this.setFlagpoleScore();
},
setFlagpoleScore : function(){ // 给旗竿设置分数
var iNow = this.flagpole.length + 1;
var OneScore = this.flag.score/iNow;
for(var i=0; i<this.flagpole.length; i++){
this.flagpole[i].score = this.flag.score - OneScore*(i+1);
}
},
createMario : function(){ //创建马里奥
var oDiv = document.createElement("div");
oDiv.id = this.mario.id;
oDiv.className = this.mario.style;
addClass(oDiv,this.mario.rightStyle);
oDiv.style.top = this.level.personY + 'px';
oDiv.style.left = this.level.personX + 'px';
oDiv.direction = 1; // 判断方向键 最后按下键值
oDiv.iT = 0; // 着陆点Y坐标
oDiv.iSpeedX = 0;
oDiv.iSpeedY = 0;
oDiv.trampleEnemy = false; //是否踩怪
oDiv.timerY = null;
oDiv.timer = null;
oDiv.isJump = false; // 是否跳跃状态
oDiv.isBig = false; // 是否处于大马里奥状态
oDiv.isCloaking = false; //隐身 每次变身缩小时 处于隐身状态
oDiv.isSendBullet = false; // 是否能发射子弹
this.gameMap.appendChild(oDiv);
this.player = oDiv;
},
bindMario : function(){ //操作马里奥
this.key = []; //存储 键值
this.iBgOldLeft = 0; // 背景移动距离存值
this.bulletNum = 0; // 子弹数量
var This = this;
var oBtn = true; // 发射子弹的时候 每次按键只能发射一次
var jumpBtn = true;
document.onkeydown = function(ev){
var ev = ev || window.event;
This.key[ev.keyCode] = true;
if(ev.keyCode == This.mario.bind.sendBullet){
This.createBullet(oBtn);
oBtn = false;
}
return false;
};
document.onkeyup = function(ev){
var ev = ev || window.event;
This.key[ev.keyCode] = false;
if(ev.keyCode == This.mario.bind.sendBullet){
oBtn = true;
}else if(ev.keyCode == This.mario.bind.jump){
jumpBtn = true;
}
return false;
};
this.frame();
},
frame : function(){
var This = this;
clearInterval(this.player.timer)
this.player.timer = setInterval(function(){
if(This.pause) return;
This.change();
This.backgroundMove();
This.enemyShow();
},30);
},
change : function(){ // 马里奥移动和跳跃 iNum 操作第几个马里奥
var playerRect = this.player;
var player = this.mario.bind;
var iWin = false;
var L,T;
// 左右移动 速度
if(this.key[player.right]){
playerRect.iSpeedX += this.mario.acceleratedSpeedX;
removeClass(playerRect,this.mario.leftStyle);
addClass(playerRect,this.mario.rightStyle);
playerRect.direction = 1;
}else if(this.key[player.left]){
playerRect.iSpeedX -= this.mario.acceleratedSpeedX;
removeClass(playerRect,this.mario.rightStyle);
addClass(playerRect,this.mario.leftStyle);
playerRect.direction = -1;
}
if(playerRect.iSpeedX!=0 && playerRect.isJump){
if(playerRect.direction == 1){
playerRect.iSpeedX += this.mario.acceleratedSpeedX;
}else if(playerRect.direction == -1){
playerRect.iSpeedX -= this.mario.acceleratedSpeedX;
}
}
if(!this.key[player.left] && !this.key[player.right]){
if(playerRect.iSpeedX > 0){
playerRect.iSpeedX -= this.mario.acceleratedSpeedX;
if(playerRect.iSpeedX<0) playerRect.iSpeedX = 0;
}else if(playerRect.iSpeedX < 0){
playerRect.iSpeedX += this.mario.acceleratedSpeedX;
if(playerRect.iSpeedX>0) playerRect.iSpeedX = 0;
}
}
if(playerRect.iSpeedX > this.mario.marioSpeedX || playerRect.iSpeedX < -this.mario.marioSpeedX){
playerRect.iSpeedX = playerRect.iSpeedX > 0 ? this.mario.marioSpeedX : -this.mario.marioSpeedX;
}
// 跳跃 速度
if(this.key[player.jump]){
if(!playerRect.isJump){
playerRect.isJump = true;
playerRect.iSpeedY = -this.mario.marioSpeedY;
};
}else{
playerRect.iSpeedY = this.mario.marioSpeedY;
}
if(playerRect.trampleEnemy){
playerRect.iSpeedY = - this.mario.marioSpeedY;
}
// 马里奥 左右移动 样式
if(playerRect.iSpeedX < 0){
removeClass(playerRect,this.mario.rightMoveStyle);
addClass(playerRect,this.mario.leftMoveStyle);
}else if(playerRect.iSpeedX > 0){
removeClass(playerRect,this.mario.leftMoveStyle);
addClass(playerRect,this.mario.rightMoveStyle);
}else{
removeClass(playerRect,this.mario.leftMoveStyle);
removeClass(playerRect,this.mario.rightMoveStyle);
}
// 马里奥 跳跃 样式
removeClass(playerRect,this.mario.leftJumpStyle);
removeClass(playerRect,this.mario.rightJumpStyle);
if(playerRect.offsetTop != playerRect.iT){
if(playerRect.direction<0){
addClass(playerRect,this.mario.leftJumpStyle);
}else{
addClass(playerRect,this.mario.rightJumpStyle);
}
playerRect.isJump = true;
}
if(playerRect.isJump){
if(playerRect.iSpeedX>0){
addClass(playerRect,this.mario.rightJumpStyle);
}else if(playerRect.iSpeedX<0){
addClass(playerRect,this.mario.leftJumpStyle);
}
}
L = playerRect.offsetLeft + playerRect.iSpeedX;
T = playerRect.offsetTop + playerRect.iSpeedY;
var n = parseInt(L/512);
for(var i=n-2<0?0:n-2,l=n+2>this.mapType.length?this.mapType.length:n+2; i<l; i++){
for(var j=0,ll=this.mapType[i].length; j<ll; j++){
var spriteRect = this.mapType[i][j];
if(spriteRect.type > 0){ // 与物体碰撞
switch(this.pzDir(playerRect,spriteRect)){
case 'left':
if(playerRect.iSpeedX > 0){
playerRect.iSpeedX = 0;
L = this.getPos(spriteRect,this.gameMap).l - playerRect.offsetWidth;
if(spriteRect.type == 12){
iWin = true;
};
}
break;
case 'right':
if(playerRect.iSpeedX < 0){
playerRect.iSpeedX = 0;
L = this.getPos(spriteRect,this.gameMap).l + spriteRect.offsetWidth;
}
break;
case 'top':
if(playerRect.iSpeedY > 0){
playerRect.iT = T = this.getPos(spriteRect,this.gameMap).t - playerRect.offsetHeight;
playerRect.isJump = false;
}
break;
case 'bottomMid':
if(playerRect.iSpeedY < 0){
playerRect.iSpeedY *= -1;
T = this.getPos(spriteRect,this.gameMap).t + spriteRect.offsetHeight;
this.topHeadMario(spriteRect,playerRect);
}
break;
}
}else if(spriteRect.type == 0){
if(this.pzDir(playerRect,spriteRect) == 'bottomMid' && spriteRect.annexs > 0){
if(playerRect.iSpeedY < 0){
playerRect.iSpeedY *= -1;
T = this.getPos(spriteRect,this.gameMap).t + spriteRect.offsetHeight;
this.topHeadMario(spriteRect,playerRect);
}
}
}
}
}
if(T>this.gameWrap.clientHeight){
this.player.isCloaking = false;
this.delMario();
}
if(T<playerRect.iT-this.mario.jumpHigh){
T = playerRect.iT-this.mario.jumpHigh;
if(!playerRect.timerY){
playerRect.timerY = setTimeout(function(){
playerRect.iSpeedY *= -1;
clearTimeout(playerRect.timerY);
playerRect.timerY = null;
},100)
}
}
if(playerRect.trampleEnemy){
if(T<playerRect.iT-32){
T = playerRect.iT-32;
playerRect.trampleEnemy = false;
playerRect.iSpeedY *= -1;
}
}
if(L < Math.abs(this.iBgOldLeft)){
L = Math.abs(this.iBgOldLeft);
playerRect.iSpeedX = 0;
}
playerRect.style.top = T + 'px';
playerRect.style.left = L + 'px';
if(iWin) this.winMario();
},
backgroundMove : function(){ //背景移动
if(this.player.iSpeedX==0) return;
var iLeft = (512-this.player.offsetWidth)/3 - this.player.offsetLeft;
if(this.iBgOldLeft < iLeft) return;
if(iLeft > 0){
iLeft = 0;
}else if(iLeft < (1 - this.lengthBg) * 512){
iLeft = (1 - this.lengthBg) * 512;
}
this.gameMap.style.left = iLeft + 'px';
this.iBgOldLeft = iLeft;
},
waneMario : function(){ // 变小
var This = this;
if(this.player.isSendBullet){
removeClass(this.player,this.mario.sendBulletStyle);
this.player.isSendBullet = false;
}
removeClass(this.player,this.mario.bigStyle);
this.player.isBig = false;
this.player.isCloaking = true;
this.cloaking();
setTimeout(function(){
This.player.isCloaking = false;
},5000)
},
cloaking : function(){ // 闪
var This = this;
var timer = setInterval(function(){
if(!This.player.isCloaking) clearInterval(timer);
addClass(This.player,'cloaking');
setTimeout(function(){
removeClass(This.player,'cloaking');
},100);
},200)
},
pauseFn : function(){ //停止
var This = this;
this.pause = true;
setTimeout(function(){
This.pause = false;
},1000)
},
changeStyle : function(sClass){ //变身
this.pauseFn();
var This = this;
var T = this.player.offsetTop;
var H = this.player.offsetHeight;
var timer = setInterval(function(){
addClass(This.player,sClass);
This.player.style.top = T + H - This.player.offsetHeight + 'px';
if(!This.pause) {
clearInterval(timer);
return;
}
setTimeout(function(){
removeClass(This.player,sClass);
This.player.style.top = T + 'px'
},100);
},200)
},
delMario : function(){ // 马里奥死亡
if(this.player.isCloaking) return;
if(this.player.isBig){
if(this.player.isSendBullet){
removeClass(this.player,this.mario.sendBulletStyle);
}
removeClass(this.player,this.mario.bigStyle);
}
var T = this.player.offsetTop;
var This = this;
clearInterval(this.player.timer);
clearInterval(this.timeTimer);
for(var i=0; i<this.aEnemy.length; i++){
clearInterval(this.aEnemy[i].timer);
}
addClass(this.player,this.mario.dieStyle);
this.lives.innerHTML = --this.blood;
setTimeout(function(){
startMoveTime(This.player,{top: T - 4*This.gk.units},'easeOut',function(){
startMoveTime(This.player,{top: This.gameMap.offsetHeight},'easeIn',function(){
setTimeout(function(){
This.redraw();
},1000);
});
});
},300);
},
winMario : function(){ // 赢了
var This = this;
clearInterval(this.player.timer);
clearInterval(this.timeTimer);
this.showPoleScore();
if(this.player.direction == -1){
removeClass(this.player,'personLU');
removeClass(this.player,'personLM');
addClass(this.player,'personRM');
}
removeClass(this.player,'personRU');
addClass(this.player,This.mario.supportRStyle);
this.player.style.left = this.getPos(this.player,this.gameMap).l + 0.75 * this.gk.units + 'px';
this.slidePole(this.flag);
this.slidePole(this.player,function(){
removeClass(This.player,This.mario.supportRStyle);
This.player.style.left = This.getPos(This.player,This.gameMap).l + 0.5 * This.gk.units + 'px';
addClass(This.player,This.mario.supportLStyle);
setTimeout(function(){
This.moveToHouse();
},100)
});
},
topHeadMario : function(spriteRect,playerRect){ // 头顶障碍物
var iL = playerRect.offsetLeft;
var T = this.getPos(spriteRect,this.gameMap).t;
var L = this.getPos(spriteRect,this.gameMap).l;
var This = this;
switch(spriteRect.annexs){
case -1 :
break;
case 0 :
if(playerRect.isBig){
this.macadam(spriteRect);
}else{
if(!spriteRect.isCollide){
spriteRect.isCollide = true;
startMoveTime(spriteRect,{top: T - 0.5 * this.gk.units},100,function(){
startMoveTime(spriteRect,{top: T},100,function(){
spriteRect.isCollide = false;
})
});
}
}
this.topHeadEnemy(spriteRect,playerRect.direction);
break;
case 1 :
if(!spriteRect.isCollide){
spriteRect.isCollide = true;
startMoveTime(spriteRect,{top: T - 0.5 * this.gk.units},100,function(){
startMoveTime(spriteRect,{top: T},100,function(){
This.flyGold(spriteRect);
spriteRect.isCollide = false;
})
})
}
this.topHeadEnemy(spriteRect,playerRect.direction);
break;
case 2 :
if(!spriteRect.isCollide){
spriteRect.isCollide = true;
startMoveTime(spriteRect,{top: T - 0.5 * this.gk.units},100,function(){
startMoveTime(spriteRect,{top: T},100,function(){
This.createAnnexs(spriteRect,playerRect);
spriteRect.isCollide = false;
})
});
}
this.topHeadEnemy(spriteRect,playerRect.direction);
break;
case 4 :
This.createAnnexs(spriteRect,playerRect);
this.topHeadEnemy(spriteRect,playerRect.direction);
break;
}
},
createBullet : function(oBtn){ // 创建子弹
if(!this.player.isSendBullet || this.bulletNum == 2 || !oBtn) return; //this.bulletNum限制子弹数量 最多2个
var This = this;
var style = this.player.direction > 0 ? this.mario.rightFStyle : this.mario.leftFStyle;
addClass(this.player,style);
setTimeout(function(){
removeClass(This.player,style);
},100)
this.bulletNum ++;
var oBullet = document.createElement('div');
oBullet.className = this.mario.bullet.style;
this.gameMap.appendChild(oBullet);
oBullet.style.left = (this.player.direction > 0 ? this.getPos(this.player,this.gameMap).l + this.player.offsetWidth : this.getPos(this.player,this.gameMap).l) - oBullet.offsetWidth + 'px';
oBullet.style.top = this.getPos(this.player,this.gameMap).t + (this.player.offsetHeight - oBullet.offsetHeight)/2 + 'px';
this.moveBullet(oBullet);
},
moveBullet : function(obj){ // 子弹飞
var speedX = this.mario.bullet.speed * this.player.direction * 2;
var speedY = this.mario.bullet.speed;
var iT = 0;
var This = this;
clearInterval(obj.timer);
obj.timer = setInterval(function(){
if(This.pause) return;
var T = obj.offsetTop + speedY;
var L = obj.offsetLeft + speedX;
if(L<-This.gameMap.offsetLeft - obj.offsetWidth || L > -This.gameMap.offsetLeft + 512 ){
This.bulletNum --;
clearInterval(obj.timer);
This.gameMap.removeChild(obj);
}
if(speedY<0 && T < iT - 1.5 * This.gk.units){
speedY*=-1;
T = iT - 1.5 * This.gk.units;
}
var n = parseInt(L/512);
for(var i=n-2<0?0:n-2,l=n+2>This.mapType.length?This.mapType.length:n+2; i<l; i++){
for(var j=0,ll=This.mapType[i].length; j<ll; j++){
var spriteRect = This.mapType[i][j];
if(spriteRect.type > 0){ // 与物体碰撞
switch(This.pzDir(obj,spriteRect)){
case 'left':
This.removeBullet(obj);
break;
case 'right':
This.removeBullet(obj);
break;
case 'top':
if(speedY>0){
speedY*=-1;
iT = T = This.getPos(spriteRect,This.gameMap).t - obj.offsetHeight;
}
break;
case 'bottom':
break;
}
}
}
}
for(var i=0; i<This.aEnemy.length; i++){
if(This.pz(obj,This.aEnemy[i]) && !This.aEnemy[i].die){
var dir = speedX > 0 ? 1 : -1;
This.removeBullet(obj);
This.reverseEnemy(This.aEnemy[i],dir)
}
}
obj.style.left = L + 'px';
obj.style.top = T + 'px';
},30);
},
removeBullet : function(obj){ // 移除子弹
if(!obj.timer) return;
this.bulletNum --;
var This = this;
clearInterval(obj.timer);
obj.timer = null;
obj.className = this.mario.bullet.explode;
setTimeout(function(){
This.gameMap.removeChild(obj);
},100)
},
createAllEnemy : function(){ // 创建敌人容器 循环所有敌人的位置
this.enemyParent = document.createElement("div");
this.enemyParent.className = 'enemy';
for(var i=0; i<this.level.enemyPosition.length; i++){
this.createOneEnemy(this.level.enemyPosition[i].type,this.level.enemyPosition[i].X,this.level.enemyPosition[i].Y)
}
this.gameMap.appendChild(this.enemyParent);
this.aEnemy = this.enemyParent.getElementsByTagName("div");
},
enemyShow : function(){ // 背景移动触发敌人移动
for(var i=0; i<this.aEnemy.length; i++){
if(!this.aEnemy[i].die && !this.aEnemy[i].isMove && this.aEnemy[i].offsetLeft <= - this.gameMap.offsetLeft + 512){
this.aEnemy[i].isMove = true;
this.objectMove(this.aEnemy[i]);
}
}
},
createOneEnemy : function(enemyType,X,Y){ // 创建单个敌人 敌人类型 X 和 Y 轴坐标
var oEnemy = document.createElement("div");
var enemyData = this.enemy[enemyType];
oEnemy.className = enemyData.style;
oEnemy.style.left = X + 'px';
oEnemy.style.top = Y + 'px';
oEnemy.isMove = false;
oEnemy.die = false;
oEnemy.iX = enemyData.iSpeedX;
oEnemy.iY = enemyData.iSpeedY;
oEnemy.score = enemyData.score;
oEnemy.isEnemy = true;
this.enemyParent.appendChild(oEnemy);
},
delOneEnemy : function(enemyElem){ // 单个敌人死亡
var This = this;
enemyElem.die = true;
addClass(enemyElem,'die')
clearInterval(enemyElem.timer);
this.scoreShow(enemyElem);
setTimeout(function(){
This.enemyParent.removeChild(enemyElem);
},500);
},
reverseEnemy : function(enemyElem,dir){ // 敌人被子弹击中 致死
var This = this;
enemyElem.die = true;
addClass(enemyElem,'reverse');
this.scoreShow(enemyElem)
this.parabolicMotion(enemyElem,6*dir,-20);
},
topHeadEnemy : function(spriteRect,dir){ //被马里奥头顶障碍物 致死
for(var i=0; i<this.aEnemy.length; i++){
if(this.pzDir(this.aEnemy[i],spriteRect) == 'top'){
this.reverseEnemy(this.aEnemy[i],dir);
}
}
},
flyGold : function(spriteRect){ // 从障碍物里飞金币
var This = this;
var oDiv = document.createElement("div");
oDiv.className = this.gk.annexs[spriteRect.annexs].style;
oDiv.score = this.gk.annexs[spriteRect.annexs].score;
if(typeof spriteRect.goldNum == 'undefined'){
spriteRect.goldNum = spriteRect.type == 2 ? 5 : 1;
}
spriteRect.goldNum --;
if(spriteRect.goldNum == 0){
spriteRect.className = 'maptype-nothing';
spriteRect.type = 9;
spriteRect.annexs = -1;
}
this.gameMap.appendChild(oDiv);
var L = this.getPos(spriteRect,this.gameMap).l;
var T = this.getPos(spriteRect,this.gameMap).t - oDiv.offsetHeight;
oDiv.style.left = L + 'px';
oDiv.style.top = T + 'px';
startMoveTime(oDiv,{top: T - 2 * this.gk.units},200,'easeOut',function(){
startMoveTime(oDiv,{top: T},200,'easeIn',function(){
This.scoreShow(oDiv);
This.gameMap.removeChild(oDiv);
});
});
this.coins.innerHTML = parseInt(this.coins.innerHTML) + 1;
},
createAnnexs : function(spriteRect,playerRect){ //创建 附属物
var L = this.getPos(spriteRect,this.gameMap).l;
var T = this.getPos(spriteRect,this.gameMap).t;
var oDiv = document.createElement("div");
var This = this;
if(spriteRect.annexs == 2){
if(playerRect.isBig){
spriteRect.annexs = 3;
}
}
oDiv.className = this.gk.annexs[spriteRect.annexs].style;
oDiv.style.left = L + 'px';
oDiv.style.top = T + 'px';
oDiv.isEnemy = false;
oDiv.isMove = true;
oDiv.iX = this.gk.annexs[spriteRect.annexs].iSpeedX || 0;
oDiv.iY = this.gk.annexs[spriteRect.annexs].iSpeedY || 0;
oDiv.effect = this.gk.annexs[spriteRect.annexs].effect;
if(spriteRect.annexs == 4){
oDiv.text = this.gk.annexs[spriteRect.annexs].text;
}else if(spriteRect.annexs == 2 || spriteRect.annexs == 3){
oDiv.score = this.gk.annexs[spriteRect.annexs].score;
}
spriteRect.className = 'maptype-nothing';
spriteRect.type = 9;
spriteRect.annexs = -1;
this.gameMap.appendChild(oDiv);
var iH = oDiv.offsetHeight;
oDiv.style.height = '0px';
startMoveTime(oDiv,{height: iH,top: T-iH},600,function(){
This.objectMove(oDiv);
});
},
macadam : function(spriteRect){ // 头撞障碍物形成碎石
var T = this.getPos(spriteRect,this.gameMap).t;
var L = this.getPos(spriteRect,this.gameMap).l;
var aSel = [];
spriteRect.className = this.gk.type[0];
spriteRect.type = 0;
spriteRect.annexs = 0;
for(var i=0; i<4; i++){
var oM = document.createElement("div");
oM.className = 'macadam';
aSel.push(oM);
this.gameMap.appendChild(oM);
}
var iW = aSel[0].offsetWidth;
var iH = aSel[0].offsetHeight;
aSel[0].style.top = T + 'px';
aSel[0].style.left = L + 'px';
aSel[1].style.top = T + 'px';
aSel[1].style.left = L + iW + 'px';
aSel[2].style.top = T + iH + 'px';
aSel[2].style.left = L + 'px';
aSel[3].style.top = T + iH + 'px';
aSel[3].style.left = L + iW + 'px';
this.parabolicMotion(aSel[0],-6,-24);
this.parabolicMotion(aSel[1],6,-24);
this.parabolicMotion(aSel[2],-6,-20);
this.parabolicMotion(aSel[3],6,-20);
this.score.innerHTML = parseInt(this.score.innerHTML) + 50;
},
parabolicMotion : function(obj,iSpeedX,iSpeedY){ //抛物线运动
clearInterval(obj.timer);
var iH = this.gameMap.offsetHeight;
var This = this;
obj.timer = setInterval(function(){
if(This.pause) return;
iSpeedY += 3;
var T = obj.offsetTop + iSpeedY;
var L = obj.offsetLeft + iSpeedX;
if(T > iH){
clearInterval(obj.timer);
}
obj.style.top = T + 'px';
obj.style.left = L + 'px';
},30)
},
createData : function(){
var oDiv = document.createElement('div');
oDiv.className = 'data_display';
var oUl = document.createElement('ul');
for(var i=0; i<this.data.length; i++){
var oLi = document.createElement('li');
oLi.innerHTML = this.data[i] + '<br><span>0</span>'
oUl.appendChild(oLi);
}
oDiv.appendChild(oUl);
this.gameWrap.appendChild(oDiv);
this.oDataDisplay = oDiv;
this.aData = oDiv.getElementsByTagName('span');
this.score = this.aData[0];
this.coins = this.aData[1];
this.world = this.aData[2];
this.time = this.aData[3];
this.lives = this.aData[4];
},
scoreShow : function(obj){ // 所得分数 显示
var T = obj.offsetTop;
var L = obj.offsetLeft + this.gameMap.offsetLeft;
var oSpan = document.createElement("span");
var This = this;
oSpan.className = 'score';
oSpan.style.top = T + 'px';
oSpan.style.left = L + 'px';
if( 'score' in obj){
oSpan.innerHTML = obj.score;
this.score.innerHTML = parseInt(this.score.innerHTML) + obj.score;
}else if( 'text' in obj){
oSpan.innerHTML = obj.text;
}
this.gameWrap.appendChild(oSpan);
startMoveTime(oSpan,{top: T-2 * this.gk.units},function(){
This.gameWrap.removeChild(oSpan);
});
},
objectMove : function(obj){ // 物体移动移动 包括 敌人移动和附属物移动
clearInterval(obj.timer)
var iSpeedX = obj.iX;
var iSpeedY = obj.iY;
var This = this;
var L,T;
obj.timer = setInterval(function(){
if(!obj.isMove||This.pause){
return;
};//进入可视区的时候移动 增加性能
L = obj.offsetLeft + iSpeedX;
T = obj.offsetTop + iSpeedY;
if(L + obj.offsetWidth<-This.gameMap.offsetLeft){
clearInterval(obj.timer);
}
var n = parseInt(L/512);
for(var i=n-2<0?0:n-2,l=n+2>This.mapType.length?This.mapType.length:n+2; i<l; i++){
for(var j=0,ll=This.mapType[i].length; j<ll; j++){
var spriteRect = This.mapType[i][j];
if(spriteRect.type > 0){ // 与物体碰撞
switch(This.pzDir(obj,spriteRect)){
case 'left':
if(iSpeedX > 0){
iSpeedX *= -1;
}
break;
case 'right':
if(iSpeedX < 0){
iSpeedX *= -1;
}
break;
case 'top':
if(iSpeedY > 0){
T = This.getPos(spriteRect,This.gameMap).t - obj.offsetHeight;
}
break;
case 'bottom':
break;
}
}
}
}
if(obj.isEnemy){
if(!obj.die){
switch(This.pzDir(This.player,obj)){ // 做为敌人 与马里奥碰撞
case 'left':
case 'right':
case 'bottom':
case 'bottomLeft':
case 'bottomRight':
if(This.player.isBig){
This.waneMario();
}else{
This.delMario();
}
break;
case 'top':
This.player.trampleEnemy = true;
This.player.iT = obj.offsetTop - This.player.offsetHeight;
This.delOneEnemy(obj);
break;
}
}
}else{ // 做为附属物 与马里奥碰撞
if(This.pz(This.player,obj)){
clearInterval(obj.timer);
This.scoreShow(obj);
This.gameMap.removeChild(obj);
if(obj.className == This.gk.annexs[2].style){
if(!This.player.isBig){
This.changeStyle(This.mario[obj.effect]);
This.player.isBig = true;
}
}else if(obj.className == This.gk.annexs[3].style){
if(!This.player.isSendBullet){
This.changeStyle(This.mario[obj.effect]);
if(!This.player.isBig){
This.player.isBig = true;
}else{
This.player.isSendBullet = true;
}
}
}else if(obj.className == This.gk.annexs[4].style){
This.lives.innerHTML = ++This.blood;
}
}
}
obj.style.left = L + 'px';
obj.style.top = T + 'px';
},30)
},
showPoleScore : function(){ // 碰撞旗杆 展现相应分数
var T = this.getPos(this.player,this.gameMap).t;
var L ;
var iNow = this.flagpole.length - 1;
var oSpan = document.createElement("span");
for(var i=0; i<this.flagpole.length; i++){
if(this.getPos(this.flagpole[i],this.gameMap).t > T){
iNow = i;
break;
};
};
T = this.getPos(this.flagpole[iNow],this.gameMap).t;
L = this.getPos(this.flagpole[iNow],this.gameMap).l + this.flagpole[iNow].offsetWidth;
oSpan.className = 'score';
oSpan.style.top = T + 'px';
oSpan.style.left = L + 'px';
oSpan.innerHTML = this.flagpole[iNow].score;
this.score.innerHTML = parseInt(this.score.innerHTML) + this.flagpole[iNow].score;
this.gameMap.appendChild(oSpan);
startMoveTime(oSpan,{top: this.flagpole[0].offsetTop});
},
slidePole : function(obj,fn){ //滑竿
var flagBottom = this.flagpole[this.flagpole.length - 1];
var T = this.getPos(flagBottom,this.gameMap).t + flagBottom.offsetHeight - this.player.offsetHeight;
if(T < obj.offsetTop ){
obj.style.top = T + 'px';
}
startMoveTime(obj,{top:T},1000,fn);
},
moveToHouse : function(){ // 移动到城堡
var T = this.getPos(this.blockhouse,this.gameMap).t + this.blockhouse.offsetHeight - this.player.offsetHeight;
var L = this.getPos(this.blockhouse,this.gameMap).l;
var This = this;
this.player.style.top = T + 'px';
this.player.style.left = this.player.offsetLeft + 0.75 * this.gk.units + 'px';
removeClass(this.player,This.mario.supportLStyle);
startMoveTime(this.player,{left:L},2000,function(){
This.player.style.display = 'none';
This.timeToScore();
});
},
timeToScore : function(){ //剩余时间转换成分数
var This = this;
var timer = null;
clearInterval(timer);
timer = setInterval(function(){
This.time.innerHTML = parseInt(This.time.innerHTML) - 1;
This.score.innerHTML = parseInt(This.score.innerHTML) + 50;
if(parseInt(This.time.innerHTML) == 0) clearInterval(timer);
},10)
},
pz : function(obj1,obj2){ //碰撞检测
var L1 = this.getPos(obj1,this.gameMap).l;
var R1 = L1 + obj1.offsetWidth;
var T1 = this.getPos(obj1,this.gameMap).t;
var B1 = T1 + obj1.offsetHeight;
var L2 = this.getPos(obj2,this.gameMap).l;
var R2 = L2 + obj2.offsetWidth;
var T2 = this.getPos(obj2,this.gameMap).t;
var B2 = T2 + obj2.offsetHeight;
if( L1>R2 || R1<L2 || T1>B2 || B1<T2 ){
return false;
}
else{
return true;
}
},
pzDir : function(obj1,obj2){ //碰撞检测 方向 两个物体都是相等的正方体的情况
if(!this.pz(obj1,obj2)) return;
var L1 = this.getPos(obj1,this.gameMap).l + obj1.offsetWidth/2;
var T1 = this.getPos(obj1,this.gameMap).t + obj1.offsetHeight/2;
var L2 = this.getPos(obj2,this.gameMap).l + obj2.offsetWidth/2;
var T2 = this.getPos(obj2,this.gameMap).t + obj2.offsetHeight/2;
if(Math.abs(L1-L2) > Math.abs(T1-T2)){
if(L1<L2){
return 'left';
}else if(L1>L2){
return 'right';
}
}else if(Math.abs(L1-L2) < Math.abs(T1-T2)){
if(T1<T2){
if(L1 + obj1.offsetWidth/2 > this.getPos(obj2,this.gameMap).l && L1 - obj1.offsetWidth/2 < this.getPos(obj2,this.gameMap).l + obj2.offsetWidth){
return 'top';
}
}else if(T1>T2){
if(L1 < this.getPos(obj2,this.gameMap).l){
return 'bottomLeft';
}else if(L1 > this.getPos(obj2,this.gameMap).l + obj2.offsetWidth){
return 'bottomRight';
}else{
return 'bottomMid';
}
}
}
return false;
},
getPos : function(obj,anc){
var aPos = {l: 0, t: 0};
while(obj && obj != anc){
aPos.l += obj.offsetLeft;
aPos.t += obj.offsetTop;
obj = obj.offsetParent;
}
return aPos;
},
imgLoad : function(url, callback) {
var img = new Image();
img.src = url;
if (img.complete) {
callback(img.width, img.height);
} else {
img.onload = function () {
callback(img.width, img.height);
img.onload = null;
};
};
}
}
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册