public void Update(GameTime gameTime, ref Character player, ref LoadSave saveAndLoadGame, ref int floor, ref  List<Enemy> enemies, ref PositionManager[, ,] positionManager, ref float hpBarBredd
            , ref bool playmenumusic, ref bool playingamemusic, Cue IngameTGU, ref LevelManager levelManager, ref bool attackDone, ref bool attackDone2
            , ref bool attackDoneMiss, SoundBank soundBank, Cue attackHit, Cue attackMiss, ref Attack attack2, ref int playerDamgeDelt
            , ref Rectangle hpBarPos, List<GameObj> objects, Texture2D tileset)
        {
            KeyboardState ks = Keyboard.GetState();

            //Hp och hpbar uträkningar test
            Random tal = new Random();

            //När en attack är klar sätts dessa till true
            if (attackDone == true)    //Gör så att man enbart kan genomföra en atack åt gången
            {
                attackDone2 = true;
                attackDoneMiss = true;
            }

            //Rörelse via tangentbordskontroller
            if (ks.IsKeyDown(Microsoft.Xna.Framework.Input.Keys.D)) //Knapptryckning för att röra sig till höger
            {
                if (player.moveCharRight == false && player.allowButtonPress == true)  //Gör så att man enbart kan genomföra en ny rörelse om karaktären för tillfället inte rör sig åt något håll
                {
                    player.Frame = 6;   //sätter framen till det håll man försöker gå åt, ifall det är en vägg ivägen körs inte animationen men karaktären vänder sig mot väggen

                    if (positionManager[player.playerPosY, player.playerPosX + 1, floor].type == "enemy")
                    {
                        if (attackDone == true)    //Gör så att man enbart kan genomföra en atack åt gången
                        {
                            for (int i = 0; i < enemies.Count; i++)   //Kollar igenom alla fiender
                            {
                                if (enemies[i].xCoord == player.playerPosX + 1 && enemies[i].yCoord == player.playerPosY)
                                {

                                    attackDone = false;
                                    player.allowButtonPress = false; //Gör så man ej kan göra någon annan rörelse eller attack medans man genomför nuvarande attack

                                    attack2.attackPos = new Vector2(player.playerPosX + 1, player.playerPosY);
                                    attack2.Position = new Vector2(attack2.attackPos.X * 64, attack2.attackPos.Y * 64);   //Ritar ut attackanimationen i rätt ruta

                                    int hpBefore = enemies[i].hp;   //Fiendens hp innan utförd attack
                                    enemies[i].hp -= attack2.CharAttackCalc(player.Totstr, enemies[i].dex);   //Kör spelarens attackuträkning på fienden
                                    int hpAfter = enemies[i].hp;   //Fiendens hp efter attack

                                    playerDamgeDelt = hpBefore - hpAfter;   //Skadan som fienden tog

                                    player.allowButtonPress = true;   //Gör att man får trycka på en knapp igen
                                    if (hpBefore == hpAfter)   //Då har attacken missat
                                    {
                                        attackDoneMiss = false;   //Gör att texten för miss ritas ut
                                        attackDone2 = true;
                                        soundBank.PlayCue("AttackMiss");   //Spelar upp ljud för miss
                                    }
                                    else if (hpBefore != hpAfter)   //Ifall attacken träffar
                                    {
                                        attackDoneMiss = true;
                                        attackDone2 = false;   //gör så att attackanimationen får ritas ut
                                        soundBank.PlayCue("AttackSound");   //Spelar upp ljud för träff
                                    }

                                    if (enemies[i].hp <= 0)   //Ifall fienden dör
                                    {

                                        positionManager[player.playerPosY, player.playerPosX + 1, floor].type = "empty";   //Sätter positionen den var på till empty

                                        player.Xp += enemies[i].ReturnExp();
                                        enemies.RemoveAt(i);  //Tar bort fienden

                                        if (player.Xp >= player.XpToLevel)   //Gör så att man går upp i level
                                        {
                                            player.LevelUp(ref hpBarPos.Width);   //Återställer spelarens hpbar

                                        }
                                    }
                                }
                                else if (enemies[i].xCoord != player.playerPosX + 1 || enemies[i].yCoord != player.playerPosY)
                                {

                                }
                            }
                        }
                    }

                    else if (positionManager[player.playerPosY, player.playerPosX + 1, floor].type != "wall")   //Kollar om det är en vägg framför karaktären, om detta är fallet utförs ingen rörelse
                    {
                        player.moveCharRight = true;    //Gör så att man rör sig åt höger
                        player.allowButtonPress = false;    //Gör så att man inte kan trycka på någon annan knapp medans en rörelse genomförs
                        player.playerPosX += 1;

                    }

                }
            }
            if (ks.IsKeyDown(Microsoft.Xna.Framework.Input.Keys.A)) //Knapptryckning för att röra sig till vänster
            {
                if (player.moveCharLeft == false && player.allowButtonPress == true)  //Gör så att man enbart kan genomföra en ny rörelse om karaktären för tillfället inte rör sig åt något håll
                {
                    player.Frame = 3;  //sätter framen till det håll man försöker gå åt, ifall det är en vägg ivägen körs inte animationen men karaktären vänder sig mot väggen
                    if (positionManager[player.playerPosY, player.playerPosX - 1, floor].type == "enemy")
                    {
                        if (attackDone == true)    //Gör så att man enbart kan genomföra en atack åt gången
                        {
                            for (int i = 0; i < enemies.Count; i++)   //Kollar igenom alla fiender
                            {
                                if (enemies[i].xCoord == player.playerPosX - 1 && enemies[i].yCoord == player.playerPosY)
                                {

                                    attackDone = false;
                                    player.allowButtonPress = false; //Gör så man ej kan göra någon annan rörelse eller attack medans man genomför nuvarande attack
                                    attack2.attackPos = new Vector2(player.playerPosX - 1, player.playerPosY);
                                    attack2.Position = new Vector2(attack2.attackPos.X * 64, attack2.attackPos.Y * 64);   //Ritar ut attackanimationen i rätt ruta

                                    int hpBefore = enemies[i].hp;   //Fiendens hp innan utförd attack
                                    enemies[i].hp -= attack2.CharAttackCalc(player.Totstr, enemies[i].dex);   //Kör spelarens attackuträkning på fienden
                                    int hpAfter = enemies[i].hp;   //Fiendens hp efter attack

                                    playerDamgeDelt = hpBefore - hpAfter;   //Skadan som fienden tog

                                    player.allowButtonPress = true;   //Gör att man får trycka på en knapp igen
                                    if (hpBefore == hpAfter)   //Då har attacken missat
                                    {
                                        attackDoneMiss = false;   //Gör att texten för miss ritas ut
                                        attackDone2 = true;
                                        soundBank.PlayCue("AttackMiss");   //Spelar upp ljud för miss
                                    }
                                    else if (hpBefore != hpAfter)   //Ifall attacken träffar
                                    {
                                        attackDoneMiss = true;
                                        attackDone2 = false;   //gör så att attackanimationen får ritas ut
                                        soundBank.PlayCue("AttackSound");   //Spelar upp ljud för träff
                                    }

                                    if (enemies[i].hp <= 0)   //Ifall fienden dör
                                    {

                                        positionManager[player.playerPosY, player.playerPosX - 1, floor].type = "empty";
                                        player.Xp += enemies[i].ReturnExp();
                                        enemies.RemoveAt(i);  //Tar bort fienden
                                        if (player.Xp >= player.XpToLevel)   //Gör så att man går upp i level
                                        {
                                            player.LevelUp(ref hpBarPos.Width);   //Återställer spelarens hpbar
                                        }
                                    }
                                }
                                else if (enemies[i].xCoord != player.playerPosX + 1 || enemies[i].yCoord != player.playerPosY)
                                {

                                }
                            }
                        }
                    }

                    else if (positionManager[player.playerPosY, player.playerPosX - 1, floor].type != "wall")   //Kollar om det är en vägg framför karaktären, om detta är fallet utförs ingen rörelse
                    {
                        player.moveCharLeft = true;    //Gör så att man rör sig åt vänster

                        player.allowButtonPress = false;   //Gör så att man inte kan trycka på någon annan knapp medans en rörelse genomförs
                        player.playerPosX -= 1;
                    }
                }
            }
            if (ks.IsKeyDown(Microsoft.Xna.Framework.Input.Keys.W)) //Knapptryckning för att röra sig upp
            {
                if (player.moveCharUp == false && player.allowButtonPress == true)    //Gör så att man enbart kan genomföra en ny rörelse om karaktären för tillfället inte rör sig åt något håll
                {
                    player.Frame = 9;  //sätter framen till det håll man försöker gå åt, ifall det är en vägg ivägen körs inte animationen men karaktären vänder sig mot väggen
                    if (positionManager[player.playerPosY - 1, player.playerPosX, floor].type == "enemy")
                    {
                        if (attackDone == true)    //Gör så att man enbart kan genomföra en atack åt gången
                        {
                            for (int i = 0; i < enemies.Count; i++)   //Kollar igenom alla fiender
                            {
                                if (enemies[i].xCoord == player.playerPosX && enemies[i].yCoord == player.playerPosY - 1)
                                {

                                    attackDone = false;
                                    player.allowButtonPress = false; //Gör så man ej kan göra någon annan rörelse eller attack medans man genomför nuvarande attack
                                    attack2.attackPos = new Vector2(player.playerPosX, player.playerPosY - 1);
                                    attack2.Position = new Vector2(attack2.attackPos.X * 64, attack2.attackPos.Y * 64);   //Ritar ut attackanimationen i rätt ruta

                                    int hpBefore = enemies[i].hp;   //Fiendens hp innan utförd attack
                                    enemies[i].hp -= attack2.CharAttackCalc(player.Totstr, enemies[i].dex);   //Kör spelarens attackuträkning på fienden
                                    int hpAfter = enemies[i].hp;   //Fiendens hp efter attack

                                    playerDamgeDelt = hpBefore - hpAfter;   //Skadan som fienden tog

                                    player.allowButtonPress = true;   //Gör att man får trycka på en knapp igen
                                    if (hpBefore == hpAfter)   //Då har attacken missat
                                    {
                                        attackDoneMiss = false;   //Gör att texten för miss ritas ut
                                        attackDone2 = true;
                                        soundBank.PlayCue("AttackMiss");   //Spelar upp ljud för miss
                                    }
                                    else if (hpBefore != hpAfter)   //Ifall attacken träffar
                                    {
                                        attackDoneMiss = true;
                                        attackDone2 = false;   //gör så att attackanimationen får ritas ut
                                        soundBank.PlayCue("AttackSound");   //Spelar upp ljud för träff
                                    }

                                    if (enemies[i].hp <= 0)   //Ifall fienden dör
                                    {
                                        positionManager[player.playerPosY - 1, player.playerPosX, floor].type = "empty";
                                        player.Xp += enemies[i].ReturnExp();
                                        enemies.RemoveAt(i);  //Tar bort fienden
                                        if (player.Xp >= player.XpToLevel)   //Gör så att man går upp i level
                                        {
                                            player.LevelUp(ref hpBarPos.Width);   //Återställer spelarens hpbar
                                        }
                                    }
                                }
                                else if (enemies[i].xCoord != player.playerPosX + 1 || enemies[i].yCoord != player.playerPosY)
                                {

                                }
                            }
                        }
                    }

                    else if (positionManager[player.playerPosY - 1, player.playerPosX, floor].type != "wall")   //Kollar om det är en vägg framför karaktären, om detta är fallet utförs ingen rörelse
                    {
                        player.moveCharUp = true;  //Gör så att man rör sig upp

                        player.allowButtonPress = false;   //Gör så att man inte kan trycka på någon annan knapp medans en rörelse genomförs
                        player.playerPosY -= 1;
                    }
                }
            }
            if (ks.IsKeyDown(Microsoft.Xna.Framework.Input.Keys.S))  //Knapptryckning för att röra sig ner
            {
                if (player.moveCharDown == false && player.allowButtonPress == true)  //Gör så att man enbart kan genomföra en ny rörelse om karaktären för tillfället inte rör sig åt något håll
                {
                    player.Frame = 0; //sätter framen till det håll man försöker gå åt, ifall det är en vägg ivägen körs inte animationen men karaktären vänder sig mot väggen

                    if (positionManager[player.playerPosY + 1, player.playerPosX, floor].type == "enemy")
                    {
                        if (attackDone == true)    //Gör så att man enbart kan genomföra en atack åt gången
                        {
                            for (int i = 0; i < enemies.Count; i++)   //Kollar igenom alla fiender
                            {
                                if (enemies[i].xCoord == player.playerPosX && enemies[i].yCoord == player.playerPosY + 1)
                                {

                                    attackDone = false;
                                    player.allowButtonPress = false; //Gör så man ej kan göra någon annan rörelse eller attack medans man genomför nuvarande attack
                                    attack2.attackPos = new Vector2(player.playerPosX, player.playerPosY + 1);
                                    attack2.Position = new Vector2(attack2.attackPos.X * 64, attack2.attackPos.Y * 64);   //Ritar ut attackanimationen i rätt ruta

                                    int hpBefore = enemies[i].hp;   //Fiendens hp innan utförd attack
                                    enemies[i].hp -= attack2.CharAttackCalc(player.Totstr, enemies[i].dex);   //Kör spelarens attackuträkning på fienden
                                    int hpAfter = enemies[i].hp;   //Fiendens hp efter attack

                                    playerDamgeDelt = hpBefore - hpAfter;   //Skadan som fienden tog

                                    player.allowButtonPress = true;   //Gör att man får trycka på en knapp igen
                                    if (hpBefore == hpAfter)   //Då har attacken missat
                                    {
                                        attackDoneMiss = false;   //Gör att texten för miss ritas ut
                                        attackDone2 = true;
                                        soundBank.PlayCue("AttackMiss");   //Spelar upp ljud för miss
                                    }
                                    else if (hpBefore != hpAfter)   //Ifall attacken träffar
                                    {
                                        attackDoneMiss = true;
                                        attackDone2 = false;   //gör så att attackanimationen får ritas ut
                                        soundBank.PlayCue("AttackSound");   //Spelar upp ljud för träff
                                    }

                                    if (enemies[i].hp <= 0)   //Ifall fienden dör
                                    {

                                        positionManager[player.playerPosY + 1, player.playerPosX, floor].type = "empty";
                                        player.Xp += enemies[i].ReturnExp();
                                        enemies.RemoveAt(i);  //Tar bort fienden
                                        if (player.Xp >= player.XpToLevel)   //Gör så att man går upp i level
                                        {
                                            player.LevelUp(ref hpBarPos.Width);   //Återställer spelarens hpbar
                                        }
                                    }
                                }
                                else if (enemies[i].xCoord != player.playerPosX + 1 || enemies[i].yCoord != player.playerPosY)
                                {

                                }
                            }
                        }
                    }

                    else if (positionManager[player.playerPosY + 1, player.playerPosX, floor].type != "wall")   //Kollar om det är en vägg framför karaktären, om detta är fallet utförs ingen rörelse
                    {
                        player.moveCharDown = true;    //Gör så att man rör sig ner

                        player.allowButtonPress = false;   //Gör så att man inte kan trycka på någon annan knapp medans en rörelse genomförs
                        player.playerPosY += 1;
                    }

                }
            }
            prevKs = ks;

            //Rörelse via musklick
            MouseState mousestate1 = Mouse.GetState();
            var mouseposition = new Point(mousestate1.X, mousestate1.Y);
            Rectangle moveUpBox = new Rectangle(400 - 28, 294 - 28, 56, 56);
            Rectangle moveDownBox = new Rectangle(400 - 28, 406 - 28, 56, 56);
            Rectangle moveLeftBox = new Rectangle(344 - 28, 350 - 28, 56, 56);
            Rectangle moveRightBox = new Rectangle(456 - 28, 350 - 28, 56, 56);

            if (mousestate1.RightButton == (Microsoft.Xna.Framework.Input.ButtonState.Released) && prevMs1.RightButton == (Microsoft.Xna.Framework.Input.ButtonState.Pressed))
            {
                if (moveUpBox.Contains(mouseposition))
                {
                    if (player.moveCharUp == false && player.allowButtonPress == true)    //Gör så att man enbart kan genomföra en ny rörelse om karaktären för tillfället inte rör sig åt något håll
                    {
                        player.Frame = 9;  //sätter framen till det håll man försöker gå åt, ifall det är en vägg ivägen körs inte animationen men karaktären vänder sig mot väggen
                        if (positionManager[player.playerPosY - 1, player.playerPosX, floor].type == "enemy")
                        {
                            if (attackDone == true)    //Gör så att man enbart kan genomföra en atack åt gången
                            {
                                for (int i = 0; i < enemies.Count; i++)   //Kollar igenom alla fiender
                                {
                                    if (enemies[i].xCoord == player.playerPosX && enemies[i].yCoord == player.playerPosY - 1)
                                    {

                                        attackDone = false;
                                        player.allowButtonPress = false; //Gör så man ej kan göra någon annan rörelse eller attack medans man genomför nuvarande attack
                                        attack2.attackPos = new Vector2(player.playerPosX, player.playerPosY - 1);
                                        attack2.Position = new Vector2(attack2.attackPos.X * 64, attack2.attackPos.Y * 64);   //Ritar ut attackanimationen i rätt ruta

                                        int hpBefore = enemies[i].hp;   //Fiendens hp innan utförd attack
                                        enemies[i].hp -= attack2.CharAttackCalc(player.Totstr, enemies[i].dex);   //Kör spelarens attackuträkning på fienden
                                        int hpAfter = enemies[i].hp;   //Fiendens hp efter attack

                                        playerDamgeDelt = hpBefore - hpAfter;   //Skadan som fienden tog

                                        player.allowButtonPress = true;   //Gör att man får trycka på en knapp igen
                                        if (hpBefore == hpAfter)   //Då har attacken missat
                                        {
                                            attackDoneMiss = false;   //Gör att texten för miss ritas ut
                                            attackDone2 = true;
                                            soundBank.PlayCue("AttackMiss");   //Spelar upp ljud för miss
                                        }
                                        else if (hpBefore != hpAfter)   //Ifall attacken träffar
                                        {
                                            attackDoneMiss = true;
                                            attackDone2 = false;   //gör så att attackanimationen får ritas ut
                                            soundBank.PlayCue("AttackSound");   //Spelar upp ljud för träff
                                        }

                                        if (enemies[i].hp <= 0)   //Ifall fienden dör
                                        {

                                            positionManager[player.playerPosY - 1, player.playerPosX, floor].type = "empty";
                                            player.Xp += enemies[i].ReturnExp();
                                            enemies.RemoveAt(i);  //Tar bort fienden
                                            if (player.Xp >= player.XpToLevel)   //Gör så att man går upp i level
                                            {
                                                player.LevelUp(ref hpBarPos.Width);   //Återställer spelarens hpbar
                                            }
                                        }
                                    }
                                    else if (enemies[i].xCoord != player.playerPosX + 1 || enemies[i].yCoord != player.playerPosY)
                                    {

                                    }
                                }
                            }
                        }

                        else if (positionManager[player.playerPosY - 1, player.playerPosX, floor].type != "wall")   //Kollar om det är en vägg framför karaktären, om detta är fallet utförs ingen rörelse
                        {
                            player.moveCharUp = true;  //Gör så att man rör sig upp

                            player.allowButtonPress = false;   //Gör så att man inte kan trycka på någon annan knapp medans en rörelse genomförs
                            player.playerPosY -= 1;
                        }
                    }
                }
            }

            if (mousestate1.RightButton == (Microsoft.Xna.Framework.Input.ButtonState.Released) && prevMs1.RightButton == (Microsoft.Xna.Framework.Input.ButtonState.Pressed))
            {
                if (moveDownBox.Contains(mouseposition))
                {
                    if (player.moveCharDown == false && player.allowButtonPress == true)  //Gör så att man enbart kan genomföra en ny rörelse om karaktären för tillfället inte rör sig åt något håll
                    {
                        player.Frame = 0; //sätter framen till det håll man försöker gå åt, ifall det är en vägg ivägen körs inte animationen men karaktären vänder sig mot väggen

                        if (positionManager[player.playerPosY + 1, player.playerPosX, floor].type == "enemy")
                        {
                            if (attackDone == true)    //Gör så att man enbart kan genomföra en atack åt gången
                            {
                                for (int i = 0; i < enemies.Count; i++)   //Kollar igenom alla fiender
                                {
                                    if (enemies[i].xCoord == player.playerPosX && enemies[i].yCoord == player.playerPosY + 1)
                                    {

                                        attackDone = false;
                                        player.allowButtonPress = false; //Gör så man ej kan göra någon annan rörelse eller attack medans man genomför nuvarande attack
                                        attack2.attackPos = new Vector2(player.playerPosX, player.playerPosY + 1);
                                        attack2.Position = new Vector2(attack2.attackPos.X * 64, attack2.attackPos.Y * 64);   //Ritar ut attackanimationen i rätt ruta

                                        int hpBefore = enemies[i].hp;   //Fiendens hp innan utförd attack
                                        enemies[i].hp -= attack2.CharAttackCalc(player.Totstr, enemies[i].dex);   //Kör spelarens attackuträkning på fienden
                                        int hpAfter = enemies[i].hp;   //Fiendens hp efter attack

                                        playerDamgeDelt = hpBefore - hpAfter;   //Skadan som fienden tog

                                        player.allowButtonPress = true;   //Gör att man får trycka på en knapp igen
                                        if (hpBefore == hpAfter)   //Då har attacken missat
                                        {
                                            attackDoneMiss = false;   //Gör att texten för miss ritas ut
                                            attackDone2 = true;
                                            soundBank.PlayCue("AttackMiss");   //Spelar upp ljud för miss
                                        }
                                        else if (hpBefore != hpAfter)   //Ifall attacken träffar
                                        {
                                            attackDoneMiss = true;
                                            attackDone2 = false;   //gör så att attackanimationen får ritas ut
                                            soundBank.PlayCue("AttackSound");   //Spelar upp ljud för träff
                                        }

                                        if (enemies[i].hp <= 0)   //Ifall fienden dör
                                        {

                                            positionManager[player.playerPosY + 1, player.playerPosX, floor].type = "empty";
                                            player.Xp += enemies[i].ReturnExp();
                                            enemies.RemoveAt(i);  //Tar bort fienden
                                            if (player.Xp >= player.XpToLevel)   //Gör så att man går upp i level
                                            {
                                                player.LevelUp(ref hpBarPos.Width);   //Återställer spelarens hpbar
                                            }
                                        }
                                    }
                                    else if (enemies[i].xCoord != player.playerPosX + 1 || enemies[i].yCoord != player.playerPosY)
                                    {

                                    }
                                }
                            }
                        }

                        else if (positionManager[player.playerPosY + 1, player.playerPosX, floor].type != "wall")   //Kollar om det är en vägg framför karaktären, om detta är fallet utförs ingen rörelse
                        {
                            player.moveCharDown = true;    //Gör så att man rör sig ner

                            player.allowButtonPress = false;   //Gör så att man inte kan trycka på någon annan knapp medans en rörelse genomförs
                            player.playerPosY += 1;
                        }

                    }
                }
            }

            if (mousestate1.RightButton == (Microsoft.Xna.Framework.Input.ButtonState.Released) && prevMs1.RightButton == (Microsoft.Xna.Framework.Input.ButtonState.Pressed))
            {
                if (moveLeftBox.Contains(mouseposition))
                {
                    if (player.moveCharLeft == false && player.allowButtonPress == true)  //Gör så att man enbart kan genomföra en ny rörelse om karaktären för tillfället inte rör sig åt något håll
                    {
                        player.Frame = 3;  //sätter framen till det håll man försöker gå åt, ifall det är en vägg ivägen körs inte animationen men karaktären vänder sig mot väggen
                        if (positionManager[player.playerPosY, player.playerPosX + 1, floor].type == "enemy")
                        {
                            if (attackDone == true)    //Gör så att man enbart kan genomföra en atack åt gången
                            {
                                for (int i = 0; i < enemies.Count; i++)   //Kollar igenom alla fiender
                                {
                                    if (enemies[i].xCoord == player.playerPosX + 1 && enemies[i].yCoord == player.playerPosY)
                                    {

                                        attackDone = false;
                                        player.allowButtonPress = false; //Gör så man ej kan göra någon annan rörelse eller attack medans man genomför nuvarande attack

                                        int hpBefore = enemies[i].hp;   //Fiendens hp innan utförd attack
                                        enemies[i].hp -= attack2.CharAttackCalc(player.Totstr, enemies[i].dex);   //Kör spelarens attackuträkning på fienden
                                        int hpAfter = enemies[i].hp;   //Fiendens hp efter attack

                                        playerDamgeDelt = hpBefore - hpAfter;   //Skadan som fienden tog

                                        player.allowButtonPress = true;   //Gör att man får trycka på en knapp igen
                                        if (hpBefore == hpAfter)   //Då har attacken missat
                                        {
                                            attackDoneMiss = false;   //Gör att texten för miss ritas ut
                                            attackDone2 = true;
                                            soundBank.PlayCue("AttackMiss");   //Spelar upp ljud för miss
                                        }
                                        else if (hpBefore != hpAfter)   //Ifall attacken träffar
                                        {
                                            attackDoneMiss = true;
                                            attackDone2 = false;   //gör så att attackanimationen får ritas ut
                                            soundBank.PlayCue("AttackSound");   //Spelar upp ljud för träff
                                        }
                                        if (enemies[i].hp <= 0)   //Ifall fienden dör
                                        {

                                            positionManager[player.playerPosY, player.playerPosX + 1, floor].type = "empty";   //Sätter positionen den var på till empty

                                            player.Xp += enemies[i].ReturnExp();
                                            enemies.RemoveAt(i);  //Tar bort fienden
                                            if (player.Xp >= player.XpToLevel)   //Gör så att man går upp i level
                                            {
                                                player.LevelUp(ref hpBarPos.Width);   //Återställer spelarens hpbar
                                            }
                                        }
                                    }
                                    else if (enemies[i].xCoord != player.playerPosX + 1 || enemies[i].yCoord != player.playerPosY)
                                    {

                                    }
                                }
                            }
                        }
                        else if (positionManager[player.playerPosY, player.playerPosX - 1, floor].type != "wall")   //Kollar om det är en vägg framför karaktären, om detta är fallet utförs ingen rörelse
                        {
                            player.moveCharLeft = true;    //Gör så att man rör sig åt vänster

                            player.playerPosX -= 1;
                            player.allowButtonPress = false;   //Gör så att man inte kan trycka på någon annan knapp medans en rörelse genomförs
                        }
                    }
                }
            }

            if (mousestate1.RightButton == (Microsoft.Xna.Framework.Input.ButtonState.Released) && prevMs1.RightButton == (Microsoft.Xna.Framework.Input.ButtonState.Pressed))
            {
                if (moveRightBox.Contains(mouseposition))
                {
                    if (player.moveCharRight == false && player.allowButtonPress == true)  //Gör så att man enbart kan genomföra en ny rörelse om karaktären för tillfället inte rör sig åt något håll
                    {
                        player.Frame = 6;   //sätter framen till det håll man försöker gå åt, ifall det är en vägg ivägen körs inte animationen men karaktären vänder sig mot väggen

                        if (positionManager[player.playerPosY, player.playerPosX + 1, floor].type == "enemy")
                        {
                            if (attackDone == true)    //Gör så att man enbart kan genomföra en atack åt gången
                            {
                                for (int i = 0; i < enemies.Count; i++)   //Kollar igenom alla fiender
                                {
                                    if (enemies[i].xCoord == player.playerPosX + 1 && enemies[i].yCoord == player.playerPosY)
                                    {

                                        attackDone = false;
                                        player.allowButtonPress = false; //Gör så man ej kan göra någon annan rörelse eller attack medans man genomför nuvarande attack

                                        attack2.attackPos = new Vector2(player.playerPosX + 1, player.playerPosY);
                                        attack2.Position = new Vector2(attack2.attackPos.X * 64, attack2.attackPos.Y * 64);   //Ritar ut attackanimationen i rätt ruta

                                        int hpBefore = enemies[i].hp;   //Fiendens hp innan utförd attack
                                        enemies[i].hp -= attack2.CharAttackCalc(player.Totstr, enemies[i].dex);   //Kör spelarens attackuträkning på fienden
                                        int hpAfter = enemies[i].hp;   //Fiendens hp efter attack

                                        playerDamgeDelt = hpBefore - hpAfter;   //Skadan som fienden tog

                                        player.allowButtonPress = true;   //Gör att man får trycka på en knapp igen
                                        if (hpBefore == hpAfter)   //Då har attacken missat
                                        {
                                            attackDoneMiss = false;   //Gör att texten för miss ritas ut
                                            attackDone2 = true;
                                            soundBank.PlayCue("AttackMiss");   //Spelar upp ljud för miss
                                        }
                                        else if (hpBefore != hpAfter)   //Ifall attacken träffar
                                        {
                                            attackDoneMiss = true;
                                            attackDone2 = false;   //gör så att attackanimationen får ritas ut
                                            soundBank.PlayCue("AttackSound");   //Spelar upp ljud för träff
                                        }

                                        if (enemies[i].hp <= 0)   //Ifall fienden dör
                                        {

                                            positionManager[player.playerPosY, player.playerPosX + 1, floor].type = "empty";   //Sätter positionen den var på till empty

                                            player.Xp += enemies[i].ReturnExp();
                                            enemies.RemoveAt(i);  //Tar bort fienden
                                            if (player.Xp >= player.XpToLevel)   //Gör så att man går upp i level
                                            {
                                                player.LevelUp(ref hpBarPos.Width);   //Återställer spelarens hpbar

                                            }
                                        }
                                    }
                                    else if (enemies[i].xCoord != player.playerPosX + 1 || enemies[i].yCoord != player.playerPosY)
                                    {

                                    }
                                }
                            }
                        }

                        else if (positionManager[player.playerPosY, player.playerPosX + 1, floor].type != "wall")   //Kollar om det är en vägg framför karaktären, om detta är fallet utförs ingen rörelse
                        {
                            player.moveCharRight = true;    //Gör så att man rör sig åt höger
                            player.allowButtonPress = false;    //Gör så att man inte kan trycka på någon annan knapp medans en rörelse genomförs
                            player.playerPosX += 1;

                        }

                    }
                }
            }

            prevMs1 = mousestate1;

            base.Update(gameTime);
        }
        public void Update(GameTime gameTime, ref Character player, ref LoadSave saveAndLoadGame, ref int floor, ref List <Enemy> enemies, ref PositionManager[, ,] positionManager, ref float hpBarBredd
                           , ref bool playmenumusic, ref bool playingamemusic, Cue IngameTGU, ref LevelManager levelManager, ref bool attackDone, ref bool attackDone2
                           , ref bool attackDoneMiss, SoundBank soundBank, Cue attackHit, Cue attackMiss, ref Attack attack2, ref int playerDamgeDelt
                           , ref Rectangle hpBarPos, List <GameObj> objects, Texture2D tileset)
        {
            KeyboardState ks = Keyboard.GetState();

            //Hp och hpbar uträkningar test
            Random tal = new Random();

            //När en attack är klar sätts dessa till true
            if (attackDone == true)    //Gör så att man enbart kan genomföra en atack åt gången
            {
                attackDone2    = true;
                attackDoneMiss = true;
            }

            //Rörelse via tangentbordskontroller
            if (ks.IsKeyDown(Microsoft.Xna.Framework.Input.Keys.D))                   //Knapptryckning för att röra sig till höger
            {
                if (player.moveCharRight == false && player.allowButtonPress == true) //Gör så att man enbart kan genomföra en ny rörelse om karaktären för tillfället inte rör sig åt något håll
                {
                    player.Frame = 6;                                                 //sätter framen till det håll man försöker gå åt, ifall det är en vägg ivägen körs inte animationen men karaktären vänder sig mot väggen

                    if (positionManager[player.playerPosY, player.playerPosX + 1, floor].type == "enemy")
                    {
                        if (attackDone == true)                     //Gör så att man enbart kan genomföra en atack åt gången
                        {
                            for (int i = 0; i < enemies.Count; i++) //Kollar igenom alla fiender
                            {
                                if (enemies[i].xCoord == player.playerPosX + 1 && enemies[i].yCoord == player.playerPosY)
                                {
                                    attackDone = false;
                                    player.allowButtonPress = false; //Gör så man ej kan göra någon annan rörelse eller attack medans man genomför nuvarande attack

                                    attack2.attackPos = new Vector2(player.playerPosX + 1, player.playerPosY);
                                    attack2.Position  = new Vector2(attack2.attackPos.X * 64, attack2.attackPos.Y * 64); //Ritar ut attackanimationen i rätt ruta

                                    int hpBefore = enemies[i].hp;                                                        //Fiendens hp innan utförd attack
                                    enemies[i].hp -= attack2.CharAttackCalc(player.Totstr, enemies[i].dex);              //Kör spelarens attackuträkning på fienden
                                    int hpAfter = enemies[i].hp;                                                         //Fiendens hp efter attack

                                    playerDamgeDelt = hpBefore - hpAfter;                                                //Skadan som fienden tog

                                    player.allowButtonPress = true;                                                      //Gör att man får trycka på en knapp igen
                                    if (hpBefore == hpAfter)                                                             //Då har attacken missat
                                    {
                                        attackDoneMiss = false;                                                          //Gör att texten för miss ritas ut
                                        attackDone2    = true;
                                        soundBank.PlayCue("AttackMiss");                                                 //Spelar upp ljud för miss
                                    }
                                    else if (hpBefore != hpAfter)                                                        //Ifall attacken träffar
                                    {
                                        attackDoneMiss = true;
                                        attackDone2    = false;           //gör så att attackanimationen får ritas ut
                                        soundBank.PlayCue("AttackSound"); //Spelar upp ljud för träff
                                    }

                                    if (enemies[i].hp <= 0)                                                              //Ifall fienden dör
                                    {
                                        positionManager[player.playerPosY, player.playerPosX + 1, floor].type = "empty"; //Sätter positionen den var på till empty

                                        player.Xp += enemies[i].ReturnExp();
                                        enemies.RemoveAt(i);                    //Tar bort fienden

                                        if (player.Xp >= player.XpToLevel)      //Gör så att man går upp i level
                                        {
                                            player.LevelUp(ref hpBarPos.Width); //Återställer spelarens hpbar
                                        }
                                    }
                                }
                                else if (enemies[i].xCoord != player.playerPosX + 1 || enemies[i].yCoord != player.playerPosY)
                                {
                                }
                            }
                        }
                    }

                    else if (positionManager[player.playerPosY, player.playerPosX + 1, floor].type != "wall") //Kollar om det är en vägg framför karaktären, om detta är fallet utförs ingen rörelse
                    {
                        player.moveCharRight    = true;                                                       //Gör så att man rör sig åt höger
                        player.allowButtonPress = false;                                                      //Gör så att man inte kan trycka på någon annan knapp medans en rörelse genomförs
                        player.playerPosX      += 1;
                    }
                }
            }
            if (ks.IsKeyDown(Microsoft.Xna.Framework.Input.Keys.A))                  //Knapptryckning för att röra sig till vänster
            {
                if (player.moveCharLeft == false && player.allowButtonPress == true) //Gör så att man enbart kan genomföra en ny rörelse om karaktären för tillfället inte rör sig åt något håll
                {
                    player.Frame = 3;                                                //sätter framen till det håll man försöker gå åt, ifall det är en vägg ivägen körs inte animationen men karaktären vänder sig mot väggen
                    if (positionManager[player.playerPosY, player.playerPosX - 1, floor].type == "enemy")
                    {
                        if (attackDone == true)                     //Gör så att man enbart kan genomföra en atack åt gången
                        {
                            for (int i = 0; i < enemies.Count; i++) //Kollar igenom alla fiender
                            {
                                if (enemies[i].xCoord == player.playerPosX - 1 && enemies[i].yCoord == player.playerPosY)
                                {
                                    attackDone = false;
                                    player.allowButtonPress = false;                                                           //Gör så man ej kan göra någon annan rörelse eller attack medans man genomför nuvarande attack
                                    attack2.attackPos       = new Vector2(player.playerPosX - 1, player.playerPosY);
                                    attack2.Position        = new Vector2(attack2.attackPos.X * 64, attack2.attackPos.Y * 64); //Ritar ut attackanimationen i rätt ruta

                                    int hpBefore = enemies[i].hp;                                                              //Fiendens hp innan utförd attack
                                    enemies[i].hp -= attack2.CharAttackCalc(player.Totstr, enemies[i].dex);                    //Kör spelarens attackuträkning på fienden
                                    int hpAfter = enemies[i].hp;                                                               //Fiendens hp efter attack

                                    playerDamgeDelt = hpBefore - hpAfter;                                                      //Skadan som fienden tog

                                    player.allowButtonPress = true;                                                            //Gör att man får trycka på en knapp igen
                                    if (hpBefore == hpAfter)                                                                   //Då har attacken missat
                                    {
                                        attackDoneMiss = false;                                                                //Gör att texten för miss ritas ut
                                        attackDone2    = true;
                                        soundBank.PlayCue("AttackMiss");                                                       //Spelar upp ljud för miss
                                    }
                                    else if (hpBefore != hpAfter)                                                              //Ifall attacken träffar
                                    {
                                        attackDoneMiss = true;
                                        attackDone2    = false;           //gör så att attackanimationen får ritas ut
                                        soundBank.PlayCue("AttackSound"); //Spelar upp ljud för träff
                                    }



                                    if (enemies[i].hp <= 0)   //Ifall fienden dör
                                    {
                                        positionManager[player.playerPosY, player.playerPosX - 1, floor].type = "empty";
                                        player.Xp += enemies[i].ReturnExp();
                                        enemies.RemoveAt(i);                    //Tar bort fienden
                                        if (player.Xp >= player.XpToLevel)      //Gör så att man går upp i level
                                        {
                                            player.LevelUp(ref hpBarPos.Width); //Återställer spelarens hpbar
                                        }
                                    }
                                }
                                else if (enemies[i].xCoord != player.playerPosX + 1 || enemies[i].yCoord != player.playerPosY)
                                {
                                }
                            }
                        }
                    }

                    else if (positionManager[player.playerPosY, player.playerPosX - 1, floor].type != "wall") //Kollar om det är en vägg framför karaktären, om detta är fallet utförs ingen rörelse
                    {
                        player.moveCharLeft = true;                                                           //Gör så att man rör sig åt vänster

                        player.allowButtonPress = false;                                                      //Gör så att man inte kan trycka på någon annan knapp medans en rörelse genomförs
                        player.playerPosX      -= 1;
                    }
                }
            }
            if (ks.IsKeyDown(Microsoft.Xna.Framework.Input.Keys.W))                //Knapptryckning för att röra sig upp
            {
                if (player.moveCharUp == false && player.allowButtonPress == true) //Gör så att man enbart kan genomföra en ny rörelse om karaktären för tillfället inte rör sig åt något håll
                {
                    player.Frame = 9;                                              //sätter framen till det håll man försöker gå åt, ifall det är en vägg ivägen körs inte animationen men karaktären vänder sig mot väggen
                    if (positionManager[player.playerPosY - 1, player.playerPosX, floor].type == "enemy")
                    {
                        if (attackDone == true)                     //Gör så att man enbart kan genomföra en atack åt gången
                        {
                            for (int i = 0; i < enemies.Count; i++) //Kollar igenom alla fiender
                            {
                                if (enemies[i].xCoord == player.playerPosX && enemies[i].yCoord == player.playerPosY - 1)
                                {
                                    attackDone = false;
                                    player.allowButtonPress = false;                                                           //Gör så man ej kan göra någon annan rörelse eller attack medans man genomför nuvarande attack
                                    attack2.attackPos       = new Vector2(player.playerPosX, player.playerPosY - 1);
                                    attack2.Position        = new Vector2(attack2.attackPos.X * 64, attack2.attackPos.Y * 64); //Ritar ut attackanimationen i rätt ruta

                                    int hpBefore = enemies[i].hp;                                                              //Fiendens hp innan utförd attack
                                    enemies[i].hp -= attack2.CharAttackCalc(player.Totstr, enemies[i].dex);                    //Kör spelarens attackuträkning på fienden
                                    int hpAfter = enemies[i].hp;                                                               //Fiendens hp efter attack

                                    playerDamgeDelt = hpBefore - hpAfter;                                                      //Skadan som fienden tog

                                    player.allowButtonPress = true;                                                            //Gör att man får trycka på en knapp igen
                                    if (hpBefore == hpAfter)                                                                   //Då har attacken missat
                                    {
                                        attackDoneMiss = false;                                                                //Gör att texten för miss ritas ut
                                        attackDone2    = true;
                                        soundBank.PlayCue("AttackMiss");                                                       //Spelar upp ljud för miss
                                    }
                                    else if (hpBefore != hpAfter)                                                              //Ifall attacken träffar
                                    {
                                        attackDoneMiss = true;
                                        attackDone2    = false;           //gör så att attackanimationen får ritas ut
                                        soundBank.PlayCue("AttackSound"); //Spelar upp ljud för träff
                                    }

                                    if (enemies[i].hp <= 0)   //Ifall fienden dör
                                    {
                                        positionManager[player.playerPosY - 1, player.playerPosX, floor].type = "empty";
                                        player.Xp += enemies[i].ReturnExp();
                                        enemies.RemoveAt(i);                    //Tar bort fienden
                                        if (player.Xp >= player.XpToLevel)      //Gör så att man går upp i level
                                        {
                                            player.LevelUp(ref hpBarPos.Width); //Återställer spelarens hpbar
                                        }
                                    }
                                }
                                else if (enemies[i].xCoord != player.playerPosX + 1 || enemies[i].yCoord != player.playerPosY)
                                {
                                }
                            }
                        }
                    }

                    else if (positionManager[player.playerPosY - 1, player.playerPosX, floor].type != "wall") //Kollar om det är en vägg framför karaktären, om detta är fallet utförs ingen rörelse
                    {
                        player.moveCharUp = true;                                                             //Gör så att man rör sig upp

                        player.allowButtonPress = false;                                                      //Gör så att man inte kan trycka på någon annan knapp medans en rörelse genomförs
                        player.playerPosY      -= 1;
                    }
                }
            }
            if (ks.IsKeyDown(Microsoft.Xna.Framework.Input.Keys.S))                  //Knapptryckning för att röra sig ner
            {
                if (player.moveCharDown == false && player.allowButtonPress == true) //Gör så att man enbart kan genomföra en ny rörelse om karaktären för tillfället inte rör sig åt något håll
                {
                    player.Frame = 0;                                                //sätter framen till det håll man försöker gå åt, ifall det är en vägg ivägen körs inte animationen men karaktären vänder sig mot väggen

                    if (positionManager[player.playerPosY + 1, player.playerPosX, floor].type == "enemy")
                    {
                        if (attackDone == true)                     //Gör så att man enbart kan genomföra en atack åt gången
                        {
                            for (int i = 0; i < enemies.Count; i++) //Kollar igenom alla fiender
                            {
                                if (enemies[i].xCoord == player.playerPosX && enemies[i].yCoord == player.playerPosY + 1)
                                {
                                    attackDone = false;
                                    player.allowButtonPress = false;                                                           //Gör så man ej kan göra någon annan rörelse eller attack medans man genomför nuvarande attack
                                    attack2.attackPos       = new Vector2(player.playerPosX, player.playerPosY + 1);
                                    attack2.Position        = new Vector2(attack2.attackPos.X * 64, attack2.attackPos.Y * 64); //Ritar ut attackanimationen i rätt ruta

                                    int hpBefore = enemies[i].hp;                                                              //Fiendens hp innan utförd attack
                                    enemies[i].hp -= attack2.CharAttackCalc(player.Totstr, enemies[i].dex);                    //Kör spelarens attackuträkning på fienden
                                    int hpAfter = enemies[i].hp;                                                               //Fiendens hp efter attack

                                    playerDamgeDelt = hpBefore - hpAfter;                                                      //Skadan som fienden tog

                                    player.allowButtonPress = true;                                                            //Gör att man får trycka på en knapp igen
                                    if (hpBefore == hpAfter)                                                                   //Då har attacken missat
                                    {
                                        attackDoneMiss = false;                                                                //Gör att texten för miss ritas ut
                                        attackDone2    = true;
                                        soundBank.PlayCue("AttackMiss");                                                       //Spelar upp ljud för miss
                                    }
                                    else if (hpBefore != hpAfter)                                                              //Ifall attacken träffar
                                    {
                                        attackDoneMiss = true;
                                        attackDone2    = false;           //gör så att attackanimationen får ritas ut
                                        soundBank.PlayCue("AttackSound"); //Spelar upp ljud för träff
                                    }

                                    if (enemies[i].hp <= 0)   //Ifall fienden dör
                                    {
                                        positionManager[player.playerPosY + 1, player.playerPosX, floor].type = "empty";
                                        player.Xp += enemies[i].ReturnExp();
                                        enemies.RemoveAt(i);                    //Tar bort fienden
                                        if (player.Xp >= player.XpToLevel)      //Gör så att man går upp i level
                                        {
                                            player.LevelUp(ref hpBarPos.Width); //Återställer spelarens hpbar
                                        }
                                    }
                                }
                                else if (enemies[i].xCoord != player.playerPosX + 1 || enemies[i].yCoord != player.playerPosY)
                                {
                                }
                            }
                        }
                    }

                    else if (positionManager[player.playerPosY + 1, player.playerPosX, floor].type != "wall") //Kollar om det är en vägg framför karaktären, om detta är fallet utförs ingen rörelse
                    {
                        player.moveCharDown = true;                                                           //Gör så att man rör sig ner

                        player.allowButtonPress = false;                                                      //Gör så att man inte kan trycka på någon annan knapp medans en rörelse genomförs
                        player.playerPosY      += 1;
                    }
                }
            }
            prevKs = ks;



            //Rörelse via musklick
            MouseState mousestate1   = Mouse.GetState();
            var        mouseposition = new Point(mousestate1.X, mousestate1.Y);
            Rectangle  moveUpBox     = new Rectangle(400 - 28, 294 - 28, 56, 56);
            Rectangle  moveDownBox   = new Rectangle(400 - 28, 406 - 28, 56, 56);
            Rectangle  moveLeftBox   = new Rectangle(344 - 28, 350 - 28, 56, 56);
            Rectangle  moveRightBox  = new Rectangle(456 - 28, 350 - 28, 56, 56);

            if (mousestate1.RightButton == (Microsoft.Xna.Framework.Input.ButtonState.Released) && prevMs1.RightButton == (Microsoft.Xna.Framework.Input.ButtonState.Pressed))
            {
                if (moveUpBox.Contains(mouseposition))
                {
                    if (player.moveCharUp == false && player.allowButtonPress == true) //Gör så att man enbart kan genomföra en ny rörelse om karaktären för tillfället inte rör sig åt något håll
                    {
                        player.Frame = 9;                                              //sätter framen till det håll man försöker gå åt, ifall det är en vägg ivägen körs inte animationen men karaktären vänder sig mot väggen
                        if (positionManager[player.playerPosY - 1, player.playerPosX, floor].type == "enemy")
                        {
                            if (attackDone == true)                     //Gör så att man enbart kan genomföra en atack åt gången
                            {
                                for (int i = 0; i < enemies.Count; i++) //Kollar igenom alla fiender
                                {
                                    if (enemies[i].xCoord == player.playerPosX && enemies[i].yCoord == player.playerPosY - 1)
                                    {
                                        attackDone = false;
                                        player.allowButtonPress = false;                                                           //Gör så man ej kan göra någon annan rörelse eller attack medans man genomför nuvarande attack
                                        attack2.attackPos       = new Vector2(player.playerPosX, player.playerPosY - 1);
                                        attack2.Position        = new Vector2(attack2.attackPos.X * 64, attack2.attackPos.Y * 64); //Ritar ut attackanimationen i rätt ruta

                                        int hpBefore = enemies[i].hp;                                                              //Fiendens hp innan utförd attack
                                        enemies[i].hp -= attack2.CharAttackCalc(player.Totstr, enemies[i].dex);                    //Kör spelarens attackuträkning på fienden
                                        int hpAfter = enemies[i].hp;                                                               //Fiendens hp efter attack

                                        playerDamgeDelt = hpBefore - hpAfter;                                                      //Skadan som fienden tog

                                        player.allowButtonPress = true;                                                            //Gör att man får trycka på en knapp igen
                                        if (hpBefore == hpAfter)                                                                   //Då har attacken missat
                                        {
                                            attackDoneMiss = false;                                                                //Gör att texten för miss ritas ut
                                            attackDone2    = true;
                                            soundBank.PlayCue("AttackMiss");                                                       //Spelar upp ljud för miss
                                        }
                                        else if (hpBefore != hpAfter)                                                              //Ifall attacken träffar
                                        {
                                            attackDoneMiss = true;
                                            attackDone2    = false;           //gör så att attackanimationen får ritas ut
                                            soundBank.PlayCue("AttackSound"); //Spelar upp ljud för träff
                                        }

                                        if (enemies[i].hp <= 0)   //Ifall fienden dör
                                        {
                                            positionManager[player.playerPosY - 1, player.playerPosX, floor].type = "empty";
                                            player.Xp += enemies[i].ReturnExp();
                                            enemies.RemoveAt(i);                    //Tar bort fienden
                                            if (player.Xp >= player.XpToLevel)      //Gör så att man går upp i level
                                            {
                                                player.LevelUp(ref hpBarPos.Width); //Återställer spelarens hpbar
                                            }
                                        }
                                    }
                                    else if (enemies[i].xCoord != player.playerPosX + 1 || enemies[i].yCoord != player.playerPosY)
                                    {
                                    }
                                }
                            }
                        }

                        else if (positionManager[player.playerPosY - 1, player.playerPosX, floor].type != "wall") //Kollar om det är en vägg framför karaktären, om detta är fallet utförs ingen rörelse
                        {
                            player.moveCharUp = true;                                                             //Gör så att man rör sig upp

                            player.allowButtonPress = false;                                                      //Gör så att man inte kan trycka på någon annan knapp medans en rörelse genomförs
                            player.playerPosY      -= 1;
                        }
                    }
                }
            }

            if (mousestate1.RightButton == (Microsoft.Xna.Framework.Input.ButtonState.Released) && prevMs1.RightButton == (Microsoft.Xna.Framework.Input.ButtonState.Pressed))
            {
                if (moveDownBox.Contains(mouseposition))
                {
                    if (player.moveCharDown == false && player.allowButtonPress == true) //Gör så att man enbart kan genomföra en ny rörelse om karaktären för tillfället inte rör sig åt något håll
                    {
                        player.Frame = 0;                                                //sätter framen till det håll man försöker gå åt, ifall det är en vägg ivägen körs inte animationen men karaktären vänder sig mot väggen

                        if (positionManager[player.playerPosY + 1, player.playerPosX, floor].type == "enemy")
                        {
                            if (attackDone == true)                     //Gör så att man enbart kan genomföra en atack åt gången
                            {
                                for (int i = 0; i < enemies.Count; i++) //Kollar igenom alla fiender
                                {
                                    if (enemies[i].xCoord == player.playerPosX && enemies[i].yCoord == player.playerPosY + 1)
                                    {
                                        attackDone = false;
                                        player.allowButtonPress = false;                                                           //Gör så man ej kan göra någon annan rörelse eller attack medans man genomför nuvarande attack
                                        attack2.attackPos       = new Vector2(player.playerPosX, player.playerPosY + 1);
                                        attack2.Position        = new Vector2(attack2.attackPos.X * 64, attack2.attackPos.Y * 64); //Ritar ut attackanimationen i rätt ruta

                                        int hpBefore = enemies[i].hp;                                                              //Fiendens hp innan utförd attack
                                        enemies[i].hp -= attack2.CharAttackCalc(player.Totstr, enemies[i].dex);                    //Kör spelarens attackuträkning på fienden
                                        int hpAfter = enemies[i].hp;                                                               //Fiendens hp efter attack

                                        playerDamgeDelt = hpBefore - hpAfter;                                                      //Skadan som fienden tog

                                        player.allowButtonPress = true;                                                            //Gör att man får trycka på en knapp igen
                                        if (hpBefore == hpAfter)                                                                   //Då har attacken missat
                                        {
                                            attackDoneMiss = false;                                                                //Gör att texten för miss ritas ut
                                            attackDone2    = true;
                                            soundBank.PlayCue("AttackMiss");                                                       //Spelar upp ljud för miss
                                        }
                                        else if (hpBefore != hpAfter)                                                              //Ifall attacken träffar
                                        {
                                            attackDoneMiss = true;
                                            attackDone2    = false;           //gör så att attackanimationen får ritas ut
                                            soundBank.PlayCue("AttackSound"); //Spelar upp ljud för träff
                                        }

                                        if (enemies[i].hp <= 0)   //Ifall fienden dör
                                        {
                                            positionManager[player.playerPosY + 1, player.playerPosX, floor].type = "empty";
                                            player.Xp += enemies[i].ReturnExp();
                                            enemies.RemoveAt(i);                    //Tar bort fienden
                                            if (player.Xp >= player.XpToLevel)      //Gör så att man går upp i level
                                            {
                                                player.LevelUp(ref hpBarPos.Width); //Återställer spelarens hpbar
                                            }
                                        }
                                    }
                                    else if (enemies[i].xCoord != player.playerPosX + 1 || enemies[i].yCoord != player.playerPosY)
                                    {
                                    }
                                }
                            }
                        }

                        else if (positionManager[player.playerPosY + 1, player.playerPosX, floor].type != "wall") //Kollar om det är en vägg framför karaktären, om detta är fallet utförs ingen rörelse
                        {
                            player.moveCharDown = true;                                                           //Gör så att man rör sig ner

                            player.allowButtonPress = false;                                                      //Gör så att man inte kan trycka på någon annan knapp medans en rörelse genomförs
                            player.playerPosY      += 1;
                        }
                    }
                }
            }

            if (mousestate1.RightButton == (Microsoft.Xna.Framework.Input.ButtonState.Released) && prevMs1.RightButton == (Microsoft.Xna.Framework.Input.ButtonState.Pressed))
            {
                if (moveLeftBox.Contains(mouseposition))
                {
                    if (player.moveCharLeft == false && player.allowButtonPress == true) //Gör så att man enbart kan genomföra en ny rörelse om karaktären för tillfället inte rör sig åt något håll
                    {
                        player.Frame = 3;                                                //sätter framen till det håll man försöker gå åt, ifall det är en vägg ivägen körs inte animationen men karaktären vänder sig mot väggen
                        if (positionManager[player.playerPosY, player.playerPosX + 1, floor].type == "enemy")
                        {
                            if (attackDone == true)                     //Gör så att man enbart kan genomföra en atack åt gången
                            {
                                for (int i = 0; i < enemies.Count; i++) //Kollar igenom alla fiender
                                {
                                    if (enemies[i].xCoord == player.playerPosX + 1 && enemies[i].yCoord == player.playerPosY)
                                    {
                                        attackDone = false;
                                        player.allowButtonPress = false; //Gör så man ej kan göra någon annan rörelse eller attack medans man genomför nuvarande attack


                                        int hpBefore = enemies[i].hp;                                           //Fiendens hp innan utförd attack
                                        enemies[i].hp -= attack2.CharAttackCalc(player.Totstr, enemies[i].dex); //Kör spelarens attackuträkning på fienden
                                        int hpAfter = enemies[i].hp;                                            //Fiendens hp efter attack

                                        playerDamgeDelt = hpBefore - hpAfter;                                   //Skadan som fienden tog

                                        player.allowButtonPress = true;                                         //Gör att man får trycka på en knapp igen
                                        if (hpBefore == hpAfter)                                                //Då har attacken missat
                                        {
                                            attackDoneMiss = false;                                             //Gör att texten för miss ritas ut
                                            attackDone2    = true;
                                            soundBank.PlayCue("AttackMiss");                                    //Spelar upp ljud för miss
                                        }
                                        else if (hpBefore != hpAfter)                                           //Ifall attacken träffar
                                        {
                                            attackDoneMiss = true;
                                            attackDone2    = false;                                                          //gör så att attackanimationen får ritas ut
                                            soundBank.PlayCue("AttackSound");                                                //Spelar upp ljud för träff
                                        }
                                        if (enemies[i].hp <= 0)                                                              //Ifall fienden dör
                                        {
                                            positionManager[player.playerPosY, player.playerPosX + 1, floor].type = "empty"; //Sätter positionen den var på till empty

                                            player.Xp += enemies[i].ReturnExp();
                                            enemies.RemoveAt(i);                    //Tar bort fienden
                                            if (player.Xp >= player.XpToLevel)      //Gör så att man går upp i level
                                            {
                                                player.LevelUp(ref hpBarPos.Width); //Återställer spelarens hpbar
                                            }
                                        }
                                    }
                                    else if (enemies[i].xCoord != player.playerPosX + 1 || enemies[i].yCoord != player.playerPosY)
                                    {
                                    }
                                }
                            }
                        }
                        else if (positionManager[player.playerPosY, player.playerPosX - 1, floor].type != "wall") //Kollar om det är en vägg framför karaktären, om detta är fallet utförs ingen rörelse
                        {
                            player.moveCharLeft = true;                                                           //Gör så att man rör sig åt vänster

                            player.playerPosX      -= 1;
                            player.allowButtonPress = false;   //Gör så att man inte kan trycka på någon annan knapp medans en rörelse genomförs
                        }
                    }
                }
            }

            if (mousestate1.RightButton == (Microsoft.Xna.Framework.Input.ButtonState.Released) && prevMs1.RightButton == (Microsoft.Xna.Framework.Input.ButtonState.Pressed))
            {
                if (moveRightBox.Contains(mouseposition))
                {
                    if (player.moveCharRight == false && player.allowButtonPress == true) //Gör så att man enbart kan genomföra en ny rörelse om karaktären för tillfället inte rör sig åt något håll
                    {
                        player.Frame = 6;                                                 //sätter framen till det håll man försöker gå åt, ifall det är en vägg ivägen körs inte animationen men karaktären vänder sig mot väggen

                        if (positionManager[player.playerPosY, player.playerPosX + 1, floor].type == "enemy")
                        {
                            if (attackDone == true)                     //Gör så att man enbart kan genomföra en atack åt gången
                            {
                                for (int i = 0; i < enemies.Count; i++) //Kollar igenom alla fiender
                                {
                                    if (enemies[i].xCoord == player.playerPosX + 1 && enemies[i].yCoord == player.playerPosY)
                                    {
                                        attackDone = false;
                                        player.allowButtonPress = false; //Gör så man ej kan göra någon annan rörelse eller attack medans man genomför nuvarande attack

                                        attack2.attackPos = new Vector2(player.playerPosX + 1, player.playerPosY);
                                        attack2.Position  = new Vector2(attack2.attackPos.X * 64, attack2.attackPos.Y * 64); //Ritar ut attackanimationen i rätt ruta

                                        int hpBefore = enemies[i].hp;                                                        //Fiendens hp innan utförd attack
                                        enemies[i].hp -= attack2.CharAttackCalc(player.Totstr, enemies[i].dex);              //Kör spelarens attackuträkning på fienden
                                        int hpAfter = enemies[i].hp;                                                         //Fiendens hp efter attack

                                        playerDamgeDelt = hpBefore - hpAfter;                                                //Skadan som fienden tog

                                        player.allowButtonPress = true;                                                      //Gör att man får trycka på en knapp igen
                                        if (hpBefore == hpAfter)                                                             //Då har attacken missat
                                        {
                                            attackDoneMiss = false;                                                          //Gör att texten för miss ritas ut
                                            attackDone2    = true;
                                            soundBank.PlayCue("AttackMiss");                                                 //Spelar upp ljud för miss
                                        }
                                        else if (hpBefore != hpAfter)                                                        //Ifall attacken träffar
                                        {
                                            attackDoneMiss = true;
                                            attackDone2    = false;           //gör så att attackanimationen får ritas ut
                                            soundBank.PlayCue("AttackSound"); //Spelar upp ljud för träff
                                        }

                                        if (enemies[i].hp <= 0)                                                              //Ifall fienden dör
                                        {
                                            positionManager[player.playerPosY, player.playerPosX + 1, floor].type = "empty"; //Sätter positionen den var på till empty

                                            player.Xp += enemies[i].ReturnExp();
                                            enemies.RemoveAt(i);                    //Tar bort fienden
                                            if (player.Xp >= player.XpToLevel)      //Gör så att man går upp i level
                                            {
                                                player.LevelUp(ref hpBarPos.Width); //Återställer spelarens hpbar
                                            }
                                        }
                                    }
                                    else if (enemies[i].xCoord != player.playerPosX + 1 || enemies[i].yCoord != player.playerPosY)
                                    {
                                    }
                                }
                            }
                        }

                        else if (positionManager[player.playerPosY, player.playerPosX + 1, floor].type != "wall") //Kollar om det är en vägg framför karaktären, om detta är fallet utförs ingen rörelse
                        {
                            player.moveCharRight    = true;                                                       //Gör så att man rör sig åt höger
                            player.allowButtonPress = false;                                                      //Gör så att man inte kan trycka på någon annan knapp medans en rörelse genomförs
                            player.playerPosX      += 1;
                        }
                    }
                }
            }

            prevMs1 = mousestate1;



            base.Update(gameTime);
        }