Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- http://bluegemx.cf:3000/index.js
- HTTP/1.1 200 OK
- X-Powered-By: Express
- Accept-Ranges: bytes
- Cache-Control: public, max-age=0
- Last-Modified: Wed, 15 Jun 2016 16:15:45 GMT
- ETag: W/"5572-15554d8d78e"
- Content-Type: application/javascript
- Content-Length: 21874
- Date: Wed, 15 Jun 2016 16:18:29 GMT
- 00000000: 34 01 00 00 03 00 04 00 33 c2 df c1 e9 93 2e 00 4.......3.......
- 00000010: 49 9a e0 c1 e9 93 2e 00 04 01 00 00 48 54 54 50 I...........HTTP
- 00000020: 2f 31 2e 31 20 32 30 30 20 4f 4b 00 58 2d 50 6f /1.1 200 OK.X-Po
- 00000030: 77 65 72 65 64 2d 42 79 3a 20 45 78 70 72 65 73 wered-By: Expres
- 00000040: 73 00 41 63 63 65 70 74 2d 52 61 6e 67 65 73 3a s.Accept-Ranges:
- 00000050: 20 62 79 74 65 73 00 43 61 63 68 65 2d 43 6f 6e bytes.Cache-Con
- 00000060: 74 72 6f 6c 3a 20 70 75 62 6c 69 63 2c 20 6d 61 trol: public, ma
- 00000070: 78 2d 61 67 65 3d 30 00 4c 61 73 74 2d 4d 6f 64 x-age=0.Last-Mod
- 00000080: 69 66 69 65 64 3a 20 57 65 64 2c 20 31 35 20 4a ified: Wed, 15 J
- 00000090: 75 6e 20 32 30 31 36 20 31 36 3a 31 35 3a 34 35 un 2016 16:15:45
- 000000a0: 20 47 4d 54 00 45 54 61 67 3a 20 57 2f 22 35 35 GMT.ETag: W/"55
- 000000b0: 37 32 2d 31 35 35 35 34 64 38 64 37 38 65 22 00 72-15554d8d78e".
- 000000c0: 43 6f 6e 74 65 6e 74 2d 54 79 70 65 3a 20 61 70 Content-Type: ap
- 000000d0: 70 6c 69 63 61 74 69 6f 6e 2f 6a 61 76 61 73 63 plication/javasc
- 000000e0: 72 69 70 74 00 43 6f 6e 74 65 6e 74 2d 4c 65 6e ript.Content-Len
- 000000f0: 67 74 68 3a 20 32 31 38 37 34 00 44 61 74 65 3a gth: 21874.Date:
- 00000100: 20 57 65 64 2c 20 31 35 20 4a 75 6e 20 32 30 31 Wed, 15 Jun 201
- 00000110: 36 20 31 36 3a 31 38 3a 32 39 20 47 4d 54 00 00 6 16:18:29 GMT..
- 00000120: 0c 00 00 00 38 34 2e 32 36 2e 31 31 30 2e 32 32 ....84.26.110.22
- 00000130: b8 0b 00 00 01 00 00 00 ........
- 00000000: 2f 2f 20 47 65 6e 65 72 61 74 65 64 20 62 79 20 // Generated by
- 00000010: 43 6f 66 66 65 65 53 63 72 69 70 74 20 31 2e 31 CoffeeScript 1.1
- 00000020: 30 2e 30 0a 0a 2f 2a 0a 2a 2a 2a 2a 2a 2a 2a 2a 0.0../*.********
- 00000030: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
- 00000040: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
- 00000050: 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 2a 2a 20 47 41 4d *********.** GAM
- 00000060: 45 20 49 4e 49 54 49 41 4c 49 53 41 54 49 4f 4e E INITIALISATION
- 00000070: 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a .***************
- 00000080: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
- 00000090: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
- 000000a0: 2a 2a 0a 20 2a 2f 0a 76 61 72 20 24 2c 20 4b 65 **. */.var $, Ke
- 000000b0: 79 73 2c 20 50 6c 61 79 65 72 2c 20 63 68 61 6e ys, Player, chan
- 000000c0: 6e 65 6c 73 2c 20 63 68 65 63 6b 50 61 73 73 2c nels, checkPass,
- 000000d0: 20 64 65 6c 74 61 54 69 6d 65 2c 20 64 72 61 77 deltaTime, draw
- 000000e0: 2c 20 64 72 61 77 5f 64 65 62 75 67 2c 20 65 6d , draw_debug, em
- 000000f0: 6f 6a 69 73 2c 20 65 73 63 61 70 65 52 65 67 65 ojis, escapeRege
- 00000100: 78 2c 20 67 65 74 55 73 65 72 6e 61 6d 65 43 6f x, getUsernameCo
- 00000110: 6f 6b 69 65 2c 20 69 6e 69 74 2c 20 69 6e 69 74 okie, init, init
- 00000120: 63 68 61 74 2c 20 69 6e 69 74 67 61 6d 65 2c 20 chat, initgame,
- 00000130: 6a 2c 20 6c 61 73 74 55 70 64 61 74 65 2c 20 6c j, lastUpdate, l
- 00000140: 65 6e 2c 20 6c 6f 67 69 6e 2c 20 6c 6f 67 6f 75 en, login, logou
- 00000150: 74 2c 20 6e 61 6d 65 2c 20 6f 6e 4b 65 79 64 6f t, name, onKeydo
- 00000160: 77 6e 2c 20 6f 6e 4b 65 79 75 70 2c 20 6f 6e 4d wn, onKeyup, onM
- 00000170: 6f 76 65 50 6c 61 79 65 72 2c 20 6f 6e 4e 65 77 ovePlayer, onNew
- 00000180: 50 6c 61 79 65 72 2c 20 6f 6e 52 65 6d 6f 76 65 Player, onRemove
- 00000190: 50 6c 61 79 65 72 2c 20 6f 6e 52 65 73 69 7a 65 Player, onResize
- 000001a0: 2c 20 6f 6e 53 6f 63 6b 65 74 43 6f 6e 6e 65 63 , onSocketConnec
- 000001b0: 74 65 64 2c 20 6f 6e 53 6f 63 6b 65 74 44 69 73 ted, onSocketDis
- 000001c0: 63 6f 6e 6e 65 63 74 2c 20 70 61 72 73 65 4d 65 connect, parseMe
- 000001d0: 73 73 61 67 65 2c 20 70 6c 61 79 65 72 42 79 49 ssage, playerByI
- 000001e0: 64 2c 20 72 65 66 2c 20 72 65 67 69 73 74 65 72 d, ref, register
- 000001f0: 2c 20 72 65 6d 6f 76 65 55 73 65 72 6e 61 6d 65 , removeUsername
- 00000200: 43 6f 6f 6b 69 65 2c 20 73 61 66 65 2c 20 73 65 Cookie, safe, se
- 00000210: 73 73 69 6f 6e 69 64 2c 20 73 65 74 45 76 65 6e ssionid, setEven
- 00000220: 74 48 61 6e 64 6c 65 72 73 2c 20 73 65 74 55 73 tHandlers, setUs
- 00000230: 65 72 6e 61 6d 65 43 6f 6f 6b 69 65 2c 20 73 65 ernameCookie, se
- 00000240: 74 73 74 61 74 75 73 2c 20 73 6f 63 6b 65 74 2c tstatus, socket,
- 00000250: 20 74 69 63 6b 2c 20 75 70 64 61 74 65 3b 0a 0a tick, update;..
- 00000260: 24 20 3d 20 66 75 6e 63 74 69 6f 6e 28 69 64 29 $ = function(id)
- 00000270: 20 7b 0a 20 20 72 65 74 75 72 6e 20 64 6f 63 75 {. return docu
- 00000280: 6d 65 6e 74 2e 67 65 74 45 6c 65 6d 65 6e 74 42 ment.getElementB
- 00000290: 79 49 64 28 69 64 29 3b 0a 7d 3b 0a 0a 69 6e 69 yId(id);.};..ini
- 000002a0: 74 67 61 6d 65 20 3d 20 66 75 6e 63 74 69 6f 6e tgame = function
- 000002b0: 28 29 20 7b 0a 20 20 76 61 72 20 63 61 6d 65 72 () {. var camer
- 000002c0: 61 2c 20 63 61 6e 76 61 73 2c 20 63 74 78 2c 20 a, canvas, ctx,
- 000002d0: 64 69 76 43 61 6e 76 61 73 2c 20 6b 65 79 73 2c divCanvas, keys,
- 000002e0: 20 6c 6f 63 61 6c 50 6c 61 79 65 72 2c 20 6c 6f localPlayer, lo
- 000002f0: 63 61 6c 50 6c 61 79 65 72 4e 61 6d 65 2c 20 72 calPlayerName, r
- 00000300: 65 6d 6f 74 65 50 6c 61 79 65 72 73 2c 20 72 6f emotePlayers, ro
- 00000310: 6f 6d 2c 20 73 6f 63 6b 65 74 2c 20 73 74 61 72 om, socket, star
- 00000320: 74 58 2c 20 73 74 61 72 74 59 3b 0a 20 20 63 61 tX, startY;. ca
- 00000330: 6e 76 61 73 20 3d 20 24 28 27 67 61 6d 65 43 61 nvas = $('gameCa
- 00000340: 6e 76 61 73 27 29 3b 0a 20 20 63 74 78 20 3d 20 nvas');. ctx =
- 00000350: 63 61 6e 76 61 73 2e 67 65 74 43 6f 6e 74 65 78 canvas.getContex
- 00000360: 74 28 27 32 64 27 29 3b 0a 20 20 64 69 76 43 61 t('2d');. divCa
- 00000370: 6e 76 61 73 20 3d 20 64 6f 63 75 6d 65 6e 74 2e nvas = document.
- 00000380: 67 65 74 45 6c 65 6d 65 6e 74 42 79 49 64 28 27 getElementById('
- 00000390: 67 61 6d 65 27 29 3b 0a 20 20 63 61 6e 76 61 73 game');. canvas
- 000003a0: 2e 77 69 64 74 68 20 3d 20 64 69 76 43 61 6e 76 .width = divCanv
- 000003b0: 61 73 2e 6f 66 66 73 65 74 57 69 64 74 68 20 2d as.offsetWidth -
- 000003c0: 20 36 3b 0a 20 20 63 61 6e 76 61 73 2e 68 65 69 6;. canvas.hei
- 000003d0: 67 68 74 20 3d 20 64 69 76 43 61 6e 76 61 73 2e ght = divCanvas.
- 000003e0: 6f 66 66 73 65 74 48 65 69 67 68 74 20 2d 20 36 offsetHeight - 6
- 000003f0: 3b 0a 20 20 6b 65 79 73 20 3d 20 6e 65 77 20 4b ;. keys = new K
- 00000400: 65 79 73 3b 0a 20 20 72 6f 6f 6d 20 3d 20 7b 0a eys;. room = {.
- 00000410: 20 20 20 20 77 69 64 74 68 3a 20 32 32 30 30 2c width: 2200,
- 00000420: 0a 20 20 20 20 68 65 69 67 68 74 3a 20 32 32 30 . height: 220
- 00000430: 30 2c 0a 20 20 20 20 6d 61 70 3a 20 6e 65 77 20 0,. map: new
- 00000440: 47 61 6d 65 2e 4d 61 70 28 32 32 30 30 2c 20 32 Game.Map(2200, 2
- 00000450: 32 30 30 29 0a 20 20 7d 3b 0a 20 20 72 6f 6f 6d 200). };. room
- 00000460: 2e 6d 61 70 2e 67 65 6e 65 72 61 74 65 28 29 3b .map.generate();
- 00000470: 0a 20 20 73 74 61 72 74 58 20 3d 20 4d 61 74 68 . startX = Math
- 00000480: 2e 72 6f 75 6e 64 28 4d 61 74 68 2e 72 61 6e 64 .round(Math.rand
- 00000490: 6f 6d 28 29 20 2a 20 28 72 6f 6f 6d 2e 77 69 64 om() * (room.wid
- 000004a0: 74 68 20 2d 20 33 32 29 29 3b 0a 20 20 73 74 61 th - 32));. sta
- 000004b0: 72 74 59 20 3d 20 4d 61 74 68 2e 72 6f 75 6e 64 rtY = Math.round
- 000004c0: 28 4d 61 74 68 2e 72 61 6e 64 6f 6d 28 29 20 2a (Math.random() *
- 000004d0: 20 28 72 6f 6f 6d 2e 68 65 69 67 68 74 20 2d 20 (room.height -
- 000004e0: 33 32 29 29 3b 0a 20 20 6c 6f 63 61 6c 50 6c 61 32));. localPla
- 000004f0: 79 65 72 4e 61 6d 65 20 3d 20 70 72 6f 6d 70 74 yerName = prompt
- 00000500: 28 27 50 6c 65 61 73 65 20 65 6e 74 65 72 20 61 ('Please enter a
- 00000510: 20 6e 61 6d 65 27 2c 20 27 27 29 3b 0a 20 20 6c name', '');. l
- 00000520: 6f 63 61 6c 50 6c 61 79 65 72 20 3d 20 6e 65 77 ocalPlayer = new
- 00000530: 20 50 6c 61 79 65 72 28 73 74 61 72 74 58 2c 20 Player(startX,
- 00000540: 73 74 61 72 74 59 2c 20 6c 6f 63 61 6c 50 6c 61 startY, localPla
- 00000550: 79 65 72 4e 61 6d 65 2c 20 27 62 6c 61 63 6b 27 yerName, 'black'
- 00000560: 29 3b 0a 20 20 63 61 6d 65 72 61 20 3d 20 6e 65 );. camera = ne
- 00000570: 77 20 47 61 6d 65 2e 43 61 6d 65 72 61 28 30 2c w Game.Camera(0,
- 00000580: 20 30 2c 20 63 61 6e 76 61 73 2e 77 69 64 74 68 0, canvas.width
- 00000590: 2c 20 63 61 6e 76 61 73 2e 68 65 69 67 68 74 2c , canvas.height,
- 000005a0: 20 72 6f 6f 6d 2e 77 69 64 74 68 2c 20 72 6f 6f room.width, roo
- 000005b0: 6d 2e 68 65 69 67 68 74 29 3b 0a 20 20 63 61 6d m.height);. cam
- 000005c0: 65 72 61 2e 66 6f 6c 6c 6f 77 28 6c 6f 63 61 6c era.follow(local
- 000005d0: 50 6c 61 79 65 72 2c 20 63 61 6e 76 61 73 2e 77 Player, canvas.w
- 000005e0: 69 64 74 68 20 2f 20 32 2c 20 63 61 6e 76 61 73 idth / 2, canvas
- 000005f0: 2e 68 65 69 67 68 74 20 2f 20 32 29 3b 0a 20 20 .height / 2);.
- 00000600: 73 6f 63 6b 65 74 20 3d 20 69 6f 2e 63 6f 6e 6e socket = io.conn
- 00000610: 65 63 74 28 29 3b 0a 20 20 72 65 6d 6f 74 65 50 ect();. remoteP
- 00000620: 6c 61 79 65 72 73 20 3d 20 5b 5d 3b 0a 20 20 73 layers = [];. s
- 00000630: 65 74 45 76 65 6e 74 48 61 6e 64 6c 65 72 73 28 etEventHandlers(
- 00000640: 29 3b 0a 20 20 72 65 74 75 72 6e 20 77 69 6e 64 );. return wind
- 00000650: 6f 77 2e 72 65 71 75 65 73 74 41 6e 69 6d 46 72 ow.requestAnimFr
- 00000660: 61 6d 65 28 74 69 63 6b 29 3b 0a 7d 3b 0a 0a 6f ame(tick);.};..o
- 00000670: 6e 4b 65 79 64 6f 77 6e 20 3d 20 66 75 6e 63 74 nKeydown = funct
- 00000680: 69 6f 6e 28 65 29 20 7b 0a 20 20 69 66 20 28 6c ion(e) {. if (l
- 00000690: 6f 63 61 6c 50 6c 61 79 65 72 29 20 7b 0a 20 20 ocalPlayer) {.
- 000006a0: 20 20 6b 65 79 73 2e 6f 6e 4b 65 79 44 6f 77 6e keys.onKeyDown
- 000006b0: 28 65 29 3b 0a 20 20 7d 0a 7d 3b 0a 0a 6f 6e 4b (e);. }.};..onK
- 000006c0: 65 79 75 70 20 3d 20 66 75 6e 63 74 69 6f 6e 28 eyup = function(
- 000006d0: 65 29 20 7b 0a 20 20 69 66 20 28 6c 6f 63 61 6c e) {. if (local
- 000006e0: 50 6c 61 79 65 72 29 20 7b 0a 20 20 20 20 6b 65 Player) {. ke
- 000006f0: 79 73 2e 6f 6e 4b 65 79 55 70 28 65 29 3b 0a 20 ys.onKeyUp(e);.
- 00000700: 20 7d 0a 7d 3b 0a 0a 6f 6e 52 65 73 69 7a 65 20 }.};..onResize
- 00000710: 3d 20 66 75 6e 63 74 69 6f 6e 28 65 29 20 7b 0a = function(e) {.
- 00000720: 20 20 76 61 72 20 63 61 6d 65 72 61 3b 0a 20 20 var camera;.
- 00000730: 63 61 6e 76 61 73 2e 77 69 64 74 68 20 3d 20 64 canvas.width = d
- 00000740: 69 76 43 61 6e 76 61 73 2e 6f 66 66 73 65 74 57 ivCanvas.offsetW
- 00000750: 69 64 74 68 20 2d 20 36 3b 0a 20 20 63 61 6e 76 idth - 6;. canv
- 00000760: 61 73 2e 68 65 69 67 68 74 20 3d 20 64 69 76 43 as.height = divC
- 00000770: 61 6e 76 61 73 2e 6f 66 66 73 65 74 48 65 69 67 anvas.offsetHeig
- 00000780: 68 74 20 2d 20 36 3b 0a 20 20 63 61 6d 65 72 61 ht - 6;. camera
- 00000790: 20 3d 20 6e 65 77 20 47 61 6d 65 2e 43 61 6d 65 = new Game.Came
- 000007a0: 72 61 28 30 2c 20 30 2c 20 63 61 6e 76 61 73 2e ra(0, 0, canvas.
- 000007b0: 77 69 64 74 68 2c 20 63 61 6e 76 61 73 2e 68 65 width, canvas.he
- 000007c0: 69 67 68 74 2c 20 72 6f 6f 6d 2e 77 69 64 74 68 ight, room.width
- 000007d0: 2c 20 72 6f 6f 6d 2e 68 65 69 67 68 74 29 3b 0a , room.height);.
- 000007e0: 20 20 63 61 6d 65 72 61 2e 66 6f 6c 6c 6f 77 28 camera.follow(
- 000007f0: 6c 6f 63 61 6c 50 6c 61 79 65 72 2c 20 63 61 6e localPlayer, can
- 00000800: 76 61 73 2e 77 69 64 74 68 20 2f 20 32 2c 20 63 vas.width / 2, c
- 00000810: 61 6e 76 61 73 2e 68 65 69 67 68 74 20 2f 20 32 anvas.height / 2
- 00000820: 29 3b 0a 7d 3b 0a 0a 6f 6e 53 6f 63 6b 65 74 43 );.};..onSocketC
- 00000830: 6f 6e 6e 65 63 74 65 64 20 3d 20 66 75 6e 63 74 onnected = funct
- 00000840: 69 6f 6e 28 29 20 7b 0a 20 20 63 6f 6e 73 6f 6c ion() {. consol
- 00000850: 65 2e 6c 6f 67 28 27 43 6f 6e 6e 65 63 74 65 64 e.log('Connected
- 00000860: 20 74 6f 20 73 65 72 76 65 72 27 29 3b 0a 20 20 to server');.
- 00000870: 72 65 74 75 72 6e 20 73 6f 63 6b 65 74 2e 65 6d return socket.em
- 00000880: 69 74 28 27 6e 65 77 20 70 6c 61 79 65 72 27 2c it('new player',
- 00000890: 20 7b 0a 20 20 20 20 78 3a 20 6c 6f 63 61 6c 50 {. x: localP
- 000008a0: 6c 61 79 65 72 2e 58 28 29 2c 0a 20 20 20 20 79 layer.X(),. y
- 000008b0: 3a 20 6c 6f 63 61 6c 50 6c 61 79 65 72 2e 59 28 : localPlayer.Y(
- 000008c0: 29 2c 0a 20 20 20 20 6e 61 6d 65 3a 20 6c 6f 63 ),. name: loc
- 000008d0: 61 6c 50 6c 61 79 65 72 4e 61 6d 65 0a 20 20 7d alPlayerName. }
- 000008e0: 29 3b 0a 7d 3b 0a 0a 6f 6e 53 6f 63 6b 65 74 44 );.};..onSocketD
- 000008f0: 69 73 63 6f 6e 6e 65 63 74 20 3d 20 66 75 6e 63 isconnect = func
- 00000900: 74 69 6f 6e 28 29 20 7b 0a 20 20 72 65 74 75 72 tion() {. retur
- 00000910: 6e 20 63 6f 6e 73 6f 6c 65 2e 6c 6f 67 28 27 44 n console.log('D
- 00000920: 69 73 63 6f 6e 6e 65 63 74 65 64 20 66 72 6f 6d isconnected from
- 00000930: 20 73 65 72 76 65 72 27 29 3b 0a 7d 3b 0a 0a 6f server');.};..o
- 00000940: 6e 4e 65 77 50 6c 61 79 65 72 20 3d 20 66 75 6e nNewPlayer = fun
- 00000950: 63 74 69 6f 6e 28 64 61 74 61 29 20 7b 0a 20 20 ction(data) {.
- 00000960: 76 61 72 20 6e 65 77 50 6c 61 79 65 72 3b 0a 20 var newPlayer;.
- 00000970: 20 63 6f 6e 73 6f 6c 65 2e 6c 6f 67 28 27 4e 65 console.log('Ne
- 00000980: 77 20 70 6c 61 79 65 72 20 63 6f 6e 6e 65 63 74 w player connect
- 00000990: 65 64 3a 20 27 20 2b 20 64 61 74 61 2e 69 64 29 ed: ' + data.id)
- 000009a0: 3b 0a 20 20 6e 65 77 50 6c 61 79 65 72 20 3d 20 ;. newPlayer =
- 000009b0: 6e 65 77 20 50 6c 61 79 65 72 28 64 61 74 61 2e new Player(data.
- 000009c0: 78 2c 20 64 61 74 61 2e 79 2c 20 64 61 74 61 2e x, data.y, data.
- 000009d0: 6e 61 6d 65 29 3b 0a 20 20 6e 65 77 50 6c 61 79 name);. newPlay
- 000009e0: 65 72 2e 69 64 20 3d 20 64 61 74 61 2e 69 64 3b er.id = data.id;
- 000009f0: 0a 20 20 6e 65 77 50 6c 61 79 65 72 2e 6e 61 6d . newPlayer.nam
- 00000a00: 65 20 3d 20 64 61 74 61 2e 6e 61 6d 65 3b 0a 20 e = data.name;.
- 00000a10: 20 6e 65 77 50 6c 61 79 65 72 2e 78 20 3d 20 6e newPlayer.x = n
- 00000a20: 65 77 50 6c 61 79 65 72 2e 58 28 29 3b 0a 20 20 ewPlayer.X();.
- 00000a30: 6e 65 77 50 6c 61 79 65 72 2e 79 20 3d 20 6e 65 newPlayer.y = ne
- 00000a40: 77 50 6c 61 79 65 72 2e 59 28 29 3b 0a 20 20 72 wPlayer.Y();. r
- 00000a50: 65 74 75 72 6e 20 72 65 6d 6f 74 65 50 6c 61 79 eturn remotePlay
- 00000a60: 65 72 73 2e 70 75 73 68 28 6e 65 77 50 6c 61 79 ers.push(newPlay
- 00000a70: 65 72 29 3b 0a 7d 3b 0a 0a 6f 6e 4d 6f 76 65 50 er);.};..onMoveP
- 00000a80: 6c 61 79 65 72 20 3d 20 66 75 6e 63 74 69 6f 6e layer = function
- 00000a90: 28 64 61 74 61 29 20 7b 0a 20 20 76 61 72 20 6d (data) {. var m
- 00000aa0: 6f 76 65 50 6c 61 79 65 72 3b 0a 20 20 6d 6f 76 ovePlayer;. mov
- 00000ab0: 65 50 6c 61 79 65 72 20 3d 20 70 6c 61 79 65 72 ePlayer = player
- 00000ac0: 42 79 49 64 28 64 61 74 61 2e 69 64 29 3b 0a 20 ById(data.id);.
- 00000ad0: 20 69 66 20 28 21 6d 6f 76 65 50 6c 61 79 65 72 if (!movePlayer
- 00000ae0: 29 20 7b 0a 20 20 20 20 63 6f 6e 73 6f 6c 65 2e ) {. console.
- 00000af0: 6c 6f 67 28 27 50 6c 61 79 65 72 20 6e 6f 74 20 log('Player not
- 00000b00: 66 6f 75 6e 64 3a 20 27 20 2b 20 64 61 74 61 2e found: ' + data.
- 00000b10: 69 64 29 3b 0a 20 20 20 20 72 65 74 75 72 6e 3b id);. return;
- 00000b20: 0a 20 20 7d 0a 20 20 6d 6f 76 65 50 6c 61 79 65 . }. movePlaye
- 00000b30: 72 2e 78 20 3d 20 64 61 74 61 2e 78 3b 0a 20 20 r.x = data.x;.
- 00000b40: 72 65 74 75 72 6e 20 6d 6f 76 65 50 6c 61 79 65 return movePlaye
- 00000b50: 72 2e 79 20 3d 20 64 61 74 61 2e 79 3b 0a 7d 3b r.y = data.y;.};
- 00000b60: 0a 0a 6f 6e 52 65 6d 6f 76 65 50 6c 61 79 65 72 ..onRemovePlayer
- 00000b70: 20 3d 20 66 75 6e 63 74 69 6f 6e 28 64 61 74 61 = function(data
- 00000b80: 29 20 7b 0a 20 20 76 61 72 20 72 65 6d 6f 76 65 ) {. var remove
- 00000b90: 50 6c 61 79 65 72 3b 0a 20 20 72 65 6d 6f 76 65 Player;. remove
- 00000ba0: 50 6c 61 79 65 72 20 3d 20 70 6c 61 79 65 72 42 Player = playerB
- 00000bb0: 79 49 64 28 64 61 74 61 2e 69 64 29 3b 0a 20 20 yId(data.id);.
- 00000bc0: 69 66 20 28 21 72 65 6d 6f 76 65 50 6c 61 79 65 if (!removePlaye
- 00000bd0: 72 29 20 7b 0a 20 20 20 20 63 6f 6e 73 6f 6c 65 r) {. console
- 00000be0: 2e 6c 6f 67 28 27 50 6c 61 79 65 72 20 6e 6f 74 .log('Player not
- 00000bf0: 20 66 6f 75 6e 64 3a 20 27 20 2b 20 64 61 74 61 found: ' + data
- 00000c00: 2e 69 64 29 3b 0a 20 20 20 20 72 65 74 75 72 6e .id);. return
- 00000c10: 3b 0a 20 20 7d 0a 20 20 72 65 74 75 72 6e 20 72 ;. }. return r
- 00000c20: 65 6d 6f 74 65 50 6c 61 79 65 72 73 2e 73 70 6c emotePlayers.spl
- 00000c30: 69 63 65 28 72 65 6d 6f 74 65 50 6c 61 79 65 72 ice(remotePlayer
- 00000c40: 73 2e 69 6e 64 65 78 4f 66 28 72 65 6d 6f 76 65 s.indexOf(remove
- 00000c50: 50 6c 61 79 65 72 29 2c 20 31 29 3b 0a 7d 3b 0a Player), 1);.};.
- 00000c60: 0a 74 69 63 6b 20 3d 20 66 75 6e 63 74 69 6f 6e .tick = function
- 00000c70: 28 29 20 7b 0a 20 20 76 61 72 20 64 65 6c 74 61 () {. var delta
- 00000c80: 54 69 6d 65 2c 20 6c 61 73 74 55 70 64 61 74 65 Time, lastUpdate
- 00000c90: 2c 20 6e 6f 77 3b 0a 20 20 6e 6f 77 20 3d 20 44 , now;. now = D
- 00000ca0: 61 74 65 2e 6e 6f 77 28 29 3b 0a 20 20 64 65 6c ate.now();. del
- 00000cb0: 74 61 54 69 6d 65 20 3d 20 6e 6f 77 20 2d 20 6c taTime = now - l
- 00000cc0: 61 73 74 55 70 64 61 74 65 3b 0a 20 20 6c 61 73 astUpdate;. las
- 00000cd0: 74 55 70 64 61 74 65 20 3d 20 6e 6f 77 3b 0a 20 tUpdate = now;.
- 00000ce0: 20 75 70 64 61 74 65 28 29 3b 0a 20 20 64 72 61 update();. dra
- 00000cf0: 77 28 29 3b 0a 20 20 72 65 74 75 72 6e 20 77 69 w();. return wi
- 00000d00: 6e 64 6f 77 2e 72 65 71 75 65 73 74 41 6e 69 6d ndow.requestAnim
- 00000d10: 46 72 61 6d 65 28 74 69 63 6b 29 3b 0a 7d 3b 0a Frame(tick);.};.
- 00000d20: 0a 0a 2f 2a 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ../*.***********
- 00000d30: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
- 00000d40: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
- 00000d50: 2a 2a 2a 2a 2a 2a 0a 2a 2a 20 47 41 4d 45 20 55 ******.** GAME U
- 00000d60: 50 44 41 54 45 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a PDATE.**********
- 00000d70: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
- 00000d80: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
- 00000d90: 2a 2a 2a 2a 2a 2a 2a 0a 20 2a 2f 0a 0a 75 70 64 *******. */..upd
- 00000da0: 61 74 65 20 3d 20 66 75 6e 63 74 69 6f 6e 28 29 ate = function()
- 00000db0: 20 7b 0a 20 20 69 66 20 28 6c 6f 63 61 6c 50 6c {. if (localPl
- 00000dc0: 61 79 65 72 2e 75 70 64 61 74 65 28 6b 65 79 73 ayer.update(keys
- 00000dd0: 29 29 20 7b 0a 20 20 20 20 73 6f 63 6b 65 74 2e )) {. socket.
- 00000de0: 65 6d 69 74 28 27 6d 6f 76 65 20 70 6c 61 79 65 emit('move playe
- 00000df0: 72 27 2c 20 7b 0a 20 20 20 20 20 20 78 3a 20 6c r', {. x: l
- 00000e00: 6f 63 61 6c 50 6c 61 79 65 72 2e 58 28 29 2c 0a ocalPlayer.X(),.
- 00000e10: 20 20 20 20 20 20 79 3a 20 6c 6f 63 61 6c 50 6c y: localPl
- 00000e20: 61 79 65 72 2e 59 28 29 0a 20 20 20 20 7d 29 3b ayer.Y(). });
- 00000e30: 0a 20 20 7d 0a 20 20 72 65 74 75 72 6e 20 63 61 . }. return ca
- 00000e40: 6d 65 72 61 2e 75 70 64 61 74 65 28 29 3b 0a 7d mera.update();.}
- 00000e50: 3b 0a 0a 0a 2f 2a 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a ;.../*.*********
- 00000e60: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
- 00000e70: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
- 00000e80: 2a 2a 2a 2a 2a 2a 2a 2a 0a 2a 2a 20 47 41 4d 45 ********.** GAME
- 00000e90: 20 44 52 41 57 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a DRAW.**********
- 00000ea0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
- 00000eb0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
- 00000ec0: 2a 2a 2a 2a 2a 2a 2a 0a 20 2a 2f 0a 0a 64 72 61 *******. */..dra
- 00000ed0: 77 20 3d 20 66 75 6e 63 74 69 6f 6e 28 29 20 7b w = function() {
- 00000ee0: 0a 20 20 76 61 72 20 6a 2c 20 6c 65 6e 2c 20 70 . var j, len, p
- 00000ef0: 3b 0a 20 20 63 74 78 2e 63 6c 65 61 72 52 65 63 ;. ctx.clearRec
- 00000f00: 74 28 30 2c 20 30 2c 20 63 61 6e 76 61 73 2e 77 t(0, 0, canvas.w
- 00000f10: 69 64 74 68 2c 20 63 61 6e 76 61 73 2e 68 65 69 idth, canvas.hei
- 00000f20: 67 68 74 29 3b 0a 20 20 72 6f 6f 6d 2e 6d 61 70 ght);. room.map
- 00000f30: 2e 64 72 61 77 28 63 74 78 2c 20 63 61 6d 65 72 .draw(ctx, camer
- 00000f40: 61 2e 78 56 69 65 77 2c 20 63 61 6d 65 72 61 2e a.xView, camera.
- 00000f50: 79 56 69 65 77 29 3b 0a 20 20 66 6f 72 20 28 6a yView);. for (j
- 00000f60: 20 3d 20 30 2c 20 6c 65 6e 20 3d 20 72 65 6d 6f = 0, len = remo
- 00000f70: 74 65 50 6c 61 79 65 72 73 2e 6c 65 6e 67 74 68 tePlayers.length
- 00000f80: 3b 20 6a 20 3c 20 6c 65 6e 3b 20 6a 2b 2b 29 20 ; j < len; j++)
- 00000f90: 7b 0a 20 20 20 20 70 20 3d 20 72 65 6d 6f 74 65 {. p = remote
- 00000fa0: 50 6c 61 79 65 72 73 5b 6a 5d 3b 0a 20 20 20 20 Players[j];.
- 00000fb0: 70 2e 64 72 61 77 28 63 74 78 2c 20 63 61 6d 65 p.draw(ctx, came
- 00000fc0: 72 61 2e 78 56 69 65 77 2c 20 63 61 6d 65 72 61 ra.xView, camera
- 00000fd0: 2e 79 56 69 65 77 29 3b 0a 20 20 7d 0a 20 20 6c .yView);. }. l
- 00000fe0: 6f 63 61 6c 50 6c 61 79 65 72 2e 64 72 61 77 28 ocalPlayer.draw(
- 00000ff0: 63 74 78 2c 20 63 61 6d 65 72 61 2e 78 56 69 65 ctx, camera.xVie
- 00001000: 77 2c 20 63 61 6d 65 72 61 2e 79 56 69 65 77 29 w, camera.yView)
- 00001010: 3b 0a 20 20 72 65 74 75 72 6e 20 64 72 61 77 5f ;. return draw_
- 00001020: 64 65 62 75 67 28 63 74 78 2c 20 63 61 6d 65 72 debug(ctx, camer
- 00001030: 61 2e 77 56 69 65 77 2c 20 63 61 6d 65 72 61 2e a.wView, camera.
- 00001040: 68 56 69 65 77 29 3b 0a 7d 3b 0a 0a 0a 2f 2a 0a hView);.};.../*.
- 00001050: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
- 00001060: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
- 00001070: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
- 00001080: 2a 0a 2a 2a 20 47 41 4d 45 20 50 4c 41 59 45 52 *.** GAME PLAYER
- 00001090: 20 53 45 4c 45 43 54 4f 52 0a 2a 2a 2a 2a 2a 2a SELECTOR.******
- 000010a0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
- 000010b0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
- 000010c0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 20 2a 2f 0a ***********. */.
- 000010d0: 0a 70 6c 61 79 65 72 42 79 49 64 20 3d 20 66 75 .playerById = fu
- 000010e0: 6e 63 74 69 6f 6e 28 69 64 29 20 7b 0a 20 20 76 nction(id) {. v
- 000010f0: 61 72 20 6a 2c 20 6c 65 6e 2c 20 70 3b 0a 20 20 ar j, len, p;.
- 00001100: 66 6f 72 20 28 6a 20 3d 20 30 2c 20 6c 65 6e 20 for (j = 0, len
- 00001110: 3d 20 72 65 6d 6f 74 65 50 6c 61 79 65 72 73 2e = remotePlayers.
- 00001120: 6c 65 6e 67 74 68 3b 20 6a 20 3c 20 6c 65 6e 3b length; j < len;
- 00001130: 20 6a 2b 2b 29 20 7b 0a 20 20 20 20 70 20 3d 20 j++) {. p =
- 00001140: 72 65 6d 6f 74 65 50 6c 61 79 65 72 73 5b 6a 5d remotePlayers[j]
- 00001150: 3b 0a 20 20 20 20 69 66 20 28 70 2e 69 64 20 3d ;. if (p.id =
- 00001160: 3d 3d 20 69 64 29 20 7b 0a 20 20 20 20 20 20 72 == id) {. r
- 00001170: 65 74 75 72 6e 20 70 3b 0a 20 20 20 20 7d 0a 20 eturn p;. }.
- 00001180: 20 7d 0a 20 20 72 65 74 75 72 6e 20 66 61 6c 73 }. return fals
- 00001190: 65 3b 0a 7d 3b 0a 0a 77 69 6e 64 6f 77 2e 72 65 e;.};..window.re
- 000011a0: 71 75 65 73 74 41 6e 69 6d 46 72 61 6d 65 20 3d questAnimFrame =
- 000011b0: 20 66 75 6e 63 74 69 6f 6e 28 29 20 7b 0a 20 20 function() {.
- 000011c0: 72 65 74 75 72 6e 20 77 69 6e 64 6f 77 2e 72 65 return window.re
- 000011d0: 71 75 65 73 74 41 6e 69 6d 61 74 69 6f 6e 46 72 questAnimationFr
- 000011e0: 61 6d 65 20 7c 7c 20 77 69 6e 64 6f 77 2e 77 65 ame || window.we
- 000011f0: 62 6b 69 74 52 65 71 75 65 73 74 41 6e 69 6d 61 bkitRequestAnima
- 00001200: 74 69 6f 6e 46 72 61 6d 65 20 7c 7c 20 77 69 6e tionFrame || win
- 00001210: 64 6f 77 2e 6d 6f 7a 52 65 71 75 65 73 74 41 6e dow.mozRequestAn
- 00001220: 69 6d 61 74 69 6f 6e 46 72 61 6d 65 20 7c 7c 20 imationFrame ||
- 00001230: 77 69 6e 64 6f 77 2e 6f 52 65 71 75 65 73 74 41 window.oRequestA
- 00001240: 6e 69 6d 61 74 69 6f 6e 46 72 61 6d 65 20 7c 7c nimationFrame ||
- 00001250: 20 77 69 6e 64 6f 77 2e 6d 73 52 65 71 75 65 73 window.msReques
- 00001260: 74 41 6e 69 6d 61 74 69 6f 6e 46 72 61 6d 65 20 tAnimationFrame
- 00001270: 7c 7c 20 66 75 6e 63 74 69 6f 6e 28 63 61 6c 6c || function(call
- 00001280: 62 61 63 6b 2c 20 65 6c 65 6d 65 6e 74 29 20 7b back, element) {
- 00001290: 0a 20 20 20 20 72 65 74 75 72 6e 20 77 69 6e 64 . return wind
- 000012a0: 6f 77 2e 73 65 74 54 69 6d 65 6f 75 74 28 63 61 ow.setTimeout(ca
- 000012b0: 6c 6c 62 61 63 6b 2c 20 31 30 30 30 20 2f 20 36 llback, 1000 / 6
- 000012c0: 30 29 3b 0a 20 20 7d 3b 0a 7d 3b 0a 0a 77 69 6e 0);. };.};..win
- 000012d0: 64 6f 77 2e 47 61 6d 65 20 3d 20 7b 7d 3b 0a 0a dow.Game = {};..
- 000012e0: 77 69 6e 64 6f 77 2e 72 65 6d 6f 76 65 44 65 63 window.removeDec
- 000012f0: 69 6d 61 6c 20 3d 20 66 75 6e 63 74 69 6f 6e 28 imal = function(
- 00001300: 78 29 20 7b 0a 20 20 72 65 74 75 72 6e 20 7e 7e x) {. return ~~
- 00001310: 78 3b 0a 7d 3b 0a 0a 28 66 75 6e 63 74 69 6f 6e x;.};..(function
- 00001320: 28 29 20 7b 0a 20 20 76 61 72 20 52 65 63 74 61 () {. var Recta
- 00001330: 6e 67 6c 65 3b 0a 20 20 52 65 63 74 61 6e 67 6c ngle;. Rectangl
- 00001340: 65 20 3d 20 66 75 6e 63 74 69 6f 6e 28 6c 65 66 e = function(lef
- 00001350: 74 2c 20 74 6f 70 2c 20 77 69 64 74 68 2c 20 68 t, top, width, h
- 00001360: 65 69 67 68 74 29 20 7b 0a 20 20 20 20 69 66 20 eight) {. if
- 00001370: 28 6c 65 66 74 20 3d 3d 20 6e 75 6c 6c 29 20 7b (left == null) {
- 00001380: 0a 20 20 20 20 20 20 6c 65 66 74 20 3d 20 30 3b . left = 0;
- 00001390: 0a 20 20 20 20 7d 0a 20 20 20 20 69 66 20 28 74 . }. if (t
- 000013a0: 6f 70 20 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 20 20 op == null) {.
- 000013b0: 20 20 20 20 74 6f 70 20 3d 20 30 3b 0a 20 20 20 top = 0;.
- 000013c0: 20 7d 0a 20 20 20 20 69 66 20 28 77 69 64 74 68 }. if (width
- 000013d0: 20 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 20 20 20 20 == null) {.
- 000013e0: 20 20 77 69 64 74 68 20 3d 20 30 3b 0a 20 20 20 width = 0;.
- 000013f0: 20 7d 0a 20 20 20 20 69 66 20 28 68 65 69 67 68 }. if (heigh
- 00001400: 74 20 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 20 20 20 t == null) {.
- 00001410: 20 20 20 68 65 69 67 68 74 20 3d 20 30 3b 0a 20 height = 0;.
- 00001420: 20 20 20 7d 0a 20 20 20 20 74 68 69 73 2e 6c 65 }. this.le
- 00001430: 66 74 20 3d 20 6c 65 66 74 3b 0a 20 20 20 20 74 ft = left;. t
- 00001440: 68 69 73 2e 74 6f 70 20 3d 20 74 6f 70 3b 0a 20 his.top = top;.
- 00001450: 20 20 20 74 68 69 73 2e 77 69 64 74 68 20 3d 20 this.width =
- 00001460: 77 69 64 74 68 3b 0a 20 20 20 20 74 68 69 73 2e width;. this.
- 00001470: 68 65 69 67 68 74 20 3d 20 68 65 69 67 68 74 3b height = height;
- 00001480: 0a 20 20 20 20 74 68 69 73 2e 72 69 67 68 74 20 . this.right
- 00001490: 3d 20 74 68 69 73 2e 6c 65 66 74 20 2b 20 74 68 = this.left + th
- 000014a0: 69 73 2e 77 69 64 74 68 3b 0a 20 20 20 20 74 68 is.width;. th
- 000014b0: 69 73 2e 62 6f 74 74 6f 6d 20 3d 20 74 68 69 73 is.bottom = this
- 000014c0: 2e 74 6f 70 20 2b 20 74 68 69 73 2e 68 65 69 67 .top + this.heig
- 000014d0: 68 74 3b 0a 20 20 7d 3b 0a 20 20 52 65 63 74 61 ht;. };. Recta
- 000014e0: 6e 67 6c 65 2e 70 72 6f 74 6f 74 79 70 65 2e 73 ngle.prototype.s
- 000014f0: 65 74 20 3d 20 66 75 6e 63 74 69 6f 6e 28 6c 65 et = function(le
- 00001500: 66 74 2c 20 74 6f 70 2c 20 77 69 64 74 68 2c 20 ft, top, width,
- 00001510: 68 65 69 67 68 74 29 20 7b 0a 20 20 20 20 69 66 height) {. if
- 00001520: 20 28 77 69 64 74 68 20 3d 3d 20 6e 75 6c 6c 29 (width == null)
- 00001530: 20 7b 0a 20 20 20 20 20 20 77 69 64 74 68 20 3d {. width =
- 00001540: 20 74 68 69 73 2e 77 69 64 74 68 3b 0a 20 20 20 this.width;.
- 00001550: 20 7d 0a 20 20 20 20 69 66 20 28 68 65 69 67 68 }. if (heigh
- 00001560: 74 20 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 20 20 20 t == null) {.
- 00001570: 20 20 20 68 65 69 67 68 74 20 3d 20 74 68 69 73 height = this
- 00001580: 2e 68 65 69 67 68 74 3b 0a 20 20 20 20 7d 0a 20 .height;. }.
- 00001590: 20 20 20 74 68 69 73 2e 6c 65 66 74 20 3d 20 6c this.left = l
- 000015a0: 65 66 74 3b 0a 20 20 20 20 74 68 69 73 2e 74 6f eft;. this.to
- 000015b0: 70 20 3d 20 74 6f 70 3b 0a 20 20 20 20 74 68 69 p = top;. thi
- 000015c0: 73 2e 77 69 64 74 68 20 3d 20 77 69 64 74 68 3b s.width = width;
- 000015d0: 0a 20 20 20 20 74 68 69 73 2e 68 65 69 67 68 74 . this.height
- 000015e0: 20 3d 20 68 65 69 67 68 74 3b 0a 20 20 20 20 74 = height;. t
- 000015f0: 68 69 73 2e 72 69 67 68 74 20 3d 20 74 68 69 73 his.right = this
- 00001600: 2e 6c 65 66 74 20 2b 20 74 68 69 73 2e 77 69 64 .left + this.wid
- 00001610: 74 68 3b 0a 20 20 20 20 74 68 69 73 2e 62 6f 74 th;. this.bot
- 00001620: 74 6f 6d 20 3d 20 74 68 69 73 2e 74 6f 70 20 2b tom = this.top +
- 00001630: 20 74 68 69 73 2e 68 65 69 67 68 74 3b 0a 20 20 this.height;.
- 00001640: 7d 3b 0a 20 20 52 65 63 74 61 6e 67 6c 65 2e 70 };. Rectangle.p
- 00001650: 72 6f 74 6f 74 79 70 65 2e 77 69 74 68 69 6e 20 rototype.within
- 00001660: 3d 20 66 75 6e 63 74 69 6f 6e 28 72 29 20 7b 0a = function(r) {.
- 00001670: 20 20 20 20 72 65 74 75 72 6e 20 28 72 2e 6c 65 return (r.le
- 00001680: 66 74 20 3c 3d 20 74 68 69 73 2e 6c 65 66 74 29 ft <= this.left)
- 00001690: 20 26 26 20 28 72 2e 72 69 67 68 74 20 3e 3d 20 && (r.right >=
- 000016a0: 74 68 69 73 2e 72 69 67 68 74 29 20 26 26 20 28 this.right) && (
- 000016b0: 72 2e 74 6f 70 20 3c 3d 20 74 68 69 73 2e 74 6f r.top <= this.to
- 000016c0: 70 29 20 26 26 20 28 72 2e 62 6f 74 74 6f 6d 20 p) && (r.bottom
- 000016d0: 3e 3d 20 74 68 69 73 2e 62 6f 74 74 6f 6d 29 3b >= this.bottom);
- 000016e0: 0a 20 20 7d 3b 0a 20 20 52 65 63 74 61 6e 67 6c . };. Rectangl
- 000016f0: 65 2e 70 72 6f 74 6f 74 79 70 65 2e 6f 76 65 72 e.prototype.over
- 00001700: 6c 61 70 73 20 3d 20 66 75 6e 63 74 69 6f 6e 28 laps = function(
- 00001710: 72 29 20 7b 0a 20 20 20 20 72 65 74 75 72 6e 20 r) {. return
- 00001720: 28 74 68 69 73 2e 6c 65 66 74 20 3c 20 72 2e 72 (this.left < r.r
- 00001730: 69 67 68 74 29 20 26 26 20 28 72 2e 6c 65 66 74 ight) && (r.left
- 00001740: 20 3c 20 74 68 69 73 2e 72 69 67 68 74 29 20 26 < this.right) &
- 00001750: 26 20 28 74 68 69 73 2e 74 6f 70 20 3c 20 72 2e & (this.top < r.
- 00001760: 62 6f 74 74 6f 6d 29 20 26 26 20 28 72 2e 74 6f bottom) && (r.to
- 00001770: 70 20 3c 20 74 68 69 73 2e 62 6f 74 74 6f 6d 29 p < this.bottom)
- 00001780: 3b 0a 20 20 7d 3b 0a 20 20 47 61 6d 65 2e 52 65 ;. };. Game.Re
- 00001790: 63 74 61 6e 67 6c 65 20 3d 20 52 65 63 74 61 6e ctangle = Rectan
- 000017a0: 67 6c 65 3b 0a 7d 29 28 29 3b 0a 0a 28 66 75 6e gle;.})();..(fun
- 000017b0: 63 74 69 6f 6e 28 29 20 7b 0a 20 20 76 61 72 20 ction() {. var
- 000017c0: 41 58 49 53 2c 20 43 61 6d 65 72 61 3b 0a 20 20 AXIS, Camera;.
- 000017d0: 41 58 49 53 20 3d 20 7b 0a 20 20 20 20 4e 4f 4e AXIS = {. NON
- 000017e0: 45 3a 20 27 6e 6f 6e 65 27 2c 0a 20 20 20 20 48 E: 'none',. H
- 000017f0: 4f 52 49 5a 4f 4e 54 41 4c 3a 20 27 68 6f 72 69 ORIZONTAL: 'hori
- 00001800: 7a 6f 6e 74 61 6c 27 2c 0a 20 20 20 20 56 45 52 zontal',. VER
- 00001810: 54 49 43 41 4c 3a 20 27 76 65 72 74 69 63 61 6c TICAL: 'vertical
- 00001820: 27 2c 0a 20 20 20 20 42 4f 54 48 3a 20 27 62 6f ',. BOTH: 'bo
- 00001830: 74 68 27 0a 20 20 7d 3b 0a 20 20 43 61 6d 65 72 th'. };. Camer
- 00001840: 61 20 3d 20 66 75 6e 63 74 69 6f 6e 28 78 56 69 a = function(xVi
- 00001850: 65 77 2c 20 79 56 69 65 77 2c 20 63 61 6e 76 61 ew, yView, canva
- 00001860: 73 57 69 64 74 68 2c 20 63 61 6e 76 61 73 48 65 sWidth, canvasHe
- 00001870: 69 67 68 74 2c 20 77 6f 72 6c 64 57 69 64 74 68 ight, worldWidth
- 00001880: 2c 20 77 6f 72 6c 64 48 65 69 67 68 74 29 20 7b , worldHeight) {
- 00001890: 0a 20 20 20 20 74 68 69 73 2e 78 56 69 65 77 20 . this.xView
- 000018a0: 3d 20 78 56 69 65 77 3b 0a 20 20 20 20 74 68 69 = xView;. thi
- 000018b0: 73 2e 79 56 69 65 77 20 3d 20 79 56 69 65 77 3b s.yView = yView;
- 000018c0: 0a 20 20 20 20 74 68 69 73 2e 78 44 65 61 64 5a . this.xDeadZ
- 000018d0: 6f 6e 65 20 3d 20 30 3b 0a 20 20 20 20 74 68 69 one = 0;. thi
- 000018e0: 73 2e 79 44 65 61 64 5a 6f 6e 65 20 3d 20 30 3b s.yDeadZone = 0;
- 000018f0: 0a 20 20 20 20 74 68 69 73 2e 77 56 69 65 77 20 . this.wView
- 00001900: 3d 20 63 61 6e 76 61 73 57 69 64 74 68 3b 0a 20 = canvasWidth;.
- 00001910: 20 20 20 74 68 69 73 2e 68 56 69 65 77 20 3d 20 this.hView =
- 00001920: 63 61 6e 76 61 73 48 65 69 67 68 74 3b 0a 20 20 canvasHeight;.
- 00001930: 20 20 74 68 69 73 2e 61 78 69 73 20 3d 20 41 58 this.axis = AX
- 00001940: 49 53 2e 42 4f 54 48 3b 0a 20 20 20 20 74 68 69 IS.BOTH;. thi
- 00001950: 73 2e 66 6f 6c 6c 6f 77 65 64 20 3d 20 6e 75 6c s.followed = nul
- 00001960: 6c 3b 0a 20 20 20 20 74 68 69 73 2e 76 69 65 77 l;. this.view
- 00001970: 70 6f 72 74 52 65 63 74 20 3d 20 6e 65 77 20 47 portRect = new G
- 00001980: 61 6d 65 2e 52 65 63 74 61 6e 67 6c 65 28 74 68 ame.Rectangle(th
- 00001990: 69 73 2e 78 56 69 65 77 2c 20 74 68 69 73 2e 79 is.xView, this.y
- 000019a0: 56 69 65 77 2c 20 74 68 69 73 2e 77 56 69 65 77 View, this.wView
- 000019b0: 2c 20 74 68 69 73 2e 68 56 69 65 77 29 3b 0a 20 , this.hView);.
- 000019c0: 20 20 20 74 68 69 73 2e 77 6f 72 6c 64 52 65 63 this.worldRec
- 000019d0: 74 20 3d 20 6e 65 77 20 47 61 6d 65 2e 52 65 63 t = new Game.Rec
- 000019e0: 74 61 6e 67 6c 65 28 30 2c 20 30 2c 20 77 6f 72 tangle(0, 0, wor
- 000019f0: 6c 64 57 69 64 74 68 2c 20 77 6f 72 6c 64 48 65 ldWidth, worldHe
- 00001a00: 69 67 68 74 29 3b 0a 20 20 7d 3b 0a 20 20 43 61 ight);. };. Ca
- 00001a10: 6d 65 72 61 2e 70 72 6f 74 6f 74 79 70 65 2e 66 mera.prototype.f
- 00001a20: 6f 6c 6c 6f 77 20 3d 20 66 75 6e 63 74 69 6f 6e ollow = function
- 00001a30: 28 67 61 6d 65 4f 62 6a 65 63 74 2c 20 78 44 65 (gameObject, xDe
- 00001a40: 61 64 5a 6f 6e 65 2c 20 79 44 65 61 64 5a 6f 6e adZone, yDeadZon
- 00001a50: 65 29 20 7b 0a 20 20 20 20 74 68 69 73 2e 66 6f e) {. this.fo
- 00001a60: 6c 6c 6f 77 65 64 20 3d 20 67 61 6d 65 4f 62 6a llowed = gameObj
- 00001a70: 65 63 74 3b 0a 20 20 20 20 74 68 69 73 2e 78 44 ect;. this.xD
- 00001a80: 65 61 64 5a 6f 6e 65 20 3d 20 78 44 65 61 64 5a eadZone = xDeadZ
- 00001a90: 6f 6e 65 3b 0a 20 20 20 20 74 68 69 73 2e 79 44 one;. this.yD
- 00001aa0: 65 61 64 5a 6f 6e 65 20 3d 20 79 44 65 61 64 5a eadZone = yDeadZ
- 00001ab0: 6f 6e 65 3b 0a 20 20 7d 3b 0a 20 20 43 61 6d 65 one;. };. Came
- 00001ac0: 72 61 2e 70 72 6f 74 6f 74 79 70 65 2e 75 70 64 ra.prototype.upd
- 00001ad0: 61 74 65 20 3d 20 66 75 6e 63 74 69 6f 6e 28 29 ate = function()
- 00001ae0: 20 7b 0a 20 20 20 20 69 66 20 28 74 68 69 73 2e {. if (this.
- 00001af0: 66 6f 6c 6c 6f 77 65 64 20 21 3d 20 6e 75 6c 6c followed != null
- 00001b00: 29 20 7b 0a 20 20 20 20 20 20 69 66 20 28 74 68 ) {. if (th
- 00001b10: 69 73 2e 61 78 69 73 20 3d 3d 3d 20 41 58 49 53 is.axis === AXIS
- 00001b20: 2e 48 4f 52 49 5a 4f 4e 54 41 4c 20 7c 7c 20 74 .HORIZONTAL || t
- 00001b30: 68 69 73 2e 61 78 69 73 20 3d 3d 3d 20 41 58 49 his.axis === AXI
- 00001b40: 53 2e 42 4f 54 48 29 20 7b 0a 20 20 20 20 20 20 S.BOTH) {.
- 00001b50: 20 20 69 66 20 28 28 74 68 69 73 2e 66 6f 6c 6c if ((this.foll
- 00001b60: 6f 77 65 64 2e 78 20 2d 20 74 68 69 73 2e 78 56 owed.x - this.xV
- 00001b70: 69 65 77 20 2b 20 74 68 69 73 2e 78 44 65 61 64 iew + this.xDead
- 00001b80: 5a 6f 6e 65 29 20 3e 20 74 68 69 73 2e 77 56 69 Zone) > this.wVi
- 00001b90: 65 77 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 ew) {.
- 00001ba0: 74 68 69 73 2e 78 56 69 65 77 20 3d 20 74 68 69 this.xView = thi
- 00001bb0: 73 2e 66 6f 6c 6c 6f 77 65 64 2e 78 20 2d 20 28 s.followed.x - (
- 00001bc0: 74 68 69 73 2e 77 56 69 65 77 20 2d 20 74 68 69 this.wView - thi
- 00001bd0: 73 2e 78 44 65 61 64 5a 6f 6e 65 29 3b 0a 20 20 s.xDeadZone);.
- 00001be0: 20 20 20 20 20 20 7d 20 65 6c 73 65 20 69 66 20 } else if
- 00001bf0: 28 28 74 68 69 73 2e 66 6f 6c 6c 6f 77 65 64 2e ((this.followed.
- 00001c00: 78 20 2d 20 74 68 69 73 2e 78 44 65 61 64 5a 6f x - this.xDeadZo
- 00001c10: 6e 65 29 20 3c 20 74 68 69 73 2e 78 56 69 65 77 ne) < this.xView
- 00001c20: 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 74 68 ) {. th
- 00001c30: 69 73 2e 78 56 69 65 77 20 3d 20 74 68 69 73 2e is.xView = this.
- 00001c40: 66 6f 6c 6c 6f 77 65 64 2e 78 20 2d 20 74 68 69 followed.x - thi
- 00001c50: 73 2e 78 44 65 61 64 5a 6f 6e 65 3b 0a 20 20 20 s.xDeadZone;.
- 00001c60: 20 20 20 20 20 7d 0a 20 20 20 20 20 20 7d 0a 20 }. }.
- 00001c70: 20 20 20 20 20 69 66 20 28 74 68 69 73 2e 61 78 if (this.ax
- 00001c80: 69 73 20 3d 3d 3d 20 41 58 49 53 2e 56 45 52 54 is === AXIS.VERT
- 00001c90: 49 43 41 4c 20 7c 7c 20 74 68 69 73 2e 61 78 69 ICAL || this.axi
- 00001ca0: 73 20 3d 3d 3d 20 41 58 49 53 2e 42 4f 54 48 29 s === AXIS.BOTH)
- 00001cb0: 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 28 {. if ((
- 00001cc0: 74 68 69 73 2e 66 6f 6c 6c 6f 77 65 64 2e 79 20 this.followed.y
- 00001cd0: 2d 20 74 68 69 73 2e 79 56 69 65 77 20 2b 20 74 - this.yView + t
- 00001ce0: 68 69 73 2e 79 44 65 61 64 5a 6f 6e 65 29 20 3e his.yDeadZone) >
- 00001cf0: 20 74 68 69 73 2e 68 56 69 65 77 29 20 7b 0a 20 this.hView) {.
- 00001d00: 20 20 20 20 20 20 20 20 20 74 68 69 73 2e 79 56 this.yV
- 00001d10: 69 65 77 20 3d 20 74 68 69 73 2e 66 6f 6c 6c 6f iew = this.follo
- 00001d20: 77 65 64 2e 79 20 2d 20 28 74 68 69 73 2e 68 56 wed.y - (this.hV
- 00001d30: 69 65 77 20 2d 20 74 68 69 73 2e 79 44 65 61 64 iew - this.yDead
- 00001d40: 5a 6f 6e 65 29 3b 0a 20 20 20 20 20 20 20 20 7d Zone);. }
- 00001d50: 20 65 6c 73 65 20 69 66 20 28 28 74 68 69 73 2e else if ((this.
- 00001d60: 66 6f 6c 6c 6f 77 65 64 2e 79 20 2d 20 74 68 69 followed.y - thi
- 00001d70: 73 2e 79 44 65 61 64 5a 6f 6e 65 29 20 3c 20 74 s.yDeadZone) < t
- 00001d80: 68 69 73 2e 79 56 69 65 77 29 20 7b 0a 20 20 20 his.yView) {.
- 00001d90: 20 20 20 20 20 20 20 74 68 69 73 2e 79 56 69 65 this.yVie
- 00001da0: 77 20 3d 20 74 68 69 73 2e 66 6f 6c 6c 6f 77 65 w = this.followe
- 00001db0: 64 2e 79 20 2d 20 74 68 69 73 2e 79 44 65 61 64 d.y - this.yDead
- 00001dc0: 5a 6f 6e 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a Zone;. }.
- 00001dd0: 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 }. }.
- 00001de0: 20 20 74 68 69 73 2e 76 69 65 77 70 6f 72 74 52 this.viewportR
- 00001df0: 65 63 74 2e 73 65 74 28 74 68 69 73 2e 78 56 69 ect.set(this.xVi
- 00001e00: 65 77 2c 20 74 68 69 73 2e 79 56 69 65 77 29 3b ew, this.yView);
- 00001e10: 0a 20 20 20 20 69 66 20 28 21 74 68 69 73 2e 76 . if (!this.v
- 00001e20: 69 65 77 70 6f 72 74 52 65 63 74 2e 77 69 74 68 iewportRect.with
- 00001e30: 69 6e 28 74 68 69 73 2e 77 6f 72 6c 64 52 65 63 in(this.worldRec
- 00001e40: 74 29 29 20 7b 0a 20 20 20 20 20 20 69 66 20 28 t)) {. if (
- 00001e50: 74 68 69 73 2e 76 69 65 77 70 6f 72 74 52 65 63 this.viewportRec
- 00001e60: 74 2e 6c 65 66 74 20 3c 20 74 68 69 73 2e 77 6f t.left < this.wo
- 00001e70: 72 6c 64 52 65 63 74 2e 6c 65 66 74 29 20 7b 0a rldRect.left) {.
- 00001e80: 20 20 20 20 20 20 20 20 74 68 69 73 2e 78 56 69 this.xVi
- 00001e90: 65 77 20 3d 20 74 68 69 73 2e 77 6f 72 6c 64 52 ew = this.worldR
- 00001ea0: 65 63 74 2e 6c 65 66 74 3b 0a 20 20 20 20 20 20 ect.left;.
- 00001eb0: 7d 0a 20 20 20 20 20 20 69 66 20 28 74 68 69 73 }. if (this
- 00001ec0: 2e 76 69 65 77 70 6f 72 74 52 65 63 74 2e 72 69 .viewportRect.ri
- 00001ed0: 67 68 74 20 3e 20 74 68 69 73 2e 77 6f 72 6c 64 ght > this.world
- 00001ee0: 52 65 63 74 2e 72 69 67 68 74 29 20 7b 0a 20 20 Rect.right) {.
- 00001ef0: 20 20 20 20 20 20 74 68 69 73 2e 78 56 69 65 77 this.xView
- 00001f00: 20 3d 20 74 68 69 73 2e 77 6f 72 6c 64 52 65 63 = this.worldRec
- 00001f10: 74 2e 72 69 67 68 74 20 2d 20 74 68 69 73 2e 77 t.right - this.w
- 00001f20: 56 69 65 77 3b 0a 20 20 20 20 20 20 7d 0a 20 20 View;. }.
- 00001f30: 20 20 20 20 69 66 20 28 74 68 69 73 2e 76 69 65 if (this.vie
- 00001f40: 77 70 6f 72 74 52 65 63 74 2e 74 6f 70 20 3c 20 wportRect.top <
- 00001f50: 74 68 69 73 2e 77 6f 72 6c 64 52 65 63 74 2e 74 this.worldRect.t
- 00001f60: 6f 70 29 20 7b 0a 20 20 20 20 20 20 20 20 74 68 op) {. th
- 00001f70: 69 73 2e 79 56 69 65 77 20 3d 20 74 68 69 73 2e is.yView = this.
- 00001f80: 77 6f 72 6c 64 52 65 63 74 2e 74 6f 70 3b 0a 20 worldRect.top;.
- 00001f90: 20 20 20 20 20 7d 0a 20 20 20 20 20 20 69 66 20 }. if
- 00001fa0: 28 74 68 69 73 2e 76 69 65 77 70 6f 72 74 52 65 (this.viewportRe
- 00001fb0: 63 74 2e 62 6f 74 74 6f 6d 20 3e 20 74 68 69 73 ct.bottom > this
- 00001fc0: 2e 77 6f 72 6c 64 52 65 63 74 2e 62 6f 74 74 6f .worldRect.botto
- 00001fd0: 6d 29 20 7b 0a 20 20 20 20 20 20 20 20 74 68 69 m) {. thi
- 00001fe0: 73 2e 79 56 69 65 77 20 3d 20 74 68 69 73 2e 77 s.yView = this.w
- 00001ff0: 6f 72 6c 64 52 65 63 74 2e 62 6f 74 74 6f 6d 20 orldRect.bottom
- 00002000: 2d 20 74 68 69 73 2e 68 56 69 65 77 3b 0a 20 20 - this.hView;.
- 00002010: 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 7d 3b }. }. };
- 00002020: 0a 20 20 47 61 6d 65 2e 43 61 6d 65 72 61 20 3d . Game.Camera =
- 00002030: 20 43 61 6d 65 72 61 3b 0a 7d 29 28 29 3b 0a 0a Camera;.})();..
- 00002040: 28 66 75 6e 63 74 69 6f 6e 28 29 20 7b 0a 20 20 (function() {.
- 00002050: 76 61 72 20 4d 61 70 3b 0a 20 20 4d 61 70 20 3d var Map;. Map =
- 00002060: 20 66 75 6e 63 74 69 6f 6e 28 77 69 64 74 68 2c function(width,
- 00002070: 20 68 65 69 67 68 74 29 20 7b 0a 20 20 20 20 74 height) {. t
- 00002080: 68 69 73 2e 77 69 64 74 68 20 3d 20 77 69 64 74 his.width = widt
- 00002090: 68 3b 0a 20 20 20 20 74 68 69 73 2e 68 65 69 67 h;. this.heig
- 000020a0: 68 74 20 3d 20 68 65 69 67 68 74 3b 0a 20 20 20 ht = height;.
- 000020b0: 20 74 68 69 73 2e 69 6d 61 67 65 20 3d 20 6e 75 this.image = nu
- 000020c0: 6c 6c 3b 0a 20 20 7d 3b 0a 20 20 4d 61 70 2e 70 ll;. };. Map.p
- 000020d0: 72 6f 74 6f 74 79 70 65 2e 67 65 6e 65 72 61 74 rototype.generat
- 000020e0: 65 20 3d 20 66 75 6e 63 74 69 6f 6e 28 29 20 7b e = function() {
- 000020f0: 0a 20 20 20 20 76 61 72 20 63 6f 6c 6f 72 2c 20 . var color,
- 00002100: 63 6f 6c 6f 72 73 2c 20 63 6f 6c 75 6d 6e 73 2c colors, columns,
- 00002110: 20 63 74 78 2c 20 69 2c 20 6a 2c 20 6b 2c 20 72 ctx, i, j, k, r
- 00002120: 65 66 2c 20 72 65 66 31 2c 20 72 6f 77 73 2c 20 ef, ref1, rows,
- 00002130: 78 2c 20 79 3b 0a 20 20 20 20 63 74 78 20 3d 20 x, y;. ctx =
- 00002140: 64 6f 63 75 6d 65 6e 74 2e 63 72 65 61 74 65 45 document.createE
- 00002150: 6c 65 6d 65 6e 74 28 27 63 61 6e 76 61 73 27 29 lement('canvas')
- 00002160: 2e 67 65 74 43 6f 6e 74 65 78 74 28 27 32 64 27 .getContext('2d'
- 00002170: 29 3b 0a 20 20 20 20 63 74 78 2e 63 61 6e 76 61 );. ctx.canva
- 00002180: 73 2e 77 69 64 74 68 20 3d 20 74 68 69 73 2e 77 s.width = this.w
- 00002190: 69 64 74 68 3b 0a 20 20 20 20 63 74 78 2e 63 61 idth;. ctx.ca
- 000021a0: 6e 76 61 73 2e 68 65 69 67 68 74 20 3d 20 74 68 nvas.height = th
- 000021b0: 69 73 2e 68 65 69 67 68 74 3b 0a 20 20 20 20 72 is.height;. r
- 000021c0: 6f 77 73 20 3d 20 77 69 6e 64 6f 77 2e 72 65 6d ows = window.rem
- 000021d0: 6f 76 65 44 65 63 69 6d 61 6c 28 74 68 69 73 2e oveDecimal(this.
- 000021e0: 77 69 64 74 68 20 2f 20 34 34 29 20 2b 20 31 3b width / 44) + 1;
- 000021f0: 0a 20 20 20 20 63 6f 6c 75 6d 6e 73 20 3d 20 77 . columns = w
- 00002200: 69 6e 64 6f 77 2e 72 65 6d 6f 76 65 44 65 63 69 indow.removeDeci
- 00002210: 6d 61 6c 28 74 68 69 73 2e 68 65 69 67 68 74 20 mal(this.height
- 00002220: 2f 20 34 34 29 20 2b 20 31 3b 0a 20 20 20 20 63 / 44) + 1;. c
- 00002230: 74 78 2e 73 61 76 65 28 29 3b 0a 20 20 20 20 63 tx.save();. c
- 00002240: 6f 6c 6f 72 20 3d 20 27 73 6b 79 62 6c 75 65 27 olor = 'skyblue'
- 00002250: 3b 0a 20 20 20 20 63 74 78 2e 66 69 6c 6c 53 74 ;. ctx.fillSt
- 00002260: 79 6c 65 20 3d 20 63 6f 6c 6f 72 3b 0a 20 20 20 yle = color;.
- 00002270: 20 69 20 3d 20 30 3b 0a 20 20 20 20 63 6f 6c 6f i = 0;. colo
- 00002280: 72 73 20 3d 20 5b 27 73 6b 79 62 6c 75 65 27 2c rs = ['skyblue',
- 00002290: 20 27 64 6f 64 67 65 72 62 6c 75 65 27 5d 3b 0a 'dodgerblue'];.
- 000022a0: 20 20 20 20 78 20 3d 20 32 3b 0a 20 20 20 20 66 x = 2;. f
- 000022b0: 6f 72 20 28 6a 20 3d 20 31 2c 20 72 65 66 20 3d or (j = 1, ref =
- 000022c0: 20 72 6f 77 73 3b 20 31 20 3c 3d 20 72 65 66 20 rows; 1 <= ref
- 000022d0: 3f 20 6a 20 3c 3d 20 72 65 66 20 3a 20 6a 20 3e ? j <= ref : j >
- 000022e0: 3d 20 72 65 66 3b 20 31 20 3c 3d 20 72 65 66 20 = ref; 1 <= ref
- 000022f0: 3f 20 6a 2b 2b 20 3a 20 6a 2d 2d 29 20 7b 0a 20 ? j++ : j--) {.
- 00002300: 20 20 20 20 20 79 20 3d 20 32 3b 0a 20 20 20 20 y = 2;.
- 00002310: 20 20 66 6f 72 20 28 6b 20 3d 20 31 2c 20 72 65 for (k = 1, re
- 00002320: 66 31 20 3d 20 63 6f 6c 75 6d 6e 73 3b 20 31 20 f1 = columns; 1
- 00002330: 3c 3d 20 72 65 66 31 20 3f 20 6b 20 3c 3d 20 72 <= ref1 ? k <= r
- 00002340: 65 66 31 20 3a 20 6b 20 3e 3d 20 72 65 66 31 3b ef1 : k >= ref1;
- 00002350: 20 31 20 3c 3d 20 72 65 66 31 20 3f 20 6b 2b 2b 1 <= ref1 ? k++
- 00002360: 20 3a 20 6b 2d 2d 29 20 7b 0a 20 20 20 20 20 20 : k--) {.
- 00002370: 20 20 63 74 78 2e 62 65 67 69 6e 50 61 74 68 28 ctx.beginPath(
- 00002380: 29 3b 0a 20 20 20 20 20 20 20 20 63 74 78 2e 72 );. ctx.r
- 00002390: 65 63 74 28 78 2c 20 79 2c 20 34 30 2c 20 34 30 ect(x, y, 40, 40
- 000023a0: 29 3b 0a 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 );. color
- 000023b0: 20 3d 20 63 6f 6c 6f 72 73 5b 69 2b 2b 20 25 20 = colors[i++ %
- 000023c0: 32 5d 3b 0a 20 20 20 20 20 20 20 20 63 74 78 2e 2];. ctx.
- 000023d0: 66 69 6c 6c 53 74 79 6c 65 20 3d 20 63 6f 6c 6f fillStyle = colo
- 000023e0: 72 3b 0a 20 20 20 20 20 20 20 20 63 74 78 2e 66 r;. ctx.f
- 000023f0: 69 6c 6c 28 29 3b 0a 20 20 20 20 20 20 20 20 63 ill();. c
- 00002400: 74 78 2e 63 6c 6f 73 65 50 61 74 68 28 29 3b 0a tx.closePath();.
- 00002410: 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 79 20 }. y
- 00002420: 2b 3d 20 34 34 3b 0a 20 20 20 20 7d 0a 20 20 20 += 44;. }.
- 00002430: 20 78 20 2b 3d 20 34 34 3b 0a 20 20 20 20 63 74 x += 44;. ct
- 00002440: 78 2e 72 65 73 74 6f 72 65 28 29 3b 0a 20 20 20 x.restore();.
- 00002450: 20 74 68 69 73 2e 69 6d 61 67 65 20 3d 20 6e 65 this.image = ne
- 00002460: 77 20 49 6d 61 67 65 28 29 3b 0a 20 20 20 20 74 w Image();. t
- 00002470: 68 69 73 2e 69 6d 61 67 65 2e 73 72 63 20 3d 20 his.image.src =
- 00002480: 63 74 78 2e 63 61 6e 76 61 73 2e 74 6f 44 61 74 ctx.canvas.toDat
- 00002490: 61 55 52 4c 28 27 69 6d 61 67 65 2f 70 6e 67 27 aURL('image/png'
- 000024a0: 29 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 63 74 );. return ct
- 000024b0: 78 20 3d 20 6e 75 6c 6c 3b 0a 20 20 7d 3b 0a 20 x = null;. };.
- 000024c0: 20 4d 61 70 2e 70 72 6f 74 6f 74 79 70 65 2e 64 Map.prototype.d
- 000024d0: 72 61 77 20 3d 20 66 75 6e 63 74 69 6f 6e 28 63 raw = function(c
- 000024e0: 6f 6e 74 65 78 74 2c 20 78 56 69 65 77 2c 20 79 ontext, xView, y
- 000024f0: 56 69 65 77 29 20 7b 0a 20 20 20 20 76 61 72 20 View) {. var
- 00002500: 64 48 65 69 67 68 74 2c 20 64 57 69 64 74 68 2c dHeight, dWidth,
- 00002510: 20 64 78 2c 20 64 79 2c 20 73 48 65 69 67 68 74 dx, dy, sHeight
- 00002520: 2c 20 73 57 69 64 74 68 2c 20 73 78 2c 20 73 79 , sWidth, sx, sy
- 00002530: 3b 0a 20 20 20 20 73 78 20 3d 20 78 56 69 65 77 ;. sx = xView
- 00002540: 3b 0a 20 20 20 20 73 79 20 3d 20 79 56 69 65 77 ;. sy = yView
- 00002550: 3b 0a 20 20 20 20 73 57 69 64 74 68 20 3d 20 63 ;. sWidth = c
- 00002560: 6f 6e 74 65 78 74 2e 63 61 6e 76 61 73 2e 77 69 ontext.canvas.wi
- 00002570: 64 74 68 3b 0a 20 20 20 20 73 48 65 69 67 68 74 dth;. sHeight
- 00002580: 20 3d 20 63 6f 6e 74 65 78 74 2e 63 61 6e 76 61 = context.canva
- 00002590: 73 2e 68 65 69 67 68 74 3b 0a 20 20 20 20 69 66 s.height;. if
- 000025a0: 20 28 28 74 68 69 73 2e 69 6d 61 67 65 2e 77 69 ((this.image.wi
- 000025b0: 64 74 68 20 2d 20 73 78 29 20 3c 20 73 57 69 64 dth - sx) < sWid
- 000025c0: 74 68 29 20 7b 0a 20 20 20 20 20 20 73 57 69 64 th) {. sWid
- 000025d0: 74 68 20 3d 20 74 68 69 73 2e 69 6d 61 67 65 2e th = this.image.
- 000025e0: 77 69 64 74 68 20 2d 20 73 78 3b 0a 20 20 20 20 width - sx;.
- 000025f0: 7d 0a 20 20 20 20 69 66 20 28 28 74 68 69 73 2e }. if ((this.
- 00002600: 69 6d 61 67 65 2e 68 65 69 67 68 74 20 2d 20 73 image.height - s
- 00002610: 79 29 20 3c 20 73 48 65 69 67 68 74 29 20 7b 0a y) < sHeight) {.
- 00002620: 20 20 20 20 20 20 73 48 65 69 67 68 74 20 3d 20 sHeight =
- 00002630: 74 68 69 73 2e 69 6d 61 67 65 2e 68 65 69 67 68 this.image.heigh
- 00002640: 74 20 2d 20 73 79 3b 0a 20 20 20 20 7d 0a 20 20 t - sy;. }.
- 00002650: 20 20 64 78 20 3d 20 30 3b 0a 20 20 20 20 64 79 dx = 0;. dy
- 00002660: 20 3d 20 30 3b 0a 20 20 20 20 64 57 69 64 74 68 = 0;. dWidth
- 00002670: 20 3d 20 73 57 69 64 74 68 3b 0a 20 20 20 20 64 = sWidth;. d
- 00002680: 48 65 69 67 68 74 20 3d 20 73 48 65 69 67 68 74 Height = sHeight
- 00002690: 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 63 6f 6e ;. return con
- 000026a0: 74 65 78 74 2e 64 72 61 77 49 6d 61 67 65 28 74 text.drawImage(t
- 000026b0: 68 69 73 2e 69 6d 61 67 65 2c 20 73 78 2c 20 73 his.image, sx, s
- 000026c0: 79 2c 20 73 57 69 64 74 68 2c 20 73 48 65 69 67 y, sWidth, sHeig
- 000026d0: 68 74 2c 20 64 78 2c 20 64 79 2c 20 64 57 69 64 ht, dx, dy, dWid
- 000026e0: 74 68 2c 20 64 48 65 69 67 68 74 29 3b 0a 20 20 th, dHeight);.
- 000026f0: 7d 3b 0a 20 20 47 61 6d 65 2e 4d 61 70 20 3d 20 };. Game.Map =
- 00002700: 4d 61 70 3b 0a 7d 29 28 29 3b 0a 0a 0a 2f 2a 0a Map;.})();.../*.
- 00002710: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
- 00002720: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
- 00002730: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
- 00002740: 2a 0a 2a 2a 20 47 41 4d 45 20 4b 45 59 42 4f 41 *.** GAME KEYBOA
- 00002750: 52 44 20 43 4c 41 53 53 0a 2a 2a 2a 2a 2a 2a 2a RD CLASS.*******
- 00002760: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
- 00002770: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
- 00002780: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 20 2a 2f 0a 0a **********. */..
- 00002790: 4b 65 79 73 20 3d 20 66 75 6e 63 74 69 6f 6e 28 Keys = function(
- 000027a0: 75 70 2c 20 6c 65 66 74 2c 20 72 69 67 68 74 2c up, left, right,
- 000027b0: 20 64 6f 77 6e 29 20 7b 0a 20 20 76 61 72 20 6f down) {. var o
- 000027c0: 6e 4b 65 79 44 6f 77 6e 2c 20 6f 6e 4b 65 79 55 nKeyDown, onKeyU
- 000027d0: 70 3b 0a 20 20 69 66 20 28 75 70 20 3d 3d 20 6e p;. if (up == n
- 000027e0: 75 6c 6c 29 20 7b 0a 20 20 20 20 75 70 20 3d 20 ull) {. up =
- 000027f0: 66 61 6c 73 65 3b 0a 20 20 7d 0a 20 20 69 66 20 false;. }. if
- 00002800: 28 6c 65 66 74 20 3d 3d 20 6e 75 6c 6c 29 20 7b (left == null) {
- 00002810: 0a 20 20 20 20 6c 65 66 74 20 3d 20 66 61 6c 73 . left = fals
- 00002820: 65 3b 0a 20 20 7d 0a 20 20 69 66 20 28 72 69 67 e;. }. if (rig
- 00002830: 68 74 20 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 20 20 ht == null) {.
- 00002840: 20 20 72 69 67 68 74 20 3d 20 66 61 6c 73 65 3b right = false;
- 00002850: 0a 20 20 7d 0a 20 20 69 66 20 28 64 6f 77 6e 20 . }. if (down
- 00002860: 3d 3d 20 6e 75 6c 6c 29 20 7b 0a 20 20 20 20 64 == null) {. d
- 00002870: 6f 77 6e 20 3d 20 66 61 6c 73 65 3b 0a 20 20 7d own = false;. }
- 00002880: 0a 20 20 6f 6e 4b 65 79 44 6f 77 6e 20 3d 20 66 . onKeyDown = f
- 00002890: 75 6e 63 74 69 6f 6e 28 65 29 20 7b 0a 20 20 20 unction(e) {.
- 000028a0: 20 76 61 72 20 74 68 61 74 3b 0a 20 20 20 20 74 var that;. t
- 000028b0: 68 61 74 20 3d 20 74 68 69 73 3b 0a 20 20 20 20 hat = this;.
- 000028c0: 73 77 69 74 63 68 20 28 65 2e 6b 65 79 43 6f 64 switch (e.keyCod
- 000028d0: 65 29 20 7b 0a 20 20 20 20 20 20 63 61 73 65 20 e) {. case
- 000028e0: 33 37 3a 0a 20 20 20 20 20 20 20 20 74 68 61 74 37:. that
- 000028f0: 2e 6c 65 66 74 20 3d 20 74 72 75 65 3b 0a 20 20 .left = true;.
- 00002900: 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 break;.
- 00002910: 20 20 20 63 61 73 65 20 33 38 3a 0a 20 20 20 20 case 38:.
- 00002920: 20 20 20 20 74 68 61 74 2e 75 70 20 3d 20 74 72 that.up = tr
- 00002930: 75 65 3b 0a 20 20 20 20 20 20 20 20 62 72 65 61 ue;. brea
- 00002940: 6b 3b 0a 20 20 20 20 20 20 63 61 73 65 20 33 39 k;. case 39
- 00002950: 3a 0a 20 20 20 20 20 20 20 20 74 68 61 74 2e 72 :. that.r
- 00002960: 69 67 68 74 20 3d 20 74 72 75 65 3b 0a 20 20 20 ight = true;.
- 00002970: 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 break;.
- 00002980: 20 20 63 61 73 65 20 34 30 3a 0a 20 20 20 20 20 case 40:.
- 00002990: 20 20 20 74 68 61 74 2e 64 6f 77 6e 20 3d 20 74 that.down = t
- 000029a0: 72 75 65 3b 0a 20 20 20 20 7d 0a 20 20 7d 3b 0a rue;. }. };.
- 000029b0: 20 20 6f 6e 4b 65 79 55 70 20 3d 20 66 75 6e 63 onKeyUp = func
- 000029c0: 74 69 6f 6e 28 65 29 20 7b 0a 20 20 20 20 76 61 tion(e) {. va
- 000029d0: 72 20 74 68 61 74 3b 0a 20 20 20 20 74 68 61 74 r that;. that
- 000029e0: 20 3d 20 74 68 69 73 3b 0a 20 20 20 20 73 77 69 = this;. swi
- 000029f0: 74 63 68 20 28 65 2e 6b 65 79 43 6f 64 65 29 20 tch (e.keyCode)
- 00002a00: 7b 0a 20 20 20 20 20 20 63 61 73 65 20 33 37 3a {. case 37:
- 00002a10: 0a 20 20 20 20 20 20 20 20 74 68 61 74 2e 6c 65 . that.le
- 00002a20: 66 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 20 ft = false;.
- 00002a30: 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 break;.
- 00002a40: 20 63 61 73 65 20 33 38 3a 0a 20 20 20 20 20 20 case 38:.
- 00002a50: 20 20 74 68 61 74 2e 75 70 20 3d 20 66 61 6c 73 that.up = fals
- 00002a60: 65 3b 0a 20 20 20 20 20 20 20 20 62 72 65 61 6b e;. break
- 00002a70: 3b 0a 20 20 20 20 20 20 63 61 73 65 20 33 39 3a ;. case 39:
- 00002a80: 0a 20 20 20 20 20 20 20 20 74 68 61 74 2e 72 69 . that.ri
- 00002a90: 67 68 74 20 3d 20 66 61 6c 73 65 3b 0a 20 20 20 ght = false;.
- 00002aa0: 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 break;.
- 00002ab0: 20 20 63 61 73 65 20 34 30 3a 0a 20 20 20 20 20 case 40:.
- 00002ac0: 20 20 20 74 68 61 74 2e 64 6f 77 6e 20 3d 20 66 that.down = f
- 00002ad0: 61 6c 73 65 3b 0a 20 20 20 20 7d 0a 20 20 7d 3b alse;. }. };
- 00002ae0: 0a 20 20 72 65 74 75 72 6e 20 7b 0a 20 20 20 20 . return {.
- 00002af0: 75 70 3a 20 75 70 2c 0a 20 20 20 20 6c 65 66 74 up: up,. left
- 00002b00: 3a 20 6c 65 66 74 2c 0a 20 20 20 20 72 69 67 68 : left,. righ
- 00002b10: 74 3a 20 72 69 67 68 74 2c 0a 20 20 20 20 64 6f t: right,. do
- 00002b20: 77 6e 3a 20 64 6f 77 6e 2c 0a 20 20 20 20 6f 6e wn: down,. on
- 00002b30: 4b 65 79 44 6f 77 6e 3a 20 6f 6e 4b 65 79 44 6f KeyDown: onKeyDo
- 00002b40: 77 6e 2c 0a 20 20 20 20 6f 6e 4b 65 79 55 70 3a wn,. onKeyUp:
- 00002b50: 20 6f 6e 4b 65 79 55 70 0a 20 20 7d 3b 0a 7d 3b onKeyUp. };.};
- 00002b60: 0a 0a 0a 2f 2a 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a .../*.**********
- 00002b70: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
- 00002b80: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
- 00002b90: 2a 2a 2a 2a 2a 2a 2a 0a 2a 2a 20 47 41 4d 45 20 *******.** GAME
- 00002ba0: 50 4c 41 59 45 52 20 43 4c 41 53 53 0a 2a 2a 2a PLAYER CLASS.***
- 00002bb0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
- 00002bc0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
- 00002bd0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 20 **************.
- 00002be0: 2a 2f 0a 0a 50 6c 61 79 65 72 20 3d 20 66 75 6e */..Player = fun
- 00002bf0: 63 74 69 6f 6e 28 73 74 61 72 74 58 2c 20 73 74 ction(startX, st
- 00002c00: 61 72 74 59 2c 20 75 73 65 72 4e 61 6d 65 2c 20 artY, userName,
- 00002c10: 62 6c 6f 63 6b 43 6f 6c 6f 72 29 20 7b 0a 20 20 blockColor) {.
- 00002c20: 76 61 72 20 68 65 69 67 68 74 2c 20 6d 6f 76 65 var height, move
- 00002c30: 41 6d 6f 75 6e 74 2c 20 6e 61 6d 65 2c 20 77 69 Amount, name, wi
- 00002c40: 64 74 68 2c 20 78 2c 20 79 3b 0a 20 20 69 66 20 dth, x, y;. if
- 00002c50: 28 62 6c 6f 63 6b 43 6f 6c 6f 72 20 3d 3d 20 6e (blockColor == n
- 00002c60: 75 6c 6c 29 20 7b 0a 20 20 20 20 62 6c 6f 63 6b ull) {. block
- 00002c70: 43 6f 6c 6f 72 20 3d 20 27 64 61 72 6b 67 72 65 Color = 'darkgre
- 00002c80: 79 27 3b 0a 20 20 7d 0a 20 20 78 20 3d 20 73 74 y';. }. x = st
- 00002c90: 61 72 74 58 3b 0a 20 20 79 20 3d 20 73 74 61 72 artX;. y = star
- 00002ca0: 74 59 3b 0a 20 20 6e 61 6d 65 20 3d 20 75 73 65 tY;. name = use
- 00002cb0: 72 4e 61 6d 65 3b 0a 20 20 77 69 64 74 68 20 3d rName;. width =
- 00002cc0: 20 33 32 3b 0a 20 20 68 65 69 67 68 74 20 3d 20 32;. height =
- 00002cd0: 33 32 3b 0a 20 20 6d 6f 76 65 41 6d 6f 75 6e 74 32;. moveAmount
- 00002ce0: 20 3d 20 30 2e 32 3b 0a 20 20 75 70 64 61 74 65 = 0.2;. update
- 00002cf0: 20 3d 20 66 75 6e 63 74 69 6f 6e 28 6b 65 79 73 = function(keys
- 00002d00: 29 20 7b 0a 20 20 20 20 76 61 72 20 6d 6f 76 69 ) {. var movi
- 00002d10: 6e 67 2c 20 70 72 65 76 58 2c 20 70 72 65 76 59 ng, prevX, prevY
- 00002d20: 3b 0a 20 20 20 20 70 72 65 76 58 20 3d 20 78 3b ;. prevX = x;
- 00002d30: 0a 20 20 20 20 70 72 65 76 59 20 3d 20 79 3b 0a . prevY = y;.
- 00002d40: 20 20 20 20 6d 6f 76 69 6e 67 20 3d 20 4d 61 74 moving = Mat
- 00002d50: 68 2e 72 6f 75 6e 64 28 6d 6f 76 65 41 6d 6f 75 h.round(moveAmou
- 00002d60: 6e 74 20 2a 20 64 65 6c 74 61 54 69 6d 65 29 3b nt * deltaTime);
- 00002d70: 0a 20 20 20 20 69 66 20 28 6b 65 79 73 2e 6c 65 . if (keys.le
- 00002d80: 66 74 29 20 7b 0a 20 20 20 20 20 20 78 20 2d 3d ft) {. x -=
- 00002d90: 20 6d 6f 76 69 6e 67 3b 0a 20 20 20 20 7d 0a 20 moving;. }.
- 00002da0: 20 20 20 69 66 20 28 6b 65 79 73 2e 75 70 29 20 if (keys.up)
- 00002db0: 7b 0a 20 20 20 20 20 20 79 20 2d 3d 20 6d 6f 76 {. y -= mov
- 00002dc0: 69 6e 67 3b 0a 20 20 20 20 7d 0a 20 20 20 20 69 ing;. }. i
- 00002dd0: 66 20 28 6b 65 79 73 2e 64 6f 77 6e 29 20 7b 0a f (keys.down) {.
- 00002de0: 20 20 20 20 20 20 79 20 2b 3d 20 6d 6f 76 69 6e y += movin
- 00002df0: 67 3b 0a 20 20 20 20 7d 0a 20 20 20 20 69 66 20 g;. }. if
- 00002e00: 28 6b 65 79 73 2e 72 69 67 68 74 29 20 7b 0a 20 (keys.right) {.
- 00002e10: 20 20 20 20 20 78 20 2b 3d 20 6d 6f 76 69 6e 67 x += moving
- 00002e20: 3b 0a 20 20 20 20 7d 0a 20 20 20 20 69 66 20 28 ;. }. if (
- 00002e30: 78 20 3c 20 74 68 69 73 2e 77 69 64 74 68 29 20 x < this.width)
- 00002e40: 7b 0a 20 20 20 20 20 20 78 20 3d 20 74 68 69 73 {. x = this
- 00002e50: 2e 77 69 64 74 68 3b 0a 20 20 20 20 7d 0a 20 20 .width;. }.
- 00002e60: 20 20 69 66 20 28 79 20 3c 20 74 68 69 73 2e 68 if (y < this.h
- 00002e70: 65 69 67 68 74 29 20 7b 0a 20 20 20 20 20 20 79 eight) {. y
- 00002e80: 20 3d 20 74 68 69 73 2e 68 65 69 67 68 74 3b 0a = this.height;.
- 00002e90: 20 20 20 20 7d 0a 20 20 20 20 69 66 20 28 78 20 }. if (x
- 00002ea0: 3e 20 28 72 6f 6f 6d 2e 77 69 64 74 68 20 2d 20 > (room.width -
- 00002eb0: 74 68 69 73 2e 77 69 64 74 68 29 29 20 7b 0a 20 this.width)) {.
- 00002ec0: 20 20 20 20 20 78 20 3d 20 72 6f 6f 6d 2e 77 69 x = room.wi
- 00002ed0: 64 74 68 20 2d 20 74 68 69 73 2e 77 69 64 74 68 dth - this.width
- 00002ee0: 3b 0a 20 20 20 20 7d 0a 20 20 20 20 69 66 20 28 ;. }. if (
- 00002ef0: 79 20 3e 20 28 72 6f 6f 6d 2e 68 65 69 67 68 74 y > (room.height
- 00002f00: 20 2d 20 74 68 69 73 2e 68 65 69 67 68 74 29 29 - this.height))
- 00002f10: 20 7b 0a 20 20 20 20 20 20 79 20 3d 20 72 6f 6f {. y = roo
- 00002f20: 6d 2e 68 65 69 67 68 74 20 2d 20 74 68 69 73 2e m.height - this.
- 00002f30: 68 65 69 67 68 74 3b 0a 20 20 20 20 7d 0a 20 20 height;. }.
- 00002f40: 20 20 72 65 74 75 72 6e 20 70 72 65 76 58 20 21 return prevX !
- 00002f50: 3d 3d 20 78 20 7c 7c 20 70 72 65 76 59 20 21 3d == x || prevY !=
- 00002f60: 3d 20 79 3b 0a 20 20 7d 3b 0a 20 20 64 72 61 77 = y;. };. draw
- 00002f70: 20 3d 20 66 75 6e 63 74 69 6f 6e 28 63 74 78 2c = function(ctx,
- 00002f80: 20 78 56 69 65 77 2c 20 79 56 69 65 77 29 20 7b xView, yView) {
- 00002f90: 0a 20 20 20 20 63 74 78 2e 73 61 76 65 28 29 3b . ctx.save();
- 00002fa0: 0a 20 20 20 20 63 74 78 2e 66 69 6c 6c 53 74 79 . ctx.fillSty
- 00002fb0: 6c 65 20 3d 20 74 68 69 73 2e 62 6c 6f 63 6b 43 le = this.blockC
- 00002fc0: 6f 6c 6f 72 3b 0a 20 20 20 20 63 74 78 2e 66 69 olor;. ctx.fi
- 00002fd0: 6c 6c 52 65 63 74 28 78 20 2d 20 28 74 68 69 73 llRect(x - (this
- 00002fe0: 2e 77 69 64 74 68 20 2f 20 32 29 20 2d 20 78 56 .width / 2) - xV
- 00002ff0: 69 65 77 2c 20 79 20 2d 20 28 74 68 69 73 2e 68 iew, y - (this.h
- 00003000: 65 69 67 68 74 20 2f 20 32 29 20 2d 20 79 56 69 eight / 2) - yVi
- 00003010: 65 77 2c 20 74 68 69 73 2e 77 69 64 74 68 2c 20 ew, this.width,
- 00003020: 74 68 69 73 2e 68 65 69 67 68 74 29 3b 0a 20 20 this.height);.
- 00003030: 20 20 63 74 78 2e 66 6f 6e 74 20 3d 20 27 31 32 ctx.font = '12
- 00003040: 70 78 20 73 61 6e 73 2d 73 65 72 69 66 27 3b 0a px sans-serif';.
- 00003050: 20 20 20 20 63 74 78 2e 74 65 78 74 41 6c 69 67 ctx.textAlig
- 00003060: 6e 20 3d 20 27 63 65 6e 74 65 72 27 3b 0a 20 20 n = 'center';.
- 00003070: 20 20 63 74 78 2e 66 69 6c 6c 54 65 78 74 28 6e ctx.fillText(n
- 00003080: 61 6d 65 2c 20 78 20 2d 20 78 56 69 65 77 2c 20 ame, x - xView,
- 00003090: 79 20 2d 20 79 56 69 65 77 20 2d 20 32 34 29 3b y - yView - 24);
- 000030a0: 0a 20 20 20 20 72 65 74 75 72 6e 20 63 74 78 2e . return ctx.
- 000030b0: 72 65 73 74 6f 72 65 28 29 3b 0a 20 20 7d 3b 0a restore();. };.
- 000030c0: 20 20 72 65 74 75 72 6e 20 7b 0a 20 20 20 20 58 return {. X
- 000030d0: 3a 20 78 2c 0a 20 20 20 20 59 3a 20 79 2c 0a 20 : x,. Y: y,.
- 000030e0: 20 20 20 77 69 64 74 68 3a 20 77 69 64 74 68 2c width: width,
- 000030f0: 0a 20 20 20 20 68 65 69 67 68 74 3a 20 68 65 69 . height: hei
- 00003100: 67 68 74 2c 0a 20 20 20 20 62 6c 6f 63 6b 43 6f ght,. blockCo
- 00003110: 6c 6f 72 3a 20 62 6c 6f 63 6b 43 6f 6c 6f 72 2c lor: blockColor,
- 00003120: 0a 20 20 20 20 75 70 64 61 74 65 3a 20 75 70 64 . update: upd
- 00003130: 61 74 65 2c 0a 20 20 20 20 64 72 61 77 3a 20 64 ate,. draw: d
- 00003140: 72 61 77 0a 20 20 7d 3b 0a 7d 3b 0a 0a 0a 2f 2a raw. };.};.../*
- 00003150: 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a .***************
- 00003160: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
- 00003170: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
- 00003180: 2a 2a 0a 2a 2a 20 47 41 4d 45 20 44 45 42 55 47 **.** GAME DEBUG
- 00003190: 20 43 4c 41 53 53 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a CLASS.*********
- 000031a0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
- 000031b0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
- 000031c0: 2a 2a 2a 2a 2a 2a 2a 2a 0a 20 2a 2f 0a 0a 64 72 ********. */..dr
- 000031d0: 61 77 5f 64 65 62 75 67 20 3d 20 66 75 6e 63 74 aw_debug = funct
- 000031e0: 69 6f 6e 28 63 74 78 2c 20 78 56 69 65 77 2c 20 ion(ctx, xView,
- 000031f0: 79 56 69 65 77 29 20 7b 0a 20 20 76 61 72 20 64 yView) {. var d
- 00003200: 65 62 75 67 56 61 72 4e 61 6d 65 73 2c 20 64 65 ebugVarNames, de
- 00003210: 62 75 67 56 61 72 73 2c 20 64 76 2c 20 69 2c 20 bugVars, dv, i,
- 00003220: 6a 2c 20 6b 2c 20 6c 2c 20 6c 65 6e 2c 20 6c 65 j, k, l, len, le
- 00003230: 6e 31 2c 20 6c 65 6e 32 2c 20 70 2c 20 70 6c 61 n1, len2, p, pla
- 00003240: 79 65 72 2c 20 70 6c 61 79 65 72 50 72 6f 70 4e yer, playerPropN
- 00003250: 61 6d 65 73 2c 20 70 6c 61 79 65 72 50 72 6f 70 ames, playerProp
- 00003260: 73 2c 20 70 70 3b 0a 20 20 63 74 78 2e 73 61 76 s, pp;. ctx.sav
- 00003270: 65 28 29 3b 0a 20 20 63 74 78 2e 66 6f 6e 74 20 e();. ctx.font
- 00003280: 3d 20 27 62 6f 6c 64 20 31 32 70 78 20 6d 6f 6e = 'bold 12px mon
- 00003290: 6f 73 70 61 63 65 27 3b 0a 20 20 63 74 78 2e 74 ospace';. ctx.t
- 000032a0: 65 78 74 41 6c 69 67 6e 20 3d 20 27 73 74 61 72 extAlign = 'star
- 000032b0: 74 27 3b 0a 20 20 63 74 78 2e 66 69 6c 6c 53 74 t';. ctx.fillSt
- 000032c0: 79 6c 65 20 3d 20 27 62 6c 61 63 6b 27 3b 0a 20 yle = 'black';.
- 000032d0: 20 63 74 78 2e 66 69 6c 6c 54 65 78 74 28 27 5b ctx.fillText('[
- 000032e0: 44 45 42 55 47 5d 27 2c 20 38 2c 20 38 20 2b 20 DEBUG]', 8, 8 +
- 000032f0: 31 32 29 3b 0a 20 20 64 65 62 75 67 56 61 72 73 12);. debugVars
- 00003300: 20 3d 20 5b 4d 61 74 68 2e 72 6f 75 6e 64 28 31 = [Math.round(1
- 00003310: 30 30 30 20 2f 20 64 65 6c 74 61 54 69 6d 65 29 000 / deltaTime)
- 00003320: 20 2b 20 31 2c 20 27 27 2c 20 27 2f 23 27 20 2b + 1, '', '/#' +
- 00003330: 20 73 6f 63 6b 65 74 2e 69 6f 2e 65 6e 67 69 6e socket.io.engin
- 00003340: 65 2e 69 64 2c 20 6c 6f 63 61 6c 50 6c 61 79 65 e.id, localPlaye
- 00003350: 72 2e 58 28 29 2c 20 6c 6f 63 61 6c 50 6c 61 79 r.X(), localPlay
- 00003360: 65 72 2e 59 28 29 5d 3b 0a 20 20 64 65 62 75 67 er.Y()];. debug
- 00003370: 56 61 72 4e 61 6d 65 73 20 3d 20 5b 27 46 50 53 VarNames = ['FPS
- 00003380: 3a 20 20 20 20 20 20 20 27 2c 20 27 27 2c 20 27 : ', '', '
- 00003390: 50 6c 61 79 65 72 20 49 44 3a 20 27 2c 20 27 50 Player ID: ', 'P
- 000033a0: 6c 61 79 65 72 20 58 3a 20 20 27 2c 20 27 50 6c layer X: ', 'Pl
- 000033b0: 61 79 65 72 20 59 3a 20 20 27 5d 3b 0a 20 20 70 ayer Y: '];. p
- 000033c0: 6c 61 79 65 72 50 72 6f 70 73 20 3d 20 5b 27 69 layerProps = ['i
- 000033d0: 64 27 2c 20 27 6e 61 6d 65 27 2c 20 27 78 27 2c d', 'name', 'x',
- 000033e0: 20 27 79 27 5d 3b 0a 20 20 70 6c 61 79 65 72 50 'y'];. playerP
- 000033f0: 72 6f 70 4e 61 6d 65 73 20 3d 20 5b 27 49 44 3a ropNames = ['ID:
- 00003400: 20 20 20 20 20 27 2c 20 27 4e 61 6d 65 3a 20 20 ', 'Name:
- 00003410: 20 27 2c 20 27 58 3a 20 20 20 20 20 20 27 2c 20 ', 'X: ',
- 00003420: 27 59 3a 20 20 20 20 20 20 27 5d 3b 0a 20 20 64 'Y: '];. d
- 00003430: 65 62 75 67 56 61 72 73 2e 70 75 73 68 28 27 27 ebugVars.push(''
- 00003440: 29 3b 0a 20 20 64 65 62 75 67 56 61 72 4e 61 6d );. debugVarNam
- 00003450: 65 73 2e 70 75 73 68 28 27 27 29 3b 0a 20 20 66 es.push('');. f
- 00003460: 6f 72 20 28 6a 20 3d 20 30 2c 20 6c 65 6e 20 3d or (j = 0, len =
- 00003470: 20 72 65 6d 6f 74 65 50 6c 61 79 65 72 73 2e 6c remotePlayers.l
- 00003480: 65 6e 67 74 68 3b 20 6a 20 3c 20 6c 65 6e 3b 20 ength; j < len;
- 00003490: 6a 2b 2b 29 20 7b 0a 20 20 20 20 70 20 3d 20 72 j++) {. p = r
- 000034a0: 65 6d 6f 74 65 50 6c 61 79 65 72 73 5b 6a 5d 3b emotePlayers[j];
- 000034b0: 0a 20 20 20 20 64 65 62 75 67 56 61 72 73 2e 70 . debugVars.p
- 000034c0: 75 73 68 28 27 27 29 3b 0a 20 20 20 20 64 65 62 ush('');. deb
- 000034d0: 75 67 56 61 72 4e 61 6d 65 73 2e 70 75 73 68 28 ugVarNames.push(
- 000034e0: 27 27 29 3b 0a 20 20 20 20 70 6c 61 79 65 72 20 '');. player
- 000034f0: 3d 20 70 6c 61 79 65 72 42 79 49 64 28 70 2e 69 = playerById(p.i
- 00003500: 64 29 3b 0a 20 20 20 20 66 6f 72 20 28 6b 20 3d d);. for (k =
- 00003510: 20 30 2c 20 6c 65 6e 31 20 3d 20 70 6c 61 79 65 0, len1 = playe
- 00003520: 72 50 72 6f 70 73 2e 6c 65 6e 67 74 68 3b 20 6b rProps.length; k
- 00003530: 20 3c 20 6c 65 6e 31 3b 20 6b 2b 2b 29 20 7b 0a < len1; k++) {.
- 00003540: 20 20 20 20 20 20 70 70 20 3d 20 70 6c 61 79 65 pp = playe
- 00003550: 72 50 72 6f 70 73 5b 6b 5d 3b 0a 20 20 20 20 20 rProps[k];.
- 00003560: 20 64 65 62 75 67 56 61 72 73 2e 70 75 73 68 28 debugVars.push(
- 00003570: 70 6c 61 79 65 72 5b 70 70 5d 29 3b 0a 20 20 20 player[pp]);.
- 00003580: 20 20 20 64 65 62 75 67 56 61 72 4e 61 6d 65 73 debugVarNames
- 00003590: 2e 70 75 73 68 28 70 70 29 3b 0a 20 20 20 20 7d .push(pp);. }
- 000035a0: 0a 20 20 7d 0a 20 20 66 6f 72 20 28 64 76 20 3d . }. for (dv =
- 000035b0: 20 6c 20 3d 20 30 2c 20 6c 65 6e 32 20 3d 20 64 l = 0, len2 = d
- 000035c0: 65 62 75 67 56 61 72 73 2e 6c 65 6e 67 74 68 3b ebugVars.length;
- 000035d0: 20 6c 20 3c 20 6c 65 6e 32 3b 20 64 76 20 3d 20 l < len2; dv =
- 000035e0: 2b 2b 6c 29 20 7b 0a 20 20 20 20 69 20 3d 20 64 ++l) {. i = d
- 000035f0: 65 62 75 67 56 61 72 73 5b 64 76 5d 3b 0a 20 20 ebugVars[dv];.
- 00003600: 20 20 63 74 78 2e 66 69 6c 6c 54 65 78 74 28 64 ctx.fillText(d
- 00003610: 65 62 75 67 56 61 72 4e 61 6d 65 73 5b 69 5d 20 ebugVarNames[i]
- 00003620: 2b 20 64 76 2c 20 38 2c 20 32 38 20 2b 20 28 69 + dv, 8, 28 + (i
- 00003630: 20 2b 20 31 29 20 2a 20 31 32 29 3b 0a 20 20 7d + 1) * 12);. }
- 00003640: 0a 20 20 72 65 74 75 72 6e 20 63 74 78 2e 72 65 . return ctx.re
- 00003650: 73 74 6f 72 65 28 29 3b 0a 7d 3b 0a 0a 0a 2f 2a store();.};.../*
- 00003660: 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a .***************
- 00003670: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
- 00003680: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
- 00003690: 2a 2a 0a 2a 2a 20 47 41 4d 45 20 56 41 52 49 41 **.** GAME VARIA
- 000036a0: 42 4c 45 53 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a BLES.***********
- 000036b0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
- 000036c0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
- 000036d0: 2a 2a 2a 2a 2a 2a 0a 20 2a 2f 0a 0a 0a 2f 2a 0a ******. */.../*.
- 000036e0: 63 61 6e 76 61 73 20 3d 20 75 6e 64 65 66 69 6e canvas = undefin
- 000036f0: 65 64 0a 63 74 78 20 3d 20 75 6e 64 65 66 69 6e ed.ctx = undefin
- 00003700: 65 64 0a 64 69 76 43 61 6e 76 61 73 20 3d 20 75 ed.divCanvas = u
- 00003710: 6e 64 65 66 69 6e 65 64 0a 6b 65 79 73 20 3d 20 ndefined.keys =
- 00003720: 75 6e 64 65 66 69 6e 65 64 0a 6c 6f 63 61 6c 50 undefined.localP
- 00003730: 6c 61 79 65 72 20 3d 20 75 6e 64 65 66 69 6e 65 layer = undefine
- 00003740: 64 0a 6c 6f 63 61 6c 50 6c 61 79 65 72 4e 61 6d d.localPlayerNam
- 00003750: 65 20 3d 20 75 6e 64 65 66 69 6e 65 64 0a 72 65 e = undefined.re
- 00003760: 6d 6f 74 65 50 6c 61 79 65 72 73 20 3d 20 75 6e motePlayers = un
- 00003770: 64 65 66 69 6e 65 64 0a 72 6f 6f 6d 20 3d 20 75 defined.room = u
- 00003780: 6e 64 65 66 69 6e 65 64 0a 63 61 6d 65 72 61 20 ndefined.camera
- 00003790: 3d 20 75 6e 64 65 66 69 6e 65 64 0a 73 6f 63 6b = undefined.sock
- 000037a0: 65 74 20 3d 20 75 6e 64 65 66 69 6e 65 64 0a 20 et = undefined.
- 000037b0: 2a 2f 0a 0a 0a 2f 2a 0a 2a 2a 2a 2a 2a 2a 2a 2a */.../*.********
- 000037c0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
- 000037d0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
- 000037e0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 2a 2a 20 47 41 4d *********.** GAM
- 000037f0: 45 20 45 56 45 4e 54 20 48 41 4e 44 4c 45 52 53 E EVENT HANDLERS
- 00003800: 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a .***************
- 00003810: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
- 00003820: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
- 00003830: 2a 2a 0a 20 2a 2f 0a 0a 73 65 74 45 76 65 6e 74 **. */..setEvent
- 00003840: 48 61 6e 64 6c 65 72 73 20 3d 20 66 75 6e 63 74 Handlers = funct
- 00003850: 69 6f 6e 28 29 20 7b 0a 20 20 77 69 6e 64 6f 77 ion() {. window
- 00003860: 2e 61 64 64 45 76 65 6e 74 4c 69 73 74 65 6e 65 .addEventListene
- 00003870: 72 28 27 6b 65 79 64 6f 77 6e 27 2c 20 6f 6e 4b r('keydown', onK
- 00003880: 65 79 64 6f 77 6e 2c 20 66 61 6c 73 65 29 3b 0a eydown, false);.
- 00003890: 20 20 77 69 6e 64 6f 77 2e 61 64 64 45 76 65 6e window.addEven
- 000038a0: 74 4c 69 73 74 65 6e 65 72 28 27 6b 65 79 75 70 tListener('keyup
- 000038b0: 27 2c 20 6f 6e 4b 65 79 75 70 2c 20 66 61 6c 73 ', onKeyup, fals
- 000038c0: 65 29 3b 0a 20 20 77 69 6e 64 6f 77 2e 61 64 64 e);. window.add
- 000038d0: 45 76 65 6e 74 4c 69 73 74 65 6e 65 72 28 27 72 EventListener('r
- 000038e0: 65 73 69 7a 65 27 2c 20 6f 6e 52 65 73 69 7a 65 esize', onResize
- 000038f0: 2c 20 66 61 6c 73 65 29 3b 0a 20 20 73 6f 63 6b , false);. sock
- 00003900: 65 74 2e 6f 6e 28 27 63 6f 6e 6e 65 63 74 27 2c et.on('connect',
- 00003910: 20 6f 6e 53 6f 63 6b 65 74 43 6f 6e 6e 65 63 74 onSocketConnect
- 00003920: 65 64 29 3b 0a 20 20 73 6f 63 6b 65 74 2e 6f 6e ed);. socket.on
- 00003930: 28 27 64 69 73 63 6f 6e 6e 65 63 74 27 2c 20 6f ('disconnect', o
- 00003940: 6e 53 6f 63 6b 65 74 44 69 73 63 6f 6e 6e 65 63 nSocketDisconnec
- 00003950: 74 29 3b 0a 20 20 73 6f 63 6b 65 74 2e 6f 6e 28 t);. socket.on(
- 00003960: 27 6e 65 77 20 70 6c 61 79 65 72 27 2c 20 6f 6e 'new player', on
- 00003970: 4e 65 77 50 6c 61 79 65 72 29 3b 0a 20 20 73 6f NewPlayer);. so
- 00003980: 63 6b 65 74 2e 6f 6e 28 27 6d 6f 76 65 20 70 6c cket.on('move pl
- 00003990: 61 79 65 72 27 2c 20 6f 6e 4d 6f 76 65 50 6c 61 ayer', onMovePla
- 000039a0: 79 65 72 29 3b 0a 20 20 73 6f 63 6b 65 74 2e 6f yer);. socket.o
- 000039b0: 6e 28 27 72 65 6d 6f 76 65 20 70 6c 61 79 65 72 n('remove player
- 000039c0: 27 2c 20 6f 6e 52 65 6d 6f 76 65 50 6c 61 79 65 ', onRemovePlaye
- 000039d0: 72 29 3b 0a 7d 3b 0a 0a 0a 2f 2a 0a 2a 2a 2a 2a r);.};.../*.****
- 000039e0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
- 000039f0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
- 00003a00: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 2a 2a *************.**
- 00003a10: 20 47 41 4d 45 20 41 4e 49 4d 41 54 49 4f 4e 20 GAME ANIMATION
- 00003a20: 4c 4f 4f 50 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a LOOP.***********
- 00003a30: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
- 00003a40: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ****************
- 00003a50: 2a 2a 2a 2a 2a 2a 0a 20 2a 2f 0a 0a 6c 61 73 74 ******. */..last
- 00003a60: 55 70 64 61 74 65 20 3d 20 44 61 74 65 2e 6e 6f Update = Date.no
- 00003a70: 77 28 29 3b 0a 0a 64 65 6c 74 61 54 69 6d 65 20 w();..deltaTime
- 00003a80: 3d 20 76 6f 69 64 20 30 3b 0a 0a 0a 2f 2a 0a 63 = void 0;.../*.c
- 00003a90: 68 61 6e 6e 65 6c 73 20 3d 20 75 6e 64 65 66 69 hannels = undefi
- 00003aa0: 6e 65 64 0a 63 68 65 63 6b 50 61 73 73 20 3d 20 ned.checkPass =
- 00003ab0: 75 6e 64 65 66 69 6e 65 64 0a 65 6d 6f 6a 69 73 undefined.emojis
- 00003ac0: 20 3d 20 75 6e 64 65 66 69 6e 65 64 0a 65 73 63 = undefined.esc
- 00003ad0: 61 70 65 52 65 67 65 78 20 3d 20 75 6e 64 65 66 apeRegex = undef
- 00003ae0: 69 6e 65 64 0a 67 65 74 55 73 65 72 6e 61 6d 65 ined.getUsername
- 00003af0: 43 6f 6f 6b 69 65 20 3d 20 75 6e 64 65 66 69 6e Cookie = undefin
- 00003b00: 65 64 0a 69 20 3d 20 75 6e 64 65 66 69 6e 65 64 ed.i = undefined
- 00003b10: 0a 69 6e 69 74 20 3d 20 75 6e 64 65 66 69 6e 65 .init = undefine
- 00003b20: 64 0a 69 6e 69 74 63 68 61 74 20 3d 20 75 6e 64 d.initchat = und
- 00003b30: 65 66 69 6e 65 64 0a 6c 65 6e 20 3d 20 75 6e 64 efined.len = und
- 00003b40: 65 66 69 6e 65 64 0a 6c 6f 67 69 6e 20 3d 20 75 efined.login = u
- 00003b50: 6e 64 65 66 69 6e 65 64 0a 6c 6f 67 6f 75 74 20 ndefined.logout
- 00003b60: 3d 20 75 6e 64 65 66 69 6e 65 64 0a 6e 61 6d 65 = undefined.name
- 00003b70: 20 3d 20 75 6e 64 65 66 69 6e 65 64 0a 70 61 72 = undefined.par
- 00003b80: 73 65 4d 65 73 73 61 67 65 20 3d 20 75 6e 64 65 seMessage = unde
- 00003b90: 66 69 6e 65 64 0a 72 65 66 20 3d 20 75 6e 64 65 fined.ref = unde
- 00003ba0: 66 69 6e 65 64 0a 72 65 67 69 73 74 65 72 20 3d fined.register =
- 00003bb0: 20 75 6e 64 65 66 69 6e 65 64 0a 72 65 6d 6f 76 undefined.remov
- 00003bc0: 65 55 73 65 72 6e 61 6d 65 43 6f 6f 6b 69 65 20 eUsernameCookie
- 00003bd0: 3d 20 75 6e 64 65 66 69 6e 65 64 0a 73 61 66 65 = undefined.safe
- 00003be0: 20 3d 20 75 6e 64 65 66 69 6e 65 64 0a 73 65 73 = undefined.ses
- 00003bf0: 73 69 6f 6e 69 64 20 3d 20 75 6e 64 65 66 69 6e sionid = undefin
- 00003c00: 65 64 0a 73 65 74 55 73 65 72 6e 61 6d 65 43 6f ed.setUsernameCo
- 00003c10: 6f 6b 69 65 20 3d 20 75 6e 64 65 66 69 6e 65 64 okie = undefined
- 00003c20: 0a 73 65 74 73 74 61 74 75 73 20 3d 20 75 6e 64 .setstatus = und
- 00003c30: 65 66 69 6e 65 64 0a 73 6f 63 6b 65 74 20 3d 20 efined.socket =
- 00003c40: 75 6e 64 65 66 69 6e 65 64 0a 20 2a 2f 0a 0a 73 undefined. */..s
- 00003c50: 6f 63 6b 65 74 20 3d 20 6e 75 6c 6c 3b 0a 0a 73 ocket = null;..s
- 00003c60: 65 73 73 69 6f 6e 69 64 20 3d 20 6e 75 6c 6c 3b essionid = null;
- 00003c70: 0a 0a 63 68 61 6e 6e 65 6c 73 20 3d 20 5b 5d 3b ..channels = [];
- 00003c80: 0a 0a 65 6d 6f 6a 69 73 20 3d 20 7b 0a 20 20 27 ..emojis = {. '
- 00003c90: 3a 29 27 3a 20 27 68 74 74 70 3a 2f 2f 65 6d 6f :)': 'http://emo
- 00003ca0: 6a 69 6f 6e 65 2e 63 6f 6d 2f 77 70 2d 63 6f 6e jione.com/wp-con
- 00003cb0: 74 65 6e 74 2f 75 70 6c 6f 61 64 73 2f 61 73 73 tent/uploads/ass
- 00003cc0: 65 74 73 2f 65 6d 6f 6a 69 73 2f 31 66 36 30 33 ets/emojis/1f603
- 00003cd0: 2e 73 76 67 27 2c 0a 20 20 27 3a 75 6e 69 63 6f .svg',. ':unico
- 00003ce0: 72 6e 3a 27 3a 20 27 68 74 74 70 3a 2f 2f 65 6d rn:': 'http://em
- 00003cf0: 6f 6a 69 6f 6e 65 2e 63 6f 6d 2f 77 70 2d 63 6f ojione.com/wp-co
- 00003d00: 6e 74 65 6e 74 2f 75 70 6c 6f 61 64 73 2f 61 73 ntent/uploads/as
- 00003d10: 73 65 74 73 2f 65 6d 6f 6a 69 73 2f 31 66 39 38 sets/emojis/1f98
- 00003d20: 34 2e 73 76 67 27 0a 7d 3b 0a 0a 72 65 66 20 3d 4.svg'.};..ref =
- 00003d30: 20 5b 27 32 30 25 73 61 64 64 65 72 27 2c 20 27 ['20%sadder', '
- 00003d40: 61 64 72 69 61 6e 79 6f 75 68 61 70 70 79 6e 6f adrianyouhappyno
- 00003d50: 77 27 2c 20 27 41 4a 73 63 61 72 65 64 27 2c 20 w', 'AJscared',
- 00003d60: 27 62 69 67 6d 61 63 27 2c 20 27 63 61 64 61 6e 'bigmac', 'cadan
- 00003d70: 63 65 27 2c 20 27 63 6f 6c 67 61 74 65 68 61 70 ce', 'colgatehap
- 00003d80: 70 79 27 2c 20 27 64 65 72 70 27 2c 20 27 65 79 py', 'derp', 'ey
- 00003d90: 65 72 6f 6c 6c 27 2c 20 27 66 61 62 75 6c 6f 75 eroll', 'fabulou
- 00003da0: 73 27 2c 20 27 66 61 63 65 68 6f 6f 66 27 2c 20 s', 'facehoof',
- 00003db0: 27 67 72 65 65 64 27 2c 20 27 68 65 72 6f 27 2c 'greed', 'hero',
- 00003dc0: 20 27 6c 61 75 67 68 27 2c 20 27 6c 69 65 27 2c 'laugh', 'lie',
- 00003dd0: 20 27 6c 79 72 61 65 78 63 69 74 65 64 27 2c 20 'lyraexcited',
- 00003de0: 27 6c 79 72 61 73 61 64 27 2c 20 27 4e 4d 32 27 'lyrasad', 'NM2'
- 00003df0: 2c 20 27 4e 4d 33 27 2c 20 27 6e 6f 74 61 6d 75 , 'NM3', 'notamu
- 00003e00: 73 65 64 27 2c 20 27 70 68 6f 74 6f 66 69 6e 69 sed', 'photofini
- 00003e10: 73 68 27 2c 20 27 70 70 73 6d 69 6c 65 27 2c 20 sh', 'ppsmile',
- 00003e20: 27 70 77 69 6e 6b 27 2c 20 27 52 44 68 75 68 27 'pwink', 'RDhuh'
- 00003e30: 2c 20 27 72 64 73 6d 69 6c 65 27 2c 20 27 72 64 , 'rdsmile', 'rd
- 00003e40: 77 69 6e 6b 27 2c 20 27 73 63 61 72 65 64 27 2c wink', 'scared',
- 00003e50: 20 27 73 63 69 65 6e 63 65 27 2c 20 27 73 65 72 'science', 'ser
- 00003e60: 69 6f 75 73 54 53 27 2c 20 27 73 68 69 6e 79 27 iousTS', 'shiny'
- 00003e70: 2c 20 27 73 68 72 75 67 27 2c 20 27 73 6f 6d 65 , 'shrug', 'some
- 00003e80: 74 68 69 6e 67 77 65 6e 74 77 72 6f 6e 67 27 2c thingwentwrong',
- 00003e90: 20 27 73 70 69 6b 65 6d 6f 76 27 2c 20 27 73 70 'spikemov', 'sp
- 00003ea0: 69 6b 65 27 2c 20 27 73 71 75 65 65 27 2c 20 27 ike', 'squee', '
- 00003eb0: 73 77 65 65 74 69 65 27 2c 20 27 74 68 69 73 69 sweetie', 'thisi
- 00003ec0: 73 61 62 72 75 73 68 69 65 27 2c 20 27 74 68 6f sabrushie', 'tho
- 00003ed0: 72 67 27 2c 20 27 74 72 69 78 69 65 27 2c 20 27 rg', 'trixie', '
- 00003ee0: 74 73 73 6d 69 6c 65 27 2c 20 27 74 77 69 62 6c tssmile', 'twibl
- 00003ef0: 75 73 68 27 2c 20 27 75 6d 61 64 27 2c 20 27 76 ush', 'umad', 'v
- 00003f00: 69 6e 79 6c 27 2c 20 27 58 54 55 58 53 6d 69 6c inyl', 'XTUXSmil
- 00003f10: 65 79 27 2c 20 27 79 61 79 27 2c 20 27 59 45 41 ey', 'yay', 'YEA
- 00003f20: 48 27 5d 3b 0a 66 6f 72 20 28 6a 20 3d 20 30 2c H'];.for (j = 0,
- 00003f30: 20 6c 65 6e 20 3d 20 72 65 66 2e 6c 65 6e 67 74 len = ref.lengt
- 00003f40: 68 3b 20 6a 20 3c 20 6c 65 6e 3b 20 6a 2b 2b 29 h; j < len; j++)
- 00003f50: 20 7b 0a 20 20 6e 61 6d 65 20 3d 20 72 65 66 5b {. name = ref[
- 00003f60: 6a 5d 3b 0a 20 20 65 6d 6f 6a 69 73 5b 22 3a 22 j];. emojis[":"
- 00003f70: 20 2b 20 6e 61 6d 65 20 2b 20 22 3a 22 5d 20 3d + name + ":"] =
- 00003f80: 20 22 2f 69 6d 61 67 65 73 2f 65 6d 6f 6a 69 2f "/images/emoji/
- 00003f90: 22 20 2b 20 6e 61 6d 65 20 2b 20 22 2e 70 6e 67 " + name + ".png
- 00003fa0: 22 3b 0a 7d 0a 0a 73 65 74 55 73 65 72 6e 61 6d ";.}..setUsernam
- 00003fb0: 65 43 6f 6f 6b 69 65 20 3d 20 66 75 6e 63 74 69 eCookie = functi
- 00003fc0: 6f 6e 28 75 73 65 72 6e 61 6d 65 29 20 7b 0a 20 on(username) {.
- 00003fd0: 20 69 66 20 28 43 6f 6f 6b 69 65 73 20 3d 3d 3d if (Cookies ===
- 00003fe0: 20 76 6f 69 64 20 30 29 20 7b 0a 20 20 20 20 72 void 0) {. r
- 00003ff0: 65 74 75 72 6e 20 76 6f 69 64 20 30 3b 0a 20 20 eturn void 0;.
- 00004000: 7d 0a 20 20 69 66 20 28 24 28 27 23 72 65 6d 65 }. if ($('#reme
- 00004010: 6d 62 65 72 27 29 2e 69 73 28 27 3a 63 68 65 63 mber').is(':chec
- 00004020: 6b 65 64 27 29 29 20 7b 0a 20 20 20 20 72 65 74 ked')) {. ret
- 00004030: 75 72 6e 20 43 6f 6f 6b 69 65 73 2e 73 65 74 28 urn Cookies.set(
- 00004040: 27 75 73 65 72 6e 61 6d 65 27 2c 20 75 73 65 72 'username', user
- 00004050: 6e 61 6d 65 29 3b 0a 20 20 7d 0a 7d 3b 0a 0a 67 name);. }.};..g
- 00004060: 65 74 55 73 65 72 6e 61 6d 65 43 6f 6f 6b 69 65 etUsernameCookie
- 00004070: 20 3d 20 66 75 6e 63 74 69 6f 6e 28 29 20 7b 0a = function() {.
- 00004080: 20 20 69 66 20 28 43 6f 6f 6b 69 65 73 20 3d 3d if (Cookies ==
- 00004090: 3d 20 76 6f 69 64 20 30 29 20 7b 0a 20 20 20 20 = void 0) {.
- 000040a0: 72 65 74 75 72 6e 20 76 6f 69 64 20 30 3b 0a 20 return void 0;.
- 000040b0: 20 7d 0a 20 20 72 65 74 75 72 6e 20 43 6f 6f 6b }. return Cook
- 000040c0: 69 65 73 2e 67 65 74 28 27 75 73 65 72 6e 61 6d ies.get('usernam
- 000040d0: 65 27 29 3b 0a 7d 3b 0a 0a 72 65 6d 6f 76 65 55 e');.};..removeU
- 000040e0: 73 65 72 6e 61 6d 65 43 6f 6f 6b 69 65 20 3d 20 sernameCookie =
- 000040f0: 66 75 6e 63 74 69 6f 6e 28 29 20 7b 0a 20 20 69 function() {. i
- 00004100: 66 20 28 43 6f 6f 6b 69 65 73 20 3d 3d 3d 20 76 f (Cookies === v
- 00004110: 6f 69 64 20 30 29 20 7b 0a 20 20 20 20 72 65 74 oid 0) {. ret
- 00004120: 75 72 6e 20 76 6f 69 64 20 30 3b 0a 20 20 7d 0a urn void 0;. }.
- 00004130: 20 20 72 65 74 75 72 6e 20 43 6f 6f 6b 69 65 73 return Cookies
- 00004140: 2e 72 65 6d 6f 76 65 28 27 75 73 65 72 6e 61 6d .remove('usernam
- 00004150: 65 27 29 3b 0a 7d 3b 0a 0a 73 65 74 73 74 61 74 e');.};..setstat
- 00004160: 75 73 20 3d 20 66 75 6e 63 74 69 6f 6e 28 73 74 us = function(st
- 00004170: 61 74 2c 20 73 75 62 73 63 72 2c 20 69 73 65 72 at, subscr, iser
- 00004180: 72 6f 72 29 20 7b 0a 20 20 76 61 72 20 65 6c 65 ror) {. var ele
- 00004190: 6d 2c 20 68 74 6d 6c 3b 0a 20 20 65 6c 65 6d 20 m, html;. elem
- 000041a0: 3d 20 76 6f 69 64 20 30 3b 0a 20 20 68 74 6d 6c = void 0;. html
- 000041b0: 20 3d 20 76 6f 69 64 20 30 3b 0a 20 20 69 66 20 = void 0;. if
- 000041c0: 28 74 79 70 65 6f 66 20 73 75 62 73 63 72 20 21 (typeof subscr !
- 000041d0: 3d 3d 20 27 73 74 72 69 6e 67 27 29 20 7b 0a 20 == 'string') {.
- 000041e0: 20 20 20 69 73 65 72 72 6f 72 20 3d 20 73 75 62 iserror = sub
- 000041f0: 73 63 72 3b 0a 20 20 20 20 73 75 62 73 63 72 20 scr;. subscr
- 00004200: 3d 20 27 27 3b 0a 20 20 7d 0a 20 20 65 6c 65 6d = '';. }. elem
- 00004210: 20 3d 20 24 28 27 23 63 6f 6e 6e 73 74 61 74 75 = $('#connstatu
- 00004220: 73 27 29 3b 0a 20 20 68 74 6d 6c 20 3d 20 73 74 s');. html = st
- 00004230: 61 74 20 2b 20 22 3c 62 72 3e 3c 73 6d 61 6c 6c at + "<br><small
- 00004240: 3e 22 20 2b 20 73 75 62 73 63 72 20 2b 20 22 3c >" + subscr + "<
- 00004250: 2f 73 6d 61 6c 6c 3e 22 3b 0a 20 20 65 6c 65 6d /small>";. elem
- 00004260: 2e 68 74 6d 6c 28 68 74 6d 6c 29 3b 0a 20 20 69 .html(html);. i
- 00004270: 66 20 28 69 73 65 72 72 6f 72 29 20 7b 0a 20 20 f (iserror) {.
- 00004280: 20 20 72 65 74 75 72 6e 20 65 6c 65 6d 2e 61 64 return elem.ad
- 00004290: 64 43 6c 61 73 73 28 27 65 72 72 6f 72 27 29 3b dClass('error');
- 000042a0: 0a 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 . } else {.
- 000042b0: 72 65 74 75 72 6e 20 65 6c 65 6d 2e 72 65 6d 6f return elem.remo
- 000042c0: 76 65 43 6c 61 73 73 28 27 65 72 72 6f 72 27 29 veClass('error')
- 000042d0: 3b 0a 20 20 7d 0a 7d 3b 0a 0a 63 68 65 63 6b 50 ;. }.};..checkP
- 000042e0: 61 73 73 20 3d 20 66 75 6e 63 74 69 6f 6e 28 29 ass = function()
- 000042f0: 20 7b 0a 20 20 76 61 72 20 70 61 73 73 31 2c 20 {. var pass1,
- 00004300: 70 61 73 73 32 2c 20 72 65 67 69 73 74 65 72 62 pass2, registerb
- 00004310: 75 74 74 6f 6e 3b 0a 20 20 70 61 73 73 31 20 3d utton;. pass1 =
- 00004320: 20 24 28 27 23 70 61 73 73 77 6f 72 64 27 29 2e $('#password').
- 00004330: 76 61 6c 28 29 3b 0a 20 20 70 61 73 73 32 20 3d val();. pass2 =
- 00004340: 20 24 28 27 23 70 61 73 73 77 6f 72 64 32 27 29 $('#password2')
- 00004350: 2e 76 61 6c 28 29 3b 0a 20 20 72 65 67 69 73 74 .val();. regist
- 00004360: 65 72 62 75 74 74 6f 6e 20 3d 20 24 28 27 23 62 erbutton = $('#b
- 00004370: 74 6e 27 29 3b 0a 20 20 69 66 20 28 70 61 73 73 tn');. if (pass
- 00004380: 31 20 3d 3d 3d 20 70 61 73 73 32 29 20 7b 0a 20 1 === pass2) {.
- 00004390: 20 20 20 72 65 67 69 73 74 65 72 62 75 74 74 6f registerbutto
- 000043a0: 6e 2e 70 72 6f 70 28 27 64 69 73 61 62 6c 65 64 n.prop('disabled
- 000043b0: 27 2c 20 66 61 6c 73 65 29 3b 0a 20 20 20 20 24 ', false);. $
- 000043c0: 28 27 23 70 61 73 73 77 6f 72 64 32 27 29 2e 72 ('#password2').r
- 000043d0: 65 6d 6f 76 65 43 6c 61 73 73 28 27 62 61 64 70 emoveClass('badp
- 000043e0: 61 73 73 27 29 3b 0a 20 20 20 20 72 65 74 75 72 ass');. retur
- 000043f0: 6e 20 24 28 27 23 70 61 73 73 77 6f 72 64 32 27 n $('#password2'
- 00004400: 29 2e 61 64 64 43 6c 61 73 73 28 27 67 6f 6f 64 ).addClass('good
- 00004410: 70 61 73 73 27 29 3b 0a 20 20 7d 20 65 6c 73 65 pass');. } else
- 00004420: 20 7b 0a 20 20 20 20 72 65 67 69 73 74 65 72 62 {. registerb
- 00004430: 75 74 74 6f 6e 2e 70 72 6f 70 28 27 64 69 73 61 utton.prop('disa
- 00004440: 62 6c 65 64 27 2c 20 74 72 75 65 29 3b 0a 20 20 bled', true);.
- 00004450: 20 20 24 28 27 23 70 61 73 73 77 6f 72 64 32 27 $('#password2'
- 00004460: 29 2e 72 65 6d 6f 76 65 43 6c 61 73 73 28 27 67 ).removeClass('g
- 00004470: 6f 6f 64 70 61 73 73 27 29 3b 0a 20 20 20 20 72 oodpass');. r
- 00004480: 65 74 75 72 6e 20 24 28 27 23 70 61 73 73 77 6f eturn $('#passwo
- 00004490: 72 64 32 27 29 2e 61 64 64 43 6c 61 73 73 28 27 rd2').addClass('
- 000044a0: 62 61 64 70 61 73 73 27 29 3b 0a 20 20 7d 0a 7d badpass');. }.}
- 000044b0: 3b 0a 0a 73 61 66 65 20 3d 20 66 75 6e 63 74 69 ;..safe = functi
- 000044c0: 6f 6e 28 63 61 6c 6c 62 61 63 6b 29 20 7b 0a 20 on(callback) {.
- 000044d0: 20 76 61 72 20 65 72 72 6f 72 2c 20 65 72 72 6f var error, erro
- 000044e0: 72 31 3b 0a 20 20 74 72 79 20 7b 0a 20 20 20 20 r1;. try {.
- 000044f0: 72 65 74 75 72 6e 20 63 61 6c 6c 62 61 63 6b 28 return callback(
- 00004500: 29 3b 0a 20 20 7d 20 63 61 74 63 68 20 28 65 72 );. } catch (er
- 00004510: 72 6f 72 31 29 20 7b 0a 20 20 20 20 65 72 72 6f ror1) {. erro
- 00004520: 72 20 3d 20 65 72 72 6f 72 31 3b 0a 20 20 20 20 r = error1;.
- 00004530: 63 6f 6e 73 6f 6c 65 2e 6c 6f 67 28 65 72 72 6f console.log(erro
- 00004540: 72 29 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 73 r);. return s
- 00004550: 65 74 73 74 61 74 75 73 28 65 72 72 2e 6d 65 73 etstatus(err.mes
- 00004560: 73 61 67 65 2c 20 74 72 75 65 29 3b 0a 20 20 7d sage, true);. }
- 00004570: 0a 7d 3b 0a 0a 65 73 63 61 70 65 52 65 67 65 78 .};..escapeRegex
- 00004580: 20 3d 20 66 75 6e 63 74 69 6f 6e 28 73 74 72 29 = function(str)
- 00004590: 20 7b 0a 20 20 72 65 74 75 72 6e 20 73 74 72 2e {. return str.
- 000045a0: 72 65 70 6c 61 63 65 28 2f 5b 5c 2d 5c 5b 5c 5d replace(/[\-\[\]
- 000045b0: 5c 2f 5c 7b 5c 7d 5c 28 5c 29 5c 2a 5c 2b 5c 3f \/\{\}\(\)\*\+\?
- 000045c0: 5c 2e 5c 5c 5c 5e 5c 24 5c 7c 5d 2f 67 2c 20 27 \.\\\^\$\|]/g, '
- 000045d0: 5c 5c 24 26 27 29 3b 0a 7d 3b 0a 0a 70 61 72 73 \\$&');.};..pars
- 000045e0: 65 4d 65 73 73 61 67 65 20 3d 20 66 75 6e 63 74 eMessage = funct
- 000045f0: 69 6f 6e 28 68 74 6d 6c 29 20 7b 0a 20 20 76 61 ion(html) {. va
- 00004600: 72 20 65 6d 6f 6a 69 2c 20 6c 69 6e 6b 3b 0a 20 r emoji, link;.
- 00004610: 20 66 6f 72 20 28 65 6d 6f 6a 69 20 69 6e 20 65 for (emoji in e
- 00004620: 6d 6f 6a 69 73 29 20 7b 0a 20 20 20 20 6c 69 6e mojis) {. lin
- 00004630: 6b 20 3d 20 65 6d 6f 6a 69 73 5b 65 6d 6f 6a 69 k = emojis[emoji
- 00004640: 5d 3b 0a 20 20 20 20 68 74 6d 6c 20 3d 20 68 74 ];. html = ht
- 00004650: 6d 6c 2e 72 65 70 6c 61 63 65 28 6e 65 77 20 52 ml.replace(new R
- 00004660: 65 67 45 78 70 28 65 73 63 61 70 65 52 65 67 65 egExp(escapeRege
- 00004670: 78 28 65 6d 6f 6a 69 29 2c 20 27 67 69 27 29 2c x(emoji), 'gi'),
- 00004680: 20 22 3c 69 6d 67 20 61 6c 74 3d 27 22 20 2b 20 "<img alt='" +
- 00004690: 65 6d 6f 6a 69 20 2b 20 22 27 20 73 72 63 3d 27 emoji + "' src='
- 000046a0: 22 20 2b 20 6c 69 6e 6b 20 2b 20 22 27 3e 22 29 " + link + "'>")
- 000046b0: 3b 0a 20 20 7d 0a 20 20 72 65 74 75 72 6e 20 68 ;. }. return h
- 000046c0: 74 6d 6c 3b 0a 7d 3b 0a 0a 69 6e 69 74 20 3d 20 tml;.};..init =
- 000046d0: 66 75 6e 63 74 69 6f 6e 28 29 20 7b 0a 20 20 72 function() {. r
- 000046e0: 65 74 75 72 6e 20 73 61 66 65 28 66 75 6e 63 74 eturn safe(funct
- 000046f0: 69 6f 6e 28 29 20 7b 0a 20 20 20 20 76 61 72 20 ion() {. var
- 00004700: 75 73 65 72 6e 61 6d 65 3b 0a 20 20 20 20 75 73 username;. us
- 00004710: 65 72 6e 61 6d 65 20 3d 20 76 6f 69 64 20 30 3b ername = void 0;
- 00004720: 0a 20 20 20 20 73 6f 63 6b 65 74 20 3d 20 69 6f . socket = io
- 00004730: 2e 63 6f 6e 6e 65 63 74 28 29 3b 0a 20 20 20 20 .connect();.
- 00004740: 73 6f 63 6b 65 74 2e 6f 6e 28 27 63 6f 6e 6e 65 socket.on('conne
- 00004750: 63 74 27 2c 20 66 75 6e 63 74 69 6f 6e 28 29 20 ct', function()
- 00004760: 7b 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 {. return s
- 00004770: 65 74 73 74 61 74 75 73 28 27 43 6f 6e 6e 65 63 etstatus('Connec
- 00004780: 74 65 64 20 74 6f 20 74 68 65 20 73 65 72 76 65 ted to the serve
- 00004790: 72 21 27 29 3b 0a 20 20 20 20 7d 29 3b 0a 20 20 r!');. });.
- 000047a0: 20 20 73 6f 63 6b 65 74 2e 6f 6e 28 27 73 65 74 socket.on('set
- 000047b0: 69 64 27 2c 20 66 75 6e 63 74 69 6f 6e 28 64 61 id', function(da
- 000047c0: 74 61 29 20 7b 0a 20 20 20 20 20 20 72 65 74 75 ta) {. retu
- 000047d0: 72 6e 20 73 65 73 73 69 6f 6e 69 64 20 3d 20 64 rn sessionid = d
- 000047e0: 61 74 61 2e 73 65 73 73 69 6f 6e 69 64 3b 0a 20 ata.sessionid;.
- 000047f0: 20 20 20 7d 29 3b 0a 20 20 20 20 73 6f 63 6b 65 });. socke
- 00004800: 74 2e 6f 6e 28 27 64 69 73 63 6f 6e 6e 65 63 74 t.on('disconnect
- 00004810: 27 2c 20 66 75 6e 63 74 69 6f 6e 28 29 20 7b 0a ', function() {.
- 00004820: 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 74 return set
- 00004830: 73 74 61 74 75 73 28 27 4c 6f 73 74 20 63 6f 6e status('Lost con
- 00004840: 6e 65 63 74 69 6f 6e 21 27 2c 20 74 72 75 65 29 nection!', true)
- 00004850: 3b 0a 20 20 20 20 7d 29 3b 0a 20 20 20 20 24 28 ;. });. $(
- 00004860: 27 23 70 61 73 73 77 6f 72 64 27 29 2e 6b 65 79 '#password').key
- 00004870: 64 6f 77 6e 28 66 75 6e 63 74 69 6f 6e 28 65 76 down(function(ev
- 00004880: 65 6e 74 29 20 7b 0a 20 20 20 20 20 20 69 66 20 ent) {. if
- 00004890: 28 65 76 65 6e 74 2e 6b 65 79 43 6f 64 65 20 3d (event.keyCode =
- 000048a0: 3d 3d 20 31 33 29 20 7b 0a 20 20 20 20 20 20 20 == 13) {.
- 000048b0: 20 65 76 65 6e 74 2e 70 72 65 76 65 6e 74 44 65 event.preventDe
- 000048c0: 66 61 75 6c 74 28 29 3b 0a 20 20 20 20 20 20 20 fault();.
- 000048d0: 20 72 65 74 75 72 6e 20 24 28 27 23 62 74 6e 27 return $('#btn'
- 000048e0: 29 2e 63 6c 69 63 6b 28 29 3b 0a 20 20 20 20 20 ).click();.
- 000048f0: 20 7d 0a 20 20 20 20 7d 29 3b 0a 20 20 20 20 73 }. });. s
- 00004900: 6f 63 6b 65 74 2e 6f 6e 28 27 6c 6f 67 69 6e 2d ocket.on('login-
- 00004910: 63 6f 6d 70 6c 65 74 65 27 2c 20 66 75 6e 63 74 complete', funct
- 00004920: 69 6f 6e 28 64 61 74 61 29 20 7b 0a 20 20 20 20 ion(data) {.
- 00004930: 20 20 73 65 74 55 73 65 72 6e 61 6d 65 43 6f 6f setUsernameCoo
- 00004940: 6b 69 65 28 64 61 74 61 2e 75 73 65 72 6e 61 6d kie(data.usernam
- 00004950: 65 29 3b 0a 20 20 20 20 20 20 73 65 74 73 74 61 e);. setsta
- 00004960: 74 75 73 28 27 57 65 6c 63 6f 6d 65 20 27 20 2b tus('Welcome ' +
- 00004970: 20 64 61 74 61 2e 75 73 65 72 6e 61 6d 65 20 2b data.username +
- 00004980: 20 27 21 27 2c 20 27 4c 6f 61 64 69 6e 67 20 63 '!', 'Loading c
- 00004990: 68 61 74 2e 2e 2e 27 29 3b 0a 20 20 20 20 20 20 hat...');.
- 000049a0: 72 65 74 75 72 6e 20 69 6e 69 74 63 68 61 74 28 return initchat(
- 000049b0: 29 3b 0a 20 20 20 20 7d 29 3b 0a 20 20 20 20 73 );. });. s
- 000049c0: 6f 63 6b 65 74 2e 6f 6e 28 27 6c 6f 67 69 6e 2d ocket.on('login-
- 000049d0: 66 61 69 6c 65 64 27 2c 20 66 75 6e 63 74 69 6f failed', functio
- 000049e0: 6e 28 64 61 74 61 29 20 7b 0a 20 20 20 20 20 20 n(data) {.
- 000049f0: 72 65 74 75 72 6e 20 73 65 74 73 74 61 74 75 73 return setstatus
- 00004a00: 28 27 46 61 69 6c 65 64 20 74 6f 20 6c 6f 67 69 ('Failed to logi
- 00004a10: 6e 3a 27 2c 20 64 61 74 61 2e 65 72 72 6f 72 2c n:', data.error,
- 00004a20: 20 74 72 75 65 29 3b 0a 20 20 20 20 7d 29 3b 0a true);. });.
- 00004a30: 20 20 20 20 73 6f 63 6b 65 74 2e 6f 6e 28 27 72 socket.on('r
- 00004a40: 65 67 69 73 74 65 72 2d 63 6f 6d 70 6c 65 74 65 egister-complete
- 00004a50: 27 2c 20 66 75 6e 63 74 69 6f 6e 28 64 61 74 61 ', function(data
- 00004a60: 29 20 7b 0a 20 20 20 20 20 20 72 65 74 75 72 6e ) {. return
- 00004a70: 20 73 65 74 73 74 61 74 75 73 28 27 55 73 65 72 setstatus('User
- 00004a80: 6e 61 6d 65 20 5c 27 27 20 2b 20 64 61 74 61 2e name \'' + data.
- 00004a90: 75 73 65 72 6e 61 6d 65 20 2b 20 27 5c 27 20 68 username + '\' h
- 00004aa0: 61 73 20 62 65 65 6e 20 73 75 63 63 65 73 73 66 as been successf
- 00004ab0: 75 6c 6c 79 20 72 65 67 69 73 74 65 72 65 64 27 ully registered'
- 00004ac0: 29 3b 0a 20 20 20 20 7d 29 3b 0a 20 20 20 20 73 );. });. s
- 00004ad0: 6f 63 6b 65 74 2e 6f 6e 28 27 72 65 67 69 73 74 ocket.on('regist
- 00004ae0: 65 72 2d 66 61 69 6c 65 64 27 2c 20 66 75 6e 63 er-failed', func
- 00004af0: 74 69 6f 6e 28 64 61 74 61 29 20 7b 0a 20 20 20 tion(data) {.
- 00004b00: 20 20 20 72 65 74 75 72 6e 20 73 65 74 73 74 61 return setsta
- 00004b10: 74 75 73 28 27 46 61 69 6c 65 64 20 74 6f 20 72 tus('Failed to r
- 00004b20: 65 67 69 73 74 65 72 27 2c 20 64 61 74 61 2e 65 egister', data.e
- 00004b30: 72 72 6f 72 2c 20 74 72 75 65 29 3b 0a 20 20 20 rror, true);.
- 00004b40: 20 7d 29 3b 0a 20 20 20 20 75 73 65 72 6e 61 6d });. usernam
- 00004b50: 65 20 3d 20 67 65 74 55 73 65 72 6e 61 6d 65 43 e = getUsernameC
- 00004b60: 6f 6f 6b 69 65 28 29 3b 0a 20 20 20 20 69 66 20 ookie();. if
- 00004b70: 28 75 73 65 72 6e 61 6d 65 29 20 7b 0a 20 20 20 (username) {.
- 00004b80: 20 20 20 72 65 74 75 72 6e 20 24 28 27 23 75 73 return $('#us
- 00004b90: 65 72 6e 61 6d 65 27 29 2e 76 61 6c 28 75 73 65 ername').val(use
- 00004ba0: 72 6e 61 6d 65 29 3b 0a 20 20 20 20 7d 0a 20 20 rname);. }.
- 00004bb0: 7d 29 3b 0a 7d 3b 0a 0a 69 6e 69 74 63 68 61 74 });.};..initchat
- 00004bc0: 20 3d 20 66 75 6e 63 74 69 6f 6e 28 29 20 7b 0a = function() {.
- 00004bd0: 20 20 72 65 74 75 72 6e 20 73 61 66 65 28 66 75 return safe(fu
- 00004be0: 6e 63 74 69 6f 6e 28 29 20 7b 0a 20 20 20 20 73 nction() {. s
- 00004bf0: 6f 63 6b 65 74 2e 6f 6e 28 27 64 69 73 63 6f 6e ocket.on('discon
- 00004c00: 6e 65 63 74 27 2c 20 66 75 6e 63 74 69 6f 6e 28 nect', function(
- 00004c10: 29 20 7b 0a 20 20 20 20 20 20 69 66 20 28 24 28 ) {. if ($(
- 00004c20: 27 23 6d 73 67 62 6f 78 27 29 20 3d 3d 20 6e 75 '#msgbox') == nu
- 00004c30: 6c 6c 29 20 7b 0a 20 20 20 20 20 20 20 20 72 65 ll) {. re
- 00004c40: 74 75 72 6e 20 61 6c 65 72 74 28 27 44 69 73 63 turn alert('Disc
- 00004c50: 6f 6e 6e 65 63 74 65 64 20 66 72 6f 6d 20 73 65 onnected from se
- 00004c60: 72 76 65 72 21 27 29 3b 0a 20 20 20 20 20 20 7d rver!');. }
- 00004c70: 0a 20 20 20 20 7d 29 3b 0a 20 20 20 20 73 6f 63 . });. soc
- 00004c80: 6b 65 74 2e 6f 6e 28 27 63 68 61 74 2d 64 61 74 ket.on('chat-dat
- 00004c90: 61 27 2c 20 66 75 6e 63 74 69 6f 6e 28 64 61 74 a', function(dat
- 00004ca0: 61 29 20 7b 0a 20 20 20 20 20 20 76 61 72 20 68 a) {. var h
- 00004cb0: 74 6d 6c 3b 0a 20 20 20 20 20 20 68 74 6d 6c 20 tml;. html
- 00004cc0: 3d 20 64 61 74 61 2e 68 74 6d 6c 3b 0a 20 20 20 = data.html;.
- 00004cd0: 20 20 20 24 28 27 62 6f 64 79 27 29 2e 68 74 6d $('body').htm
- 00004ce0: 6c 28 68 74 6d 6c 29 3b 0a 20 20 20 20 20 20 73 l(html);. s
- 00004cf0: 6f 63 6b 65 74 2e 6f 6e 28 27 64 69 73 63 6f 6e ocket.on('discon
- 00004d00: 6e 65 63 74 27 2c 20 66 75 6e 63 74 69 6f 6e 28 nect', function(
- 00004d10: 29 20 7b 0a 20 20 20 20 20 20 20 20 76 61 72 20 ) {. var
- 00004d20: 6d 73 67 62 6f 78 3b 0a 20 20 20 20 20 20 20 20 msgbox;.
- 00004d30: 6d 73 67 62 6f 78 20 3d 20 24 28 27 23 6d 73 67 msgbox = $('#msg
- 00004d40: 62 6f 78 27 29 3b 0a 20 20 20 20 20 20 20 20 6d box');. m
- 00004d50: 73 67 62 6f 78 2e 68 69 64 65 28 29 3b 0a 20 20 sgbox.hide();.
- 00004d60: 20 20 20 20 20 20 69 66 20 28 21 24 28 27 23 72 if (!$('#r
- 00004d70: 65 66 72 65 73 68 6c 69 6e 6b 27 29 5b 30 5d 29 efreshlink')[0])
- 00004d80: 20 7b 0a 20 20 20 20 20 20 20 20 20 20 6d 73 67 {. msg
- 00004d90: 62 6f 78 2e 70 61 72 65 6e 74 28 29 2e 61 70 70 box.parent().app
- 00004da0: 65 6e 64 28 27 3c 73 70 61 6e 20 69 64 3d 22 72 end('<span id="r
- 00004db0: 65 66 72 65 73 68 6c 69 6e 6b 22 20 63 6c 61 73 efreshlink" clas
- 00004dc0: 73 3d 22 65 72 72 6f 72 22 3e 4c 6f 73 74 20 63 s="error">Lost c
- 00004dd0: 6f 6e 6e 65 63 74 69 6f 6e 5c 6e 3c 61 20 68 72 onnection\n<a hr
- 00004de0: 65 66 20 73 74 79 6c 65 3d 22 64 69 73 70 6c 61 ef style="displa
- 00004df0: 79 3a 20 6e 6f 6e 65 3b 22 20 6f 6e 63 6c 69 63 y: none;" onclic
- 00004e00: 6b 3d 22 6c 6f 63 61 74 69 6f 6e 2e 68 72 65 66 k="location.href
- 00004e10: 3d 6c 6f 63 61 74 69 6f 6e 2e 68 72 65 66 22 3e =location.href">
- 00004e20: 20 54 72 79 20 72 65 66 72 65 73 68 69 6e 67 3f Try refreshing?
- 00004e30: 3c 2f 61 3e 3c 2f 73 70 61 6e 3e 27 29 3b 0a 20 </a></span>');.
- 00004e40: 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 }.
- 00004e50: 20 73 6f 63 6b 65 74 2e 6f 6e 28 27 63 6f 6e 6e socket.on('conn
- 00004e60: 65 63 74 27 2c 20 66 75 6e 63 74 69 6f 6e 28 29 ect', function()
- 00004e70: 20 7b 0a 20 20 20 20 20 20 20 20 20 20 72 65 74 {. ret
- 00004e80: 75 72 6e 20 24 28 27 23 72 65 66 72 65 73 68 6c urn $('#refreshl
- 00004e90: 69 6e 6b 20 61 27 29 2e 73 68 6f 77 28 29 3b 0a ink a').show();.
- 00004ea0: 20 20 20 20 20 20 20 20 7d 29 3b 0a 20 20 20 20 });.
- 00004eb0: 20 20 20 20 72 65 74 75 72 6e 20 73 6f 63 6b 65 return socke
- 00004ec0: 74 2e 6f 6e 28 27 64 69 73 63 6f 6e 6e 65 63 74 t.on('disconnect
- 00004ed0: 27 2c 20 66 75 6e 63 74 69 6f 6e 28 29 20 7b 0a ', function() {.
- 00004ee0: 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e return
- 00004ef0: 20 24 28 27 23 72 65 66 72 65 73 68 6c 69 6e 6b $('#refreshlink
- 00004f00: 20 61 27 29 2e 68 69 64 65 28 29 3b 0a 20 20 20 a').hide();.
- 00004f10: 20 20 20 20 20 7d 29 3b 0a 20 20 20 20 20 20 7d });. }
- 00004f20: 29 3b 0a 20 20 20 20 20 20 24 28 27 23 6d 73 67 );. $('#msg
- 00004f30: 62 6f 78 27 29 2e 6b 65 79 64 6f 77 6e 28 66 75 box').keydown(fu
- 00004f40: 6e 63 74 69 6f 6e 28 65 76 65 6e 74 29 20 7b 0a nction(event) {.
- 00004f50: 20 20 20 20 20 20 20 20 76 61 72 20 6d 65 73 73 var mess
- 00004f60: 61 67 65 3b 0a 20 20 20 20 20 20 20 20 69 66 20 age;. if
- 00004f70: 28 65 76 65 6e 74 2e 6b 65 79 43 6f 64 65 20 3d (event.keyCode =
- 00004f80: 3d 3d 20 31 33 29 20 7b 0a 20 20 20 20 20 20 20 == 13) {.
- 00004f90: 20 20 20 65 76 65 6e 74 2e 70 72 65 76 65 6e 74 event.prevent
- 00004fa0: 44 65 66 61 75 6c 74 28 29 3b 0a 20 20 20 20 20 Default();.
- 00004fb0: 20 20 20 20 20 6d 65 73 73 61 67 65 20 3d 20 24 message = $
- 00004fc0: 28 27 23 6d 73 67 62 6f 78 27 29 2e 76 61 6c 28 ('#msgbox').val(
- 00004fd0: 29 3b 0a 20 20 20 20 20 20 20 20 20 20 24 28 27 );. $('
- 00004fe0: 23 6d 73 67 62 6f 78 27 29 2e 76 61 6c 28 27 27 #msgbox').val(''
- 00004ff0: 29 3b 0a 20 20 20 20 20 20 20 20 20 20 72 65 74 );. ret
- 00005000: 75 72 6e 20 73 6f 63 6b 65 74 2e 65 6d 69 74 28 urn socket.emit(
- 00005010: 27 63 6c 69 65 6e 74 2d 73 65 6e 64 2d 6d 65 73 'client-send-mes
- 00005020: 73 61 67 65 27 2c 20 7b 0a 20 20 20 20 20 20 20 sage', {.
- 00005030: 20 20 20 20 20 73 65 73 73 69 6f 6e 69 64 3a 20 sessionid:
- 00005040: 73 65 73 73 69 6f 6e 69 64 2c 0a 20 20 20 20 20 sessionid,.
- 00005050: 20 20 20 20 20 20 20 6d 65 73 73 61 67 65 3a 20 message:
- 00005060: 6d 65 73 73 61 67 65 0a 20 20 20 20 20 20 20 20 message.
- 00005070: 20 20 7d 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a });. }.
- 00005080: 20 20 20 20 20 20 7d 29 3b 0a 20 20 20 20 20 20 });.
- 00005090: 73 6f 63 6b 65 74 2e 6f 6e 28 27 63 6c 69 65 6e socket.on('clien
- 000050a0: 74 2d 72 65 63 65 69 76 65 2d 6d 65 73 73 61 67 t-receive-messag
- 000050b0: 65 27 2c 20 66 75 6e 63 74 69 6f 6e 28 64 61 74 e', function(dat
- 000050c0: 61 29 20 7b 0a 20 20 20 20 20 20 20 20 76 61 72 a) {. var
- 000050d0: 20 6d 65 73 73 61 67 65 2c 20 75 73 65 72 3b 0a message, user;.
- 000050e0: 20 20 20 20 20 20 20 20 75 73 65 72 20 3d 20 64 user = d
- 000050f0: 61 74 61 2e 75 73 65 72 3b 0a 20 20 20 20 20 20 ata.user;.
- 00005100: 20 20 6d 65 73 73 61 67 65 20 3d 20 64 61 74 61 message = data
- 00005110: 2e 6d 65 73 73 61 67 65 3b 0a 20 20 20 20 20 20 .message;.
- 00005120: 20 20 68 74 6d 6c 20 3d 20 22 3c 70 20 63 6c 61 html = "<p cla
- 00005130: 73 73 3d 27 63 68 61 74 2d 6d 65 73 73 61 67 65 ss='chat-message
- 00005140: 20 22 20 2b 20 75 73 65 72 2e 74 79 70 65 20 2b " + user.type +
- 00005150: 20 22 27 3e 22 3b 0a 20 20 20 20 20 20 20 20 69 "'>";. i
- 00005160: 66 20 28 75 73 65 72 2e 6e 61 6d 65 20 21 3d 3d f (user.name !==
- 00005170: 20 27 53 45 52 56 45 52 27 29 20 7b 0a 20 20 20 'SERVER') {.
- 00005180: 20 20 20 20 20 20 20 68 74 6d 6c 20 2b 3d 20 22 html += "
- 00005190: 3c 73 70 61 6e 20 63 6c 61 73 73 3d 27 75 73 65 <span class='use
- 000051a0: 72 27 3e 22 20 2b 20 75 73 65 72 2e 6e 61 6d 65 r'>" + user.name
- 000051b0: 20 2b 20 22 3a 3a 20 3c 2f 73 70 61 6e 3e 22 3b + ":: </span>";
- 000051c0: 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 . }.
- 000051d0: 20 20 20 68 74 6d 6c 20 2b 3d 20 70 61 72 73 65 html += parse
- 000051e0: 4d 65 73 73 61 67 65 28 6d 65 73 73 61 67 65 29 Message(message)
- 000051f0: 20 2b 20 27 3c 2f 70 3e 27 3b 0a 20 20 20 20 20 + '</p>';.
- 00005200: 20 20 20 72 65 74 75 72 6e 20 24 28 27 23 63 68 return $('#ch
- 00005210: 61 74 62 6f 78 27 29 2e 68 74 6d 6c 28 68 74 6d atbox').html(htm
- 00005220: 6c 20 2b 20 24 28 27 23 63 68 61 74 62 6f 78 27 l + $('#chatbox'
- 00005230: 29 2e 68 74 6d 6c 28 29 29 3b 0a 20 20 20 20 20 ).html());.
- 00005240: 20 7d 29 3b 0a 20 20 20 20 20 20 72 65 74 75 72 });. retur
- 00005250: 6e 20 73 6f 63 6b 65 74 2e 6f 6e 28 27 73 65 74 n socket.on('set
- 00005260: 63 68 61 6e 6e 65 6c 73 27 2c 20 66 75 6e 63 74 channels', funct
- 00005270: 69 6f 6e 28 64 61 74 61 29 20 7b 0a 20 20 20 20 ion(data) {.
- 00005280: 20 20 20 20 63 68 61 6e 6e 65 6c 73 20 3d 20 64 channels = d
- 00005290: 61 74 61 2e 63 68 61 6e 6e 65 6c 73 3b 0a 20 20 ata.channels;.
- 000052a0: 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 28 27 return $('
- 000052b0: 23 63 68 61 6e 6e 65 6c 73 27 29 2e 68 74 6d 6c #channels').html
- 000052c0: 28 27 43 68 61 6e 6e 65 6c 73 3a 20 27 20 2b 20 ('Channels: ' +
- 000052d0: 63 68 61 6e 6e 65 6c 73 2e 6a 6f 69 6e 28 27 2c channels.join(',
- 000052e0: 20 27 29 29 3b 0a 20 20 20 20 20 20 7d 29 3b 0a '));. });.
- 000052f0: 20 20 20 20 7d 29 3b 0a 20 20 20 20 73 6f 63 6b });. sock
- 00005300: 65 74 2e 65 6d 69 74 28 27 67 65 74 2d 63 68 61 et.emit('get-cha
- 00005310: 74 2d 64 61 74 61 27 29 3b 0a 20 20 20 20 72 65 t-data');. re
- 00005320: 74 75 72 6e 20 69 6e 69 74 67 61 6d 65 28 29 3b turn initgame();
- 00005330: 0a 20 20 7d 29 3b 0a 7d 3b 0a 0a 6c 6f 67 69 6e . });.};..login
- 00005340: 20 3d 20 66 75 6e 63 74 69 6f 6e 28 29 20 7b 0a = function() {.
- 00005350: 20 20 72 65 74 75 72 6e 20 73 61 66 65 28 66 75 return safe(fu
- 00005360: 6e 63 74 69 6f 6e 28 29 20 7b 0a 20 20 20 20 76 nction() {. v
- 00005370: 61 72 20 70 61 73 73 77 6f 72 64 2c 20 75 73 65 ar password, use
- 00005380: 72 6e 61 6d 65 3b 0a 20 20 20 20 75 73 65 72 6e rname;. usern
- 00005390: 61 6d 65 20 3d 20 24 28 27 23 75 73 65 72 6e 61 ame = $('#userna
- 000053a0: 6d 65 27 29 2e 76 61 6c 28 29 3b 0a 20 20 20 20 me').val();.
- 000053b0: 70 61 73 73 77 6f 72 64 20 3d 20 24 28 27 23 70 password = $('#p
- 000053c0: 61 73 73 77 6f 72 64 27 29 2e 76 61 6c 28 29 3b assword').val();
- 000053d0: 0a 20 20 20 20 72 65 74 75 72 6e 20 73 6f 63 6b . return sock
- 000053e0: 65 74 2e 65 6d 69 74 28 27 6c 6f 67 69 6e 27 2c et.emit('login',
- 000053f0: 20 7b 0a 20 20 20 20 20 20 75 73 65 72 6e 61 6d {. usernam
- 00005400: 65 3a 20 75 73 65 72 6e 61 6d 65 2c 0a 20 20 20 e: username,.
- 00005410: 20 20 20 70 61 73 73 77 6f 72 64 3a 20 70 61 73 password: pas
- 00005420: 73 77 6f 72 64 0a 20 20 20 20 7d 29 3b 0a 20 20 sword. });.
- 00005430: 7d 29 3b 0a 7d 3b 0a 0a 72 65 67 69 73 74 65 72 });.};..register
- 00005440: 20 3d 20 66 75 6e 63 74 69 6f 6e 28 29 20 7b 0a = function() {.
- 00005450: 20 20 72 65 74 75 72 6e 20 73 61 66 65 28 66 75 return safe(fu
- 00005460: 6e 63 74 69 6f 6e 28 29 20 7b 0a 20 20 20 20 76 nction() {. v
- 00005470: 61 72 20 70 61 73 73 77 6f 72 64 2c 20 75 73 65 ar password, use
- 00005480: 72 6e 61 6d 65 3b 0a 20 20 20 20 75 73 65 72 6e rname;. usern
- 00005490: 61 6d 65 20 3d 20 24 28 27 23 75 73 65 72 6e 61 ame = $('#userna
- 000054a0: 6d 65 27 29 2e 76 61 6c 28 29 3b 0a 20 20 20 20 me').val();.
- 000054b0: 70 61 73 73 77 6f 72 64 20 3d 20 24 28 27 23 70 password = $('#p
- 000054c0: 61 73 73 77 6f 72 64 27 29 2e 76 61 6c 28 29 3b assword').val();
- 000054d0: 0a 20 20 20 20 72 65 74 75 72 6e 20 73 6f 63 6b . return sock
- 000054e0: 65 74 2e 65 6d 69 74 28 27 72 65 67 69 73 74 65 et.emit('registe
- 000054f0: 72 27 2c 20 7b 0a 20 20 20 20 20 20 75 73 65 72 r', {. user
- 00005500: 6e 61 6d 65 3a 20 75 73 65 72 6e 61 6d 65 2c 0a name: username,.
- 00005510: 20 20 20 20 20 20 70 61 73 73 77 6f 72 64 3a 20 password:
- 00005520: 70 61 73 73 77 6f 72 64 0a 20 20 20 20 7d 29 3b password. });
- 00005530: 0a 20 20 7d 29 3b 0a 7d 3b 0a 0a 6c 6f 67 6f 75 . });.};..logou
- 00005540: 74 20 3d 20 66 75 6e 63 74 69 6f 6e 28 29 20 7b t = function() {
- 00005550: 0a 20 20 72 65 74 75 72 6e 20 6c 6f 63 61 74 69 . return locati
- 00005560: 6f 6e 2e 68 72 65 66 20 2b 3d 20 27 27 3b 0a 7d on.href += '';.}
- 00005570: 3b 0a ;.
- 00000000: 4e 98 ea e7 00 e5 92 f7 5f d8 d5 41 N......._..A
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement