How do I restart the game?

Well Im struggling to make te game restart every time you get hit by a bomb, can anyone help me?
this is the code:
var config = {

type: Phaser.AUTO,

width: 800,

height: 600,

physics: {

    default: 'arcade',

    arcade: {

        gravity: { y: 300 },

        debug: false

    }

},

scene: {

    preload: preload,

    create: create,

    update: update

}

};

var player;

var stars;

var bombs;

var platforms;

var cursors;

var score = 0;

var gameOver = false;

var scoreText;

var redstar;

var jumpcount = 0;

var game = new Phaser.Game(config);

function preload ()

{

this.load.image('sky', 'images/sky.png');

this.load.image('ground', 'images/platform.png');

this.load.image('star', 'images/star.png');

this.load.image('bomb', 'images/bomb.png');

this.load.image('redstar', 'images/pixil-frame-0.png')

this.load.spritesheet('dude', 'images/dude.png', { frameWidth: 32, frameHeight: 48 });

}

function create ()

{

//  A simple background for our game

this.add.image(400, 300, 'sky');

//  The platforms group contains the ground and the 2 ledges we can jump on

platforms = this.physics.add.staticGroup();

//  Here we create the ground.

//  Scale it to fit the width of the game (the original sprite is 400x32 in size)

platforms.create(400, 568, 'ground').setScale(2).refreshBody();

//  Now let's create some ledges

platforms.create(600, 400, 'ground');

platforms.create(50, 250, 'ground');

platforms.create(750, 220, 'ground');

platforms.create (500, 100, 'ground');

       

// The player and its settings

player = this.physics.add.sprite(100, 450, 'dude');

//  Player physics properties. Give the little guy a slight bounce.

player.setBounce(0.2);

player.setCollideWorldBounds(true);

//  Our player animations, turning, walking left and walking right.

this.anims.create({

    key: 'left',

    frames: this.anims.generateFrameNumbers('dude', { start: 0, end: 3 }),

    frameRate: 10,

    repeat: -1

});

this.anims.create({

    key: 'turn',

    frames: [ { key: 'dude', frame: 4 } ],

    frameRate: 20

});

this.anims.create({

    key: 'right',

    frames: this.anims.generateFrameNumbers('dude', { start: 5, end: 8 }),

    frameRate: 10,

    repeat: -1

});

//  Input Events

cursors = this.input.keyboard.createCursorKeys();

//  Some stars to collect, 12 in total, evenly spaced 70 pixels apart along the x axis

stars = this.physics.add.group({

    key: 'star',

    repeat: 6,

    setXY: { x: 12, y: 0, stepX: 70 },

});

redstars = this.physics.add.group({

    key: 'redstar',

    repeat: 4,

    setXY: { x: 12, y: 0, stepX: 160 }

});

stars.children.iterate(function (child) {

    //  Give each star a slightly different bounce

    child.setBounceY(Phaser.Math.FloatBetween(0.2, 0.4));

});

 redstars.children.iterate(function (child) {

    //  Give each star a slightly different bounce

    child.setBounceY(Phaser.Math.FloatBetween(0.1, 0.2));

});

bombs = this.physics.add.group();

//  The score

scoreText = this.add.text(16, 16, 'score: 0', { fontSize: '64px', fill: '#700'});

//  Collide the player and the stars with the platforms

this.physics.add.collider(player, platforms);

this.physics.add.collider(stars, platforms);

this.physics.add.collider(bombs, platforms);

this.physics.add.collider(redstars, platforms)

//  Checks to see if the player overlaps with any of the stars, if he does call the collectStar function

this.physics.add.overlap(player, stars, collectStar, null, this);

this.physics.add.overlap(player, redstars, collectredstar, null, this)

this.physics.add.collider(player, bombs, hitBomb, null, this);

        this.input.once('pointerdown', function (event) {

        this.scene.restart();

    }, this);

}

function update ()

{

if (gameOver)

{

    return;

}

if (cursors.left.isDown)

{

    player.setVelocityX(-160);

    player.anims.play('left', true);

}

else if (cursors.right.isDown)

{

    player.setVelocityX(160);

    player.anims.play('right', true);

}

else

{

    player.setVelocityX(0);

    player.anims.play('turn');

}

  

if (cursors.up.isDown && (player.body.touching.down || this.jumpcount < 2))

{

    player.setVelocityY(-330);

    ++jumpcount

    console.log(jumpcount)

  

}

if(gameOver = true) {

    this.registry.destroy(); 

    this.events.off();

    this.scene.restart();

}

}

function collectredstar (player, star)

{

star.disableBody(true, true);

//  Add and update the score

score += 15;

scoreText.setText('Score: ' + score);

if ((stars.countActive(true) === 0) && redstars.countActive(true) === 0)

{

    //  A new batch of stars to collect

    stars.children.iterate(function (child) {

        child.enableBody(true, child.x, 0, true, true);

    });

    redstars.children.iterate(function (child){

        child.enableBody(true, child.x, 0, true, true);

    });

    var x = (player.x < 400) ? Phaser.Math.Between(400, 800) : Phaser.Math.Between(0, 400);

    var bomb = bombs.create(x, 16, 'bomb');

    bomb.setBounce(1);

    bomb.setCollideWorldBounds(true);

    bomb.setVelocity(Phaser.Math.Between(-200, 200), 20);

    bomb.allowGravity = false;}

}

function collectStar (player, star)

{

star.disableBody(true, true);

//  Add and update the score

score += 10;

scoreText.setText('Score: ' + score);



if ((stars.countActive(true) === 0) && redstars.countActive(true) === 0)

{

    //  A new batch of stars to collect

    stars.children.iterate(function (child) {

        child.enableBody(true, child.x, 0, true, true);

    });

    redstars.children.iterate(function (child){

        child.enableBody(true, child.x, 0, true, true);

    });

    var x = (player.x < 400) ? Phaser.Math.Between(400, 800) : Phaser.Math.Between(0, 400);

    var bomb = bombs.create(x, 16, 'bomb');

    bomb.setBounce(1);

    bomb.setCollideWorldBounds(true);

    bomb.setVelocity(Phaser.Math.Between(-200, 200), 20);

    bomb.allowGravity = false;

}

}

function hitBomb (player, bomb)

{

this.physics.pause();

player.setTint(0xff0000);

player.anims.play('turn');

gameOver = true;

}

Also if anyone could help me to make a doble jump i will be grateful