render :: GameWorld -> Picture
render gameWorld = 
    pictures ([ backgroundImage]++
              ( map (drawGameObject) (lasersPlayer1 gameWorld))++
              ( map (drawGameObject) (lasersPlayer2 gameWorld))++
              (if (length (player1Lives gameWorld))>0 then [ drawGameObject $ player1 gameWorld] else [])++
              (if (length (player2Lives gameWorld))>0 then [ drawGameObject $ player2 gameWorld] else [])
              ++ ( map (drawGameObject) (asteroids gameWorld))++ 
              [translate (-476.5) 140 $ color white $ scale 0.3 0.3 $ text ( show (pointsPlayer1 gameWorld))]++
              [translate 438 140 $ color white $ scale 0.3 0.3 $ text ( show (pointsPlayer2 gameWorld))]++
              ( map (drawGameObject) (player1Lives gameWorld))++
              ( map (drawGameObject) (player2Lives gameWorld))++
              (if (length (player1Lives gameWorld))>0 && (player1Cooldown gameWorld)>0 then [drawAura (player1 gameWorld) (player1Aura gameWorld)] else [])++
              (if (length (player2Lives gameWorld))>0 && (player2Cooldown gameWorld)>0 then [drawAura (player2 gameWorld) (player2Aura gameWorld)] else [])++
              (if ((length (player1Lives gameWorld))==0) && ((length (player2Lives gameWorld))==0) then [gameOverImg] else [])++
              (if (gamePaused gameWorld) then [gamePausedImg] else []))
render :: GameWorld -> Picture
render gameWorld = 
    pictures ([ backgroundImage]++
              ( map (drawGameObject) (lasersPlayer1 gameWorld))++
              ( map (drawGameObject) (lasersPlayer2 gameWorld))++
              (if (length (player1Lives gameWorld))>0 then [ drawGameObject $ player1 gameWorld] else [])++
              (if (length (player2Lives gameWorld))>0 then [ drawGameObject $ player2 gameWorld] else [])
              ++ ( map (drawGameObject) (asteroids gameWorld))++ 
              [translate (-476.5) 140 $ color white $ scale 0.3 0.3 $ text ( show (pointsPlayer1 gameWorld))]++
              [translate 438 140 $ color white $ scale 0.3 0.3 $ text ( show (pointsPlayer2 gameWorld))]++
              ( map (drawGameObject) (player1Lives gameWorld))++
              ( map (drawGameObject) (player2Lives gameWorld))++
              (if (length (player1Lives gameWorld))>0 && (player1Cooldown gameWorld)>0 then [drawAura (player1 gameWorld) (player1Aura gameWorld)] else [])++
              (if (length (player2Lives gameWorld))>0 && (player2Cooldown gameWorld)>0 then [drawAura (player2 gameWorld) (player2Aura gameWorld)] else [])++
              (if ((length (player1Lives gameWorld))==0) && ((length (player2Lives gameWorld))==0) then [gameOverImg] else [])++
              (if (gamePaused gameWorld) then [gamePausedImg] else []))
render gameWorld = 
    pictures ([ backgroundImage]++
              ( map (drawGameObject) (lasersPlayer1 gameWorld))++
              ( map (drawGameObject) (lasersPlayer2 gameWorld))++
              (if (length (player1Lives gameWorld))>0 then [ drawGameObject $ player1 gameWorld] else [])++
              (if (length (player2Lives gameWorld))>0 then [ drawGameObject $ player2 gameWorld] else [])
              ++ ( map (drawGameObject) (asteroids gameWorld))++ 
              [translate (-476.5) 140 $ color white $ scale 0.3 0.3 $ text ( show (pointsPlayer1 gameWorld))]++
              [translate 438 140 $ color white $ scale 0.3 0.3 $ text ( show (pointsPlayer2 gameWorld))]++
              ( map (drawGameObject) (player1Lives gameWorld))++
              ( map (drawGameObject) (player2Lives gameWorld))++
              (if (length (player1Lives gameWorld))>0 && (player1Cooldown gameWorld)>0 then [drawAura (player1 gameWorld) (player1Aura gameWorld)] else [])++
              (if (length (player2Lives gameWorld))>0 && (player2Cooldown gameWorld)>0 then [drawAura (player2 gameWorld) (player2Aura gameWorld)] else [])++
              (if ((length (player1Lives gameWorld))==0) && ((length (player2Lives gameWorld))==0) then [gameOverImg] else [])++
              (if (gamePaused gameWorld) then [gamePausedImg] else []))