| OLD | NEW |
| 1 // Copyright (c) 2014 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 (function() { | 4 (function() { |
| 5 'use strict'; | 5 'use strict'; |
| 6 /** | 6 /** |
| 7 * T-Rex runner. | 7 * T-Rex runner. |
| 8 * @param {string} outerContainerId Outer containing element id. | 8 * @param {string} outerContainerId Outer containing element id. |
| 9 * @param {object} opt_config | 9 * @param {object} opt_config |
| 10 * @constructor | 10 * @constructor |
| (...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 134 CANVAS: 'runner-canvas', | 134 CANVAS: 'runner-canvas', |
| 135 CONTAINER: 'runner-container', | 135 CONTAINER: 'runner-container', |
| 136 CRASHED: 'crashed', | 136 CRASHED: 'crashed', |
| 137 ICON: 'icon-offline', | 137 ICON: 'icon-offline', |
| 138 TOUCH_CONTROLLER: 'controller' | 138 TOUCH_CONTROLLER: 'controller' |
| 139 }; | 139 }; |
| 140 | 140 |
| 141 | 141 |
| 142 /** | 142 /** |
| 143 * Image source urls. | 143 * Image source urls. |
| 144 * @enum {array.<object>} | 144 * @enum {array<object>} |
| 145 */ | 145 */ |
| 146 Runner.imageSources = { | 146 Runner.imageSources = { |
| 147 LDPI: [ | 147 LDPI: [ |
| 148 {name: 'CACTUS_LARGE', id: '1x-obstacle-large'}, | 148 {name: 'CACTUS_LARGE', id: '1x-obstacle-large'}, |
| 149 {name: 'CACTUS_SMALL', id: '1x-obstacle-small'}, | 149 {name: 'CACTUS_SMALL', id: '1x-obstacle-small'}, |
| 150 {name: 'CLOUD', id: '1x-cloud'}, | 150 {name: 'CLOUD', id: '1x-cloud'}, |
| 151 {name: 'HORIZON', id: '1x-horizon'}, | 151 {name: 'HORIZON', id: '1x-horizon'}, |
| 152 {name: 'RESTART', id: '1x-restart'}, | 152 {name: 'RESTART', id: '1x-restart'}, |
| 153 {name: 'TEXT_SPRITE', id: '1x-text'}, | 153 {name: 'TEXT_SPRITE', id: '1x-text'}, |
| 154 {name: 'TREX', id: '1x-trex'} | 154 {name: 'TREX', id: '1x-trex'} |
| (...skipping 807 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 962 | 962 |
| 963 | 963 |
| 964 //****************************************************************************** | 964 //****************************************************************************** |
| 965 | 965 |
| 966 /** | 966 /** |
| 967 * Check for a collision. | 967 * Check for a collision. |
| 968 * @param {!Obstacle} obstacle | 968 * @param {!Obstacle} obstacle |
| 969 * @param {!Trex} tRex T-rex object. | 969 * @param {!Trex} tRex T-rex object. |
| 970 * @param {HTMLCanvasContext} opt_canvasCtx Optional canvas context for drawing | 970 * @param {HTMLCanvasContext} opt_canvasCtx Optional canvas context for drawing |
| 971 * collision boxes. | 971 * collision boxes. |
| 972 * @return {Array.<CollisionBox>} | 972 * @return {Array<CollisionBox>} |
| 973 */ | 973 */ |
| 974 function checkForCollision(obstacle, tRex, opt_canvasCtx) { | 974 function checkForCollision(obstacle, tRex, opt_canvasCtx) { |
| 975 var obstacleBoxXPos = Runner.defaultDimensions.WIDTH + obstacle.xPos; | 975 var obstacleBoxXPos = Runner.defaultDimensions.WIDTH + obstacle.xPos; |
| 976 | 976 |
| 977 // Adjustments are made to the bounding box as there is a 1 pixel white | 977 // Adjustments are made to the bounding box as there is a 1 pixel white |
| 978 // border around the t-rex and obstacles. | 978 // border around the t-rex and obstacles. |
| 979 var tRexBox = new CollisionBox( | 979 var tRexBox = new CollisionBox( |
| 980 tRex.xPos + 1, | 980 tRex.xPos + 1, |
| 981 tRex.yPos + 1, | 981 tRex.yPos + 1, |
| 982 tRex.config.WIDTH - 2, | 982 tRex.config.WIDTH - 2, |
| (...skipping 354 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1337 MIN_JUMP_HEIGHT: 30, | 1337 MIN_JUMP_HEIGHT: 30, |
| 1338 SPEED_DROP_COEFFICIENT: 3, | 1338 SPEED_DROP_COEFFICIENT: 3, |
| 1339 SPRITE_WIDTH: 262, | 1339 SPRITE_WIDTH: 262, |
| 1340 START_X_POS: 50, | 1340 START_X_POS: 50, |
| 1341 WIDTH: 44 | 1341 WIDTH: 44 |
| 1342 }; | 1342 }; |
| 1343 | 1343 |
| 1344 | 1344 |
| 1345 /** | 1345 /** |
| 1346 * Used in collision detection. | 1346 * Used in collision detection. |
| 1347 * @type {Array.<CollisionBox>} | 1347 * @type {Array<CollisionBox>} |
| 1348 */ | 1348 */ |
| 1349 Trex.collisionBoxes = [ | 1349 Trex.collisionBoxes = [ |
| 1350 new CollisionBox(1, -1, 30, 26), | 1350 new CollisionBox(1, -1, 30, 26), |
| 1351 new CollisionBox(32, 0, 8, 16), | 1351 new CollisionBox(32, 0, 8, 16), |
| 1352 new CollisionBox(10, 35, 14, 8), | 1352 new CollisionBox(10, 35, 14, 8), |
| 1353 new CollisionBox(1, 24, 29, 5), | 1353 new CollisionBox(1, 24, 29, 5), |
| 1354 new CollisionBox(5, 30, 21, 4), | 1354 new CollisionBox(5, 30, 21, 4), |
| 1355 new CollisionBox(9, 34, 15, 4) | 1355 new CollisionBox(9, 34, 15, 4) |
| 1356 ]; | 1356 ]; |
| 1357 | 1357 |
| (...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1634 DistanceMeter.dimensions = { | 1634 DistanceMeter.dimensions = { |
| 1635 WIDTH: 10, | 1635 WIDTH: 10, |
| 1636 HEIGHT: 13, | 1636 HEIGHT: 13, |
| 1637 DEST_WIDTH: 11 | 1637 DEST_WIDTH: 11 |
| 1638 }; | 1638 }; |
| 1639 | 1639 |
| 1640 | 1640 |
| 1641 /** | 1641 /** |
| 1642 * Y positioning of the digits in the sprite sheet. | 1642 * Y positioning of the digits in the sprite sheet. |
| 1643 * X position is always 0. | 1643 * X position is always 0. |
| 1644 * @type {array.<number>} | 1644 * @type {array<number>} |
| 1645 */ | 1645 */ |
| 1646 DistanceMeter.yPos = [0, 13, 27, 40, 53, 67, 80, 93, 107, 120]; | 1646 DistanceMeter.yPos = [0, 13, 27, 40, 53, 67, 80, 93, 107, 120]; |
| 1647 | 1647 |
| 1648 | 1648 |
| 1649 /** | 1649 /** |
| 1650 * Distance meter config. | 1650 * Distance meter config. |
| 1651 * @enum {number} | 1651 * @enum {number} |
| 1652 */ | 1652 */ |
| 1653 DistanceMeter.config = { | 1653 DistanceMeter.config = { |
| 1654 // Number of digits. | 1654 // Number of digits. |
| (...skipping 408 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2063 this.xPos[1] = HorizonLine.dimensions.WIDTH; | 2063 this.xPos[1] = HorizonLine.dimensions.WIDTH; |
| 2064 } | 2064 } |
| 2065 }; | 2065 }; |
| 2066 | 2066 |
| 2067 | 2067 |
| 2068 //****************************************************************************** | 2068 //****************************************************************************** |
| 2069 | 2069 |
| 2070 /** | 2070 /** |
| 2071 * Horizon background class. | 2071 * Horizon background class. |
| 2072 * @param {HTMLCanvasElement} canvas | 2072 * @param {HTMLCanvasElement} canvas |
| 2073 * @param {Array.<HTMLImageElement>} images | 2073 * @param {Array<HTMLImageElement>} images |
| 2074 * @param {object} dimensions Canvas dimensions. | 2074 * @param {object} dimensions Canvas dimensions. |
| 2075 * @param {number} gapCoefficient | 2075 * @param {number} gapCoefficient |
| 2076 * @constructor | 2076 * @constructor |
| 2077 */ | 2077 */ |
| 2078 function Horizon(canvas, images, dimensions, gapCoefficient) { | 2078 function Horizon(canvas, images, dimensions, gapCoefficient) { |
| 2079 this.canvas = canvas; | 2079 this.canvas = canvas; |
| 2080 this.canvasCtx = this.canvas.getContext('2d'); | 2080 this.canvasCtx = this.canvas.getContext('2d'); |
| 2081 this.config = Horizon.config; | 2081 this.config = Horizon.config; |
| 2082 this.dimensions = dimensions; | 2082 this.dimensions = dimensions; |
| 2083 this.gapCoefficient = gapCoefficient; | 2083 this.gapCoefficient = gapCoefficient; |
| (...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2244 | 2244 |
| 2245 /** | 2245 /** |
| 2246 * Add a new cloud to the horizon. | 2246 * Add a new cloud to the horizon. |
| 2247 */ | 2247 */ |
| 2248 addCloud: function() { | 2248 addCloud: function() { |
| 2249 this.clouds.push(new Cloud(this.canvas, this.cloudImg, | 2249 this.clouds.push(new Cloud(this.canvas, this.cloudImg, |
| 2250 this.dimensions.WIDTH)); | 2250 this.dimensions.WIDTH)); |
| 2251 } | 2251 } |
| 2252 }; | 2252 }; |
| 2253 })(); | 2253 })(); |
| OLD | NEW |