Lucas Kent e39465ad2f Changes to be committed:
new file:   Files/flashplayer_32_sa.exe
	new file:   favicon.ico
	new file:   globe.gif
	new file:   imgs/download.png
	new file:   imgs/zuck.jpg
	new file:   index.html
	new file:   other.ico
	new file:   script.js
	new file:   site.webmanifest
	new file:   sitemap.html
	new file:   styles/backround.css
	new file:   styles/border.css
	new file:   styles/fonts/Titillium_Web/OFL.txt
	new file:   styles/fonts/Titillium_Web/TitilliumWeb-Black.ttf
	new file:   styles/fonts/Titillium_Web/TitilliumWeb-Bold.ttf
	new file:   styles/fonts/Titillium_Web/TitilliumWeb-BoldItalic.ttf
	new file:   styles/fonts/Titillium_Web/TitilliumWeb-ExtraLight.ttf
	new file:   styles/fonts/Titillium_Web/TitilliumWeb-ExtraLightItalic.ttf
	new file:   styles/fonts/Titillium_Web/TitilliumWeb-Italic.ttf
	new file:   styles/fonts/Titillium_Web/TitilliumWeb-Light.ttf
	new file:   styles/fonts/Titillium_Web/TitilliumWeb-LightItalic.ttf
	new file:   styles/fonts/Titillium_Web/TitilliumWeb-Regular.ttf
	new file:   styles/fonts/Titillium_Web/TitilliumWeb-SemiBold.ttf
	new file:   styles/fonts/Titillium_Web/TitilliumWeb-SemiBoldItalic.ttf
	new file:   styles/fonts/webfontkit-20221027-163353/generator_config.txt
	new file:   styles/fonts/webfontkit-20221027-163353/specimen_files/grid_12-825-55-15.css
	new file:   styles/fonts/webfontkit-20221027-163353/specimen_files/specimen_stylesheet.css
	new file:   styles/fonts/webfontkit-20221027-163353/stylesheet.css
	new file:   styles/fonts/webfontkit-20221027-163353/titilliumweb-extralight-demo.html
	new file:   styles/fonts/webfontkit-20221027-163353/titilliumweb-extralight-webfont.woff
	new file:   styles/fonts/webfontkit-20221027-163353/titilliumweb-extralight-webfont.woff2
	new file:   styles/fonts/webfontkit-20221027-165950/generator_config.txt
	new file:   styles/fonts/webfontkit-20221027-165950/specimen_files/grid_12-825-55-15.css
	new file:   styles/fonts/webfontkit-20221027-165950/specimen_files/specimen_stylesheet.css
	new file:   styles/fonts/webfontkit-20221027-165950/stylesheet.css
	new file:   styles/fonts/webfontkit-20221027-165950/titilliumweb-bold-demo.html
	new file:   styles/fonts/webfontkit-20221027-165950/titilliumweb-bold-webfont.woff
	new file:   styles/fonts/webfontkit-20221027-165950/titilliumweb-bold-webfont.woff2
	new file:   styles/style.css
	new file:   tools/2048/.gitignore
	new file:   tools/2048/.jshintrc
	new file:   tools/2048/CONTRIBUTING.md
	new file:   tools/2048/LICENSE.txt
	new file:   tools/2048/README.md
	new file:   tools/2048/Rakefile
	new file:   tools/2048/favicon.ico
	new file:   tools/2048/index.html
	new file:   tools/2048/js/animframe_polyfill.js
	new file:   tools/2048/js/application.js
	new file:   tools/2048/js/bind_polyfill.js
	new file:   tools/2048/js/classlist_polyfill.js
	new file:   tools/2048/js/game_manager.js
	new file:   tools/2048/js/grid.js
	new file:   tools/2048/js/html_actuator.js
	new file:   tools/2048/js/keyboard_input_manager.js
	new file:   tools/2048/js/local_storage_manager.js
	new file:   tools/2048/js/tile.js
    new file:   tools/2048/meta/apple-touch-icon.png
	new file:   tools/webretro/cores/neocd_libretro.js
	new file:   tools/webretro/cores/neocd_libretro.wasm
	new file:   tools/webretro/cores/nestopia_libretro.js
	new file:   tools/webretro/cores/nestopia_libretro.wasm
	new file:   tools/webretro/cores/o2em_libretro.js
	new file:   tools/webretro/cores/o2em_libretro.wasm
	new file:   tools/webretro/cores/opera_libretro.js
	new file:   tools/webretro/cores/opera_libretro.wasm
2022-11-02 08:40:01 -04:00

120 lines
3.5 KiB
JavaScript

/**
* Created by stryker on 2014.03.05..
* Player module
*/
define(['module/HUD'],function(HUD){
//Private Variables
var _game = null,
_health = null,
_lives = null,
_score = null,
_firingTime = null,
_ship = null,
_cursors = null,
_bulletGroup = null,
_bullet = null,
_explosionGroup = null,
_explosion = null,
_alienGroup = null,
_aliens = null,
_shootingEvent = null,
_bulletSpeed = null;
var _fireBullet = function(){
_bullet = _bulletGroup.getFirstExists(false);
if(_bullet){
//_bullet.lifespan = _game.height / (_bulletSpeed/1000);
_bullet.checkWorldBounds = true;
_bullet.reset(_ship.x,_ship.y+8);
_bullet.body.velocity.y = -_bulletSpeed;
}
};
var _collisionHandler = function(ship,bullet){
ship.damage(bullet.bulletDamage);
bullet.kill();
HUD.updateHealthText(ship.health);
//ship lose a life
if(ship.health == 0){
this.stopShooting();
_explosion = _explosionGroup.getFirstExists(false);
_explosion.reset(_ship.body.x,_ship.body.y);
_explosion.play('kaboom',30,false,true);
_lives--;
HUD.updateLivesText(_lives);
//lose life
if(_lives > 0){
ship.revive(_health);
this.startShooting();
//dead
}else{
_game.state.start('End');
}
}
};
return{
init: function(game){
_game = game;
},
preload: function(){
_game.load.image('ship', 'assets/img/player.png');
},
create: function(configuration){
_ship = _game.add.sprite(400,500,'ship');
_ship.anchor.setTo(0.5,0.5);
_game.physics.enable(_ship,Phaser.Physics.ARCADE);
_ship.body.collideWorldBounds = true;
_ship.health = configuration.health;
_health = configuration.health;
_lives = configuration.lives;
_score = configuration.score;
_firingTime = configuration.firingTime;
_bulletSpeed = configuration.bulletSpeed;
_cursors = _game.input.keyboard.createCursorKeys();
},
update: function(){
_ship.body.velocity.setTo(0,0);
if(_cursors.left.isDown){
_ship.body.velocity.x = -200;
}else if(_cursors.right.isDown){
_ship.body.velocity.x = 200;
}
},
setBulletGroup: function(bullets){
_bulletGroup = bullets.getBulletGroup();
},
getBulletGroup: function(){
return _bulletGroup;
},
setExplosionGroup: function(explosions){
_explosionGroup = explosions.getExplosionGroup();
},
startShooting: function(){
_shootingEvent = _game.time.events.loop(_firingTime,_fireBullet,this);
},
stopShooting: function(){
_game.time.events.remove(_shootingEvent);
},
getPlayerShip: function(){
return _ship;
},
createOverLap: function(bulletGroup){
_game.physics.arcade.overlap(_ship,bulletGroup,_collisionHandler,null,this);
},
setAliensAndAlienGroup: function(aliens){
_aliens = aliens;
_alienGroup=aliens.getAlienGroup();
}
}
});