minimal-web-templates – Diff between revs 1 and 2

Subversion Repositories:
Rev:
Only display areas with differencesIgnore whitespace
Rev 1 Rev 2
1 /*jslint browser: true, undef: true, eqeqeq: true, nomen: true, white: true */ 1 /*************************************************************************/
2 /*global window: false, document: false */ 2 /* Copyright (C) 2013 Wizardry and Steamworks - License: GNU GPLv3 */
3   -  
4 /* -  
5 * fix looped audio -  
6 * add fruits + levels 3 /*************************************************************************/
7 * fix what happens when a ghost is eaten (should go back to base) 4 /* Original by: Copyright (C) 2004 Sam Hocevar <sam@hocevar.net> */
8 * do proper ghost mechanics (blinky/wimpy etc) 5 /*************************************************************************/
9 */ -  
10   6  
11 var NONE = 4, 7 var NONE = 4,
12 UP = 3, 8 UP = 3,
13 LEFT = 2, 9 LEFT = 2,
14 DOWN = 1, 10 DOWN = 1,
15 RIGHT = 11, 11 RIGHT = 11,
16 WAITING = 5, 12 WAITING = 5,
17 PAUSE = 6, 13 PAUSE = 6,
18 PLAYING = 7, 14 PLAYING = 7,
19 COUNTDOWN = 8, 15 COUNTDOWN = 8,
20 EATEN_PAUSE = 9, 16 EATEN_PAUSE = 9,
21 DYING = 10, 17 DYING = 10,
22 Pacman = {}; 18 Pacman = {};
23   19  
24 Pacman.FPS = 30; 20 Pacman.FPS = 30;
25   21  
26 Pacman.Ghost = function (game, map, colour) { 22 Pacman.Ghost = function (game, map, colour) {
27   23  
28 var position = null, 24 var position = null,
29 direction = null, 25 direction = null,
30 eatable = null, 26 eatable = null,
31 eaten = null, 27 eaten = null,
32 due = null; 28 due = null;
33 29
34 function getNewCoord(dir, current) { 30 function getNewCoord(dir, current) {
35 31
36 var speed = isVunerable() ? 1 : isHidden() ? 4 : 2, 32 var speed = isVunerable() ? 1 : isHidden() ? 4 : 2,
37 xSpeed = (dir === LEFT && -speed || dir === RIGHT && speed || 0), 33 xSpeed = (dir === LEFT && -speed || dir === RIGHT && speed || 0),
38 ySpeed = (dir === DOWN && speed || dir === UP && -speed || 0); 34 ySpeed = (dir === DOWN && speed || dir === UP && -speed || 0);
39 35
40 return { 36 return {
41 "x": addBounded(current.x, xSpeed), 37 "x": addBounded(current.x, xSpeed),
42 "y": addBounded(current.y, ySpeed) 38 "y": addBounded(current.y, ySpeed)
43 }; 39 };
44 }; 40 };
45   41  
46 /* Collision detection(walls) is done when a ghost lands on an 42 /* Collision detection(walls) is done when a ghost lands on an
47 * exact block, make sure they dont skip over it 43 * exact block, make sure they dont skip over it
48 */ 44 */
49 function addBounded(x1, x2) { 45 function addBounded(x1, x2) {
50 var rem = x1 % 10, 46 var rem = x1 % 10,
51 result = rem + x2; 47 result = rem + x2;
52 if (rem !== 0 && result > 10) { 48 if (rem !== 0 && result > 10) {
53 return x1 + (10 - rem); 49 return x1 + (10 - rem);
54 } else if(rem > 0 && result < 0) { 50 } else if(rem > 0 && result < 0) {
55 return x1 - rem; 51 return x1 - rem;
56 } 52 }
57 return x1 + x2; 53 return x1 + x2;
58 }; 54 };
59 55
60 function isVunerable() { 56 function isVunerable() {
61 return eatable !== null; 57 return eatable !== null;
62 }; 58 };
63 59
64 function isDangerous() { 60 function isDangerous() {
65 return eaten === null; 61 return eaten === null;
66 }; 62 };
67   63  
68 function isHidden() { 64 function isHidden() {
69 return eatable === null && eaten !== null; 65 return eatable === null && eaten !== null;
70 }; 66 };
71 67
72 function getRandomDirection() { 68 function getRandomDirection() {
73 var moves = (direction === LEFT || direction === RIGHT) 69 var moves = (direction === LEFT || direction === RIGHT)
74 ? [UP, DOWN] : [LEFT, RIGHT]; 70 ? [UP, DOWN] : [LEFT, RIGHT];
75 return moves[Math.floor(Math.random() * 2)]; 71 return moves[Math.floor(Math.random() * 2)];
76 }; 72 };
77 73
78 function reset() { 74 function reset() {
79 eaten = null; 75 eaten = null;
80 eatable = null; 76 eatable = null;
81 position = {"x": 90, "y": 80}; 77 position = {"x": 90, "y": 80};
82 direction = getRandomDirection(); 78 direction = getRandomDirection();
83 due = getRandomDirection(); 79 due = getRandomDirection();
84 }; 80 };
85 81
86 function onWholeSquare(x) { 82 function onWholeSquare(x) {
87 return x % 10 === 0; 83 return x % 10 === 0;
88 }; 84 };
89 85
90 function oppositeDirection(dir) { 86 function oppositeDirection(dir) {
91 return dir === LEFT && RIGHT || 87 return dir === LEFT && RIGHT ||
92 dir === RIGHT && LEFT || 88 dir === RIGHT && LEFT ||
93 dir === UP && DOWN || UP; 89 dir === UP && DOWN || UP;
94 }; 90 };
95   91  
96 function makeEatable() { 92 function makeEatable() {
97 direction = oppositeDirection(direction); 93 direction = oppositeDirection(direction);
98 eatable = game.getTick(); 94 eatable = game.getTick();
99 }; 95 };
100   96  
101 function eat() { 97 function eat() {
102 eatable = null; 98 eatable = null;
103 eaten = game.getTick(); 99 eaten = game.getTick();
104 }; 100 };
105   101  
106 function pointToCoord(x) { 102 function pointToCoord(x) {
107 return Math.round(x / 10); 103 return Math.round(x / 10);
108 }; 104 };
109   105  
110 function nextSquare(x, dir) { 106 function nextSquare(x, dir) {
111 var rem = x % 10; 107 var rem = x % 10;
112 if (rem === 0) { 108 if (rem === 0) {
113 return x; 109 return x;
114 } else if (dir === RIGHT || dir === DOWN) { 110 } else if (dir === RIGHT || dir === DOWN) {
115 return x + (10 - rem); 111 return x + (10 - rem);
116 } else { 112 } else {
117 return x - rem; 113 return x - rem;
118 } 114 }
119 }; 115 };
120   116  
121 function onGridSquare(pos) { 117 function onGridSquare(pos) {
122 return onWholeSquare(pos.y) && onWholeSquare(pos.x); 118 return onWholeSquare(pos.y) && onWholeSquare(pos.x);
123 }; 119 };
124   120  
125 function secondsAgo(tick) { 121 function secondsAgo(tick) {
126 return (game.getTick() - tick) / Pacman.FPS; 122 return (game.getTick() - tick) / Pacman.FPS;
127 }; 123 };
128   124  
129 function getColour() { 125 function getColour() {
130 if (eatable) { 126 if (eatable) {
131 if (secondsAgo(eatable) > 5) { 127 if (secondsAgo(eatable) > 5) {
132 return game.getTick() % 20 > 10 ? "#FFFFFF" : "#0000BB"; 128 return game.getTick() % 20 > 10 ? "#FFFFFF" : "#0000BB";
133 } else { 129 } else {
134 return "#0000BB"; 130 return "#0000BB";
135 } 131 }
136 } else if(eaten) { 132 } else if(eaten) {
137 return "#222"; 133 return "#222";
138 } 134 }
139 return colour; 135 return colour;
140 }; 136 };
141   137  
142 function draw(ctx) { 138 function draw(ctx) {
143 139
144 var s = map.blockSize, 140 var s = map.blockSize,
145 top = (position.y/10) * s, 141 top = (position.y/10) * s,
146 left = (position.x/10) * s; 142 left = (position.x/10) * s;
147 143
148 if (eatable && secondsAgo(eatable) > 8) { 144 if (eatable && secondsAgo(eatable) > 8) {
149 eatable = null; 145 eatable = null;
150 } 146 }
151 147
152 if (eaten && secondsAgo(eaten) > 3) { 148 if (eaten && secondsAgo(eaten) > 3) {
153 eaten = null; 149 eaten = null;
154 } 150 }
155 151
156 var tl = left + s; 152 var tl = left + s;
157 var base = top + s - 3; 153 var base = top + s - 3;
158 var inc = s / 10; 154 var inc = s / 10;
159   155  
160 var high = game.getTick() % 10 > 5 ? 3 : -3; 156 var high = game.getTick() % 10 > 5 ? 3 : -3;
161 var low = game.getTick() % 10 > 5 ? -3 : 3; 157 var low = game.getTick() % 10 > 5 ? -3 : 3;
162   158  
163 ctx.fillStyle = getColour(); 159 ctx.fillStyle = getColour();
164 ctx.beginPath(); 160 ctx.beginPath();
165   161  
166 ctx.moveTo(left, base); 162 ctx.moveTo(left, base);
167   163  
168 ctx.quadraticCurveTo(left, top, left + (s/2), top); 164 ctx.quadraticCurveTo(left, top, left + (s/2), top);
169 ctx.quadraticCurveTo(left + s, top, left+s, base); 165 ctx.quadraticCurveTo(left + s, top, left+s, base);
170 166
171 // Wavy things at the bottom 167 // Wavy things at the bottom
172 ctx.quadraticCurveTo(tl-(inc*1), base+high, tl - (inc * 2), base); 168 ctx.quadraticCurveTo(tl-(inc*1), base+high, tl - (inc * 2), base);
173 ctx.quadraticCurveTo(tl-(inc*3), base+low, tl - (inc * 4), base); 169 ctx.quadraticCurveTo(tl-(inc*3), base+low, tl - (inc * 4), base);
174 ctx.quadraticCurveTo(tl-(inc*5), base+high, tl - (inc * 6), base); 170 ctx.quadraticCurveTo(tl-(inc*5), base+high, tl - (inc * 6), base);
175 ctx.quadraticCurveTo(tl-(inc*7), base+low, tl - (inc * 8), base); 171 ctx.quadraticCurveTo(tl-(inc*7), base+low, tl - (inc * 8), base);
176 ctx.quadraticCurveTo(tl-(inc*9), base+high, tl - (inc * 10), base); 172 ctx.quadraticCurveTo(tl-(inc*9), base+high, tl - (inc * 10), base);
177   173  
178 ctx.closePath(); 174 ctx.closePath();
179 ctx.fill(); 175 ctx.fill();
180   176  
181 ctx.beginPath(); 177 ctx.beginPath();
182 ctx.fillStyle = "#FFF"; 178 ctx.fillStyle = "#FFF";
183 ctx.arc(left + 6,top + 6, s / 6, 0, 300, false); 179 ctx.arc(left + 6,top + 6, s / 6, 0, 300, false);
184 ctx.arc((left + s) - 6,top + 6, s / 6, 0, 300, false); 180 ctx.arc((left + s) - 6,top + 6, s / 6, 0, 300, false);
185 ctx.closePath(); 181 ctx.closePath();
186 ctx.fill(); 182 ctx.fill();
187   183  
188 var f = s / 12; 184 var f = s / 12;
189 var off = {}; 185 var off = {};
190 off[RIGHT] = [f, 0]; 186 off[RIGHT] = [f, 0];
191 off[LEFT] = [-f, 0]; 187 off[LEFT] = [-f, 0];
192 off[UP] = [0, -f]; 188 off[UP] = [0, -f];
193 off[DOWN] = [0, f]; 189 off[DOWN] = [0, f];
194   190  
195 ctx.beginPath(); 191 ctx.beginPath();
196 ctx.fillStyle = "#000"; 192 ctx.fillStyle = "#000";
197 ctx.arc(left+6+off[direction][0], top+6+off[direction][1], 193 ctx.arc(left+6+off[direction][0], top+6+off[direction][1],
198 s / 15, 0, 300, false); 194 s / 15, 0, 300, false);
199 ctx.arc((left+s)-6+off[direction][0], top+6+off[direction][1], 195 ctx.arc((left+s)-6+off[direction][0], top+6+off[direction][1],
200 s / 15, 0, 300, false); 196 s / 15, 0, 300, false);
201 ctx.closePath(); 197 ctx.closePath();
202 ctx.fill(); 198 ctx.fill();
203   199  
204 }; 200 };
205   201  
206 function pane(pos) { 202 function pane(pos) {
207   203  
208 if (pos.y === 100 && pos.x >= 190 && direction === RIGHT) { 204 if (pos.y === 100 && pos.x >= 190 && direction === RIGHT) {
209 return {"y": 100, "x": -10}; 205 return {"y": 100, "x": -10};
210 } 206 }
211 207
212 if (pos.y === 100 && pos.x <= -10 && direction === LEFT) { 208 if (pos.y === 100 && pos.x <= -10 && direction === LEFT) {
213   209  
214   210  
215   211  
216   212  
217   213  
218   214  
219   215  
220   216  
221   217  
222   218  
223   219  
224   220  
225   221  
226   222  
227   223  
228   224  
229   225  
230   226  
231   227  
232   228  
233   229  
234   230  
235   231  
236   232  
237   233  
238   234  
239   235  
240   236  
241   237  
242   238  
243   239  
244   240  
245   241  
246   242  
247   243  
248   244  
249   245  
250   246  
251   247  
252   248  
253   249  
254   250  
255   251  
256   252  
257   253  
258   254  
259   255  
260   256  
261   257  
262   258  
263   259  
264   260  
265   261  
266   262  
267   263  
268   264  
269   265  
270   266  
271   267  
272   268  
273   269  
274   270  
275   271  
276   272  
277   273  
278   274  
279   275  
280   276  
281   277  
282   278  
283   279  
284   280  
285   281  
286   282  
287   283  
288   284  
289   285  
290   286  
291   287  
292   288  
293   289  
294   290  
295   291  
296 <= -10 && direction === LEFT) { if (score >= 10000 && score - nScore < 10000) { 292 <= -10 && direction === LEFT) { if (score >= 10000 && score - nScore < 10000) {
297   293  
298   294  
299   295  
300   296  
301   297  
302   298  
303   299  
304   300  
305   301  
306   302  
307   303  
308   304  
309   305  
310   306  
311   307  
312   308  
313   309  
314   310  
315   311  
316   312  
317   313  
318   314  
319   315  
320   316  
321   317  
322   318  
323   319  
324   320  
325   321  
326   322  
327   323  
328   324  
329   325  
330   326  
331   327  
332   328  
333   329  
334   330  
335   331  
336   332  
337   333  
338   334  
339   335  
340   336  
341   337  
342   338  
343   339  
344   340  
345   341  
346   342  
347   343  
348   344  
349   345  
350   346  
351   347  
352   348  
353   349  
354   350  
355   351  
356   352  
357   353  
358   354  
359   355  
360   356  
361   357  
362   358  
363   359  
364   360  
365   361  
366   362  
367   363  
368   364  
369   365  
370   366  
371   367  
372   368  
373   369  
374   370  
375   371  
376   372  
377   373  
378   374  
379   375  
380   376  
381   377  
382   378  
383   379  
384   380  
385   381  
386   382  
387   383  
388   384  
389   385  
390   386  
391   387  
392   388  
393   389  
394   390  
395   391  
396   392  
397   393  
398   394  
399   395  
400   396  
401   397  
402   398  
403   399  
404   400  
405   401  
406   402  
407   403  
408   404  
409   405  
410   406  
411   407  
412   408  
413   409  
414   410  
415   411  
416   412  
417   413  
418   414  
419   415  
420   416  
421   417  
422   418  
423   419  
424   420  
425   421  
426   422  
427   423  
428   424  
429   425  
430   426  
431   427  
432   428  
433   429  
434   430  
435   431  
436   432  
437   433  
438   434  
439   435  
440   436  
441   437  
442   438  
443   439  
444   440  
445   441  
446   442  
447   443  
448   444  
449   445  
450   446  
451   447  
452   448  
453   449  
454   450  
455   451  
456   452  
457   453  
458   454  
459   455  
460   456  
461   457  
462   458  
463   459  
464   460  
465   461  
466   462  
467   463  
468   464  
469   465  
470   466  
471   467  
472   468  
473   469  
474   470  
475   471  
476   472  
477   473  
478 <= -10 && direction === LEFT) {< 10000) { if (amount >= 1) { 474 <= -10 && direction === LEFT) {< 10000) { if (amount >= 1) {
479   475  
480   476  
481   477  
482   478  
483   479  
484   480  
485   481  
486   482  
487   483  
488   484  
489   485  
490   486  
491   487  
492   488  
493   489  
494   490  
495   491  
496   492  
497   493  
498   494  
499   495  
500   496  
501   497  
502   498  
503   499  
504   500  
505   501  
506   502  
507   503  
508   504  
509   505  
510   506  
511   507  
512   508  
513   509  
514   510  
515   511  
516   512  
517   513  
518   514  
519   515  
520   516  
521   517  
522   518  
523   519  
524   520  
525   521  
526   522  
527   523  
528   524  
529   525  
530   526  
531   527  
532   528  
533   529  
534   530  
535   531  
536   532  
537   533  
538   534  
539   535  
540   536  
541   537  
542   538  
543   539  
544   540  
545   541  
546   542  
547   543  
548   544  
549   545  
550   546  
551   547  
552   548  
553   549  
554   550  
555   551  
556   552  
557   553  
558   554  
559   555  
560   556  
561   557  
562   558  
563   559  
564   560  
565   561  
566   562  
567   563  
568   564  
569   565  
570   566  
571   567  
572   568  
573   569  
574   570  
575   571  
576   572  
577   573  
578   574  
579   575  
580   576  
581   577  
582   578  
583   579  
584   580  
585   581  
586   582  
587   583  
588   584  
589   585  
590   586  
591   587  
592   588  
593   589  
594   590  
595   591  
596   592  
597   593  
598   594  
599   595  
600   596  
601   597  
602   598  
603   599  
604   600  
605   601  
606   602  
607   603  
608   604  
609   605  
610   606  
611   607  
612   608  
613   609  
614   610  
615   611  
616   612  
617   613  
618   614  
619   615  
620   616  
621   617  
622   618  
623   619  
624   620  
625   621  
626   622  
627   623  
628   624  
629   625  
630   626  
631   627  
632   628  
633   629  
634   630  
635   631  
636   632  
637   633  
638   634  
639   635  
640   636  
641   637  
642   638  
643   639  
644   640  
645   641  
646   642  
647   643  
648   644  
649   645  
650   646  
651   647  
652   648  
653   649  
654   650  
655   651  
656   652  
657   653  
658   654  
659   655  
660   656  
661   657  
662   658  
663   659  
664   660  
665   661  
666   662  
667   663  
668   664  
669   665  
670   666  
671   667  
672   668  
673   669  
674   670  
675   671  
676   672  
677   673  
678   674  
679   675  
680   676  
681   677  
682   678  
683   679  
684   680  
685   681  
686   682  
687   683  
688   684  
689   685  
690   -  
691   -  
692   -  
693   -  
694   -  
695   -  
696   -  
697   -  
698   -  
699   -  
700   -  
701   -  
702   -  
703   -  
704   -  
705   -  
706   -  
707   -  
708   -  
709   -  
710   -  
711   -  
712   -  
713   -  
714   -  
715   -  
716   -  
717   -  
718   -  
719   -  
720   -  
721   -  
722   -  
723   -  
724   -  
725   -  
726   -  
727   -  
728   -  
729   -  
730   -  
731   -  
732   -  
733   -  
734   -  
735   -  
736   -  
737   -  
738   -  
739   -  
740   -  
741   -  
742   -  
743   -  
744   -  
745   -  
746   -  
747   -  
748   -  
749   -  
750   -  
751   -  
752   -  
753   -  
754   -  
755   -  
756   -  
757   -  
758   -  
759   -  
760   -  
761   -  
762   -  
763   -  
764   -  
765   -  
766   -  
767   -  
768   -  
769   -  
770   -  
771   -  
772   686  
773   687  
774   688  
775   689  
776   -  
777   690  
778   691  
779   692  
780   693  
781   694  
782   695  
783   696  
784   697  
785   698  
786   699  
787   700  
788   701  
789   702  
790   703  
791   704  
792   705  
793   706  
794   707  
795   708  
796   709  
797   710  
798   711  
799   712  
800   713  
801   714  
802   715  
803   716  
804   717  
805   718  
806   719  
807   720  
808   721  
809   722  
810   723  
811   -  
812   -  
813   -  
814   -  
815   724  
816   725  
817   726  
818   727  
819   728  
820   729  
821   -  
822   730  
823   731  
824   732  
825   733  
826   734  
827   735  
828   736  
829   737  
830   738  
831   739  
832   740  
833   741  
834   742  
835   743  
836   744  
837   745  
838   -  
839   -  
840   -  
841   746  
842   -  
843   747  
844   748  
845   749  
846   750  
847   751  
848   -  
849   752  
850   753  
851   754  
852   755  
853   756  
854   757  
855   758  
856   759  
857   760  
858   761  
859   762  
860   763  
861   764  
862   765  
863   766  
864   767  
865   768  
866   769  
867   770  
868   771  
869   772  
870   773  
871   774  
872   775  
873   776  
874   777  
875   778  
876   779  
877   780  
878   781  
879   782  
880   783  
881   784  
882   785  
883   786  
884   787  
885   788  
886   789  
887   790  
888   791  
889   792  
890   793  
891   794  
892   795  
893   796  
894   797  
895   798  
896   799  
897   800  
898   801  
899   802  
900   803  
901   804  
902   805  
903   806  
904   807  
905   808  
906   809  
907   810  
908   811  
909   812  
910   813  
911   814  
912   815  
913   816  
914   817  
915   818  
916   819  
917   820  
918   821  
919   822  
920   823  
921   824  
922   825  
923   826  
924   827  
925   828  
926   829  
927   830  
928   831  
929   832  
930   833  
931   834  
932   835  
933   836  
934   837  
935   838  
936   839  
937   840  
938   841  
939   -  
940   842  
941   843  
942   844  
943   845  
944   846  
945   847  
946   848  
947   849  
948   -  
949   850  
950   851  
951   852  
952   853  
953   854  
954   855  
955   856  
956   857  
957   858  
958   859  
959   860  
960   861  
961   862  
962   863  
963   864  
964   865  
965   866  
966   867  
967   868  
968   869  
969   870  
970   871  
971   872  
972   873  
973 <= -10 && direction === LEFT) {< 10000) { < height; i += 1) {< width; j += 1) {< playing.length; i++) {< playing.length; i++) {< playing.length; i++) {< playing.length; i++) {< len; i += 1) {< len; i += 1) {< len; i += 1) {< len; i += 1) { (tick - timerStart) > (Pacman.FPS / 3)) { 874 <= -10 && direction === LEFT) {< 10000) { < height; i += 1) {< width; j += 1) {< len; i += 1) {< len; i += 1) {< len; i += 1) {< len; i += 1) { (tick - timerStart) > (Pacman.FPS / 3)) {
974   875  
975   876  
976   877  
977   878  
978   879  
979   880  
980   881  
981   882  
982   883  
983   884  
984   885  
985   886  
986   887  
987   888  
988   889  
989   890  
990   891  
991   892  
992   893  
993   894  
994   895  
995   896  
996   897  
997   898  
998   899  
999   900  
1000   901  
1001   902  
1002   903  
1003   904  
1004   905  
1005   906  
1006   907  
1007   -  
1008   908  
1009   909  
1010   910  
1011   911  
1012   912  
1013   913  
1014   914  
1015   915  
1016   916  
1017   917  
1018   918  
1019   919  
1020   920  
1021   921  
1022   922  
1023   923  
1024   924  
1025   925  
1026   926  
1027   927  
1028   928  
1029   929  
1030   930  
1031   931  
1032   932  
1033   933  
1034   934  
1035   935  
1036   936  
1037   937  
1038   938  
1039   939  
1040   940  
1041   941  
1042   -  
1043   942  
1044   943  
1045   944  
1046   945  
1047   946  
1048   947  
1049   948  
1050   949  
1051   950  
1052   951  
1053   952  
1054   953  
1055   954  
1056   -  
1057   -  
1058   -  
1059   -  
1060   -  
1061   -  
1062   -  
1063   -  
1064   -  
1065   -  
1066   -  
1067   -  
1068   -  
1069   -  
1070   -  
1071   -  
1072   -  
1073   -  
1074   -  
1075   -  
1076   -  
1077   -  
1078   -  
1079   -  
1080   -  
1081   -  
1082   -  
1083   955  
1084   956  
1085   957  
1086   958  
1087   959  
1088   960  
1089   961  
1090   962  
1091   963  
1092   964  
1093   965  
1094   966  
1095   967  
1096   968  
1097   969  
1098   970  
1099   971  
1100   972  
1101   973  
1102   974  
1103   975  
1104   976  
1105   977  
1106   978  
1107   979  
1108   980  
1109   981  
1110   982  
1111   983  
1112   984  
1113   985  
1114   986  
1115   987  
1116   988  
1117   989  
1118   990  
1119   991  
1120   992  
1121   993  
1122   994  
1123   995  
1124   996  
1125   997  
1126   998  
1127   999  
1128   1000  
1129   1001  
1130   1002  
1131   1003  
1132   1004  
1133   1005  
1134   1006  
1135   1007  
1136   1008  
1137   1009  
1138   1010  
1139   1011  
1140   1012  
1141   1013  
1142   1014  
1143   1015  
1144   1016  
1145   1017  
1146   1018  
1147   1019  
1148   1020  
1149   1021  
1150   1022  
1151   1023  
1152   1024  
1153   1025  
1154   1026  
1155   1027  
1156   1028  
1157   1029  
1158   1030  
1159   1031  
1160   1032  
1161   1033  
1162   1034  
1163   1035  
1164   1036  
1165   1037  
1166   1038  
1167   1039  
1168   1040  
1169   1041  
1170   1042  
1171   1043  
1172   1044  
1173   1045  
1174   1046  
1175   1047  
1176   1048  
1177   1049  
1178   1050  
1179   1051  
1180   1052  
1181   1053  
1182   1054  
1183   1055  
1184   1056  
1185   1057  
1186   1058  
1187   1059  
1188   1060  
1189   1061  
1190   1062  
1191   1063  
1192   1064  
1193   1065  
1194   1066  
1195   1067  
1196   1068  
1197   1069  
1198   1070  
1199   1071  
1200   1072  
1201   1073  
1202   1074  
1203   1075  
1204   1076  
1205   1077  
1206   1078  
1207   1079  
1208   1080  
1209   1081  
1210   1082  
1211   1083  
1212   1084  
1213   1085  
1214   1086  
1215   1087  
1216   1088  
1217   1089  
1218   1090  
1219   1091  
1220   1092  
1221   1093  
1222   1094  
1223   1095  
1224   1096  
1225   1097  
1226   1098  
1227   1099  
1228   1100  
1229   1101  
1230   1102  
1231   1103  
1232   1104  
1233   1105  
1234   1106  
1235   1107  
1236   1108  
1237   1109  
1238   1110  
1239   1111  
1240   1112  
1241   1113  
1242   1114  
1243   1115  
1244   1116  
1245   1117  
1246   1118  
1247   1119  
1248   1120  
1249   1121  
1250   1122  
1251   1123  
1252   1124  
1253   1125  
1254   1126  
1255   1127  
1256   1128  
1257   1129  
1258   1130  
1259   1131  
1260   1132  
1261   1133  
1262   1134  
1263   1135  
1264   1136  
1265   1137  
1266   1138  
1267   1139  
1268   1140  
1269   1141  
1270   1142