0
c = new Console ();


        int lvl = 1;
        double exp = 0;
        int x = 1;
        double monsterhp;
        int monslvl = 1;
        int a = 1;
        while (a == 1)
        {
            int lvlup = 10 + (lvl * 40);
            if (exp >= lvlup)
            {
                lvl = lvl + 1;
                exp = 0;

            }
            double maxhp = 50 + (lvl * 5);
            double maxmp = 5 + (lvl);
            double hp = maxhp;
            double mp = maxmp;
            hp = Math.rint (hp);
            double hpbar;
            double mpbar;

            a = 0;
            double monsgen = Math.random () * 10;
            monsgen = Math.round (monsgen);
            String battle = ("battle");


            hpbar = maxhp / hp * 100;
            mpbar = maxmp / mp * 100;


            if (monsgen < 6)
            {


                monsterhp = 90 + (lvl * 10);

                while (battle.equals ("battle"))
                {


                    c.clear ();
                    c.setColor (Color.red);
                    c.fillRect (2, 0, hpbar, 2);
                    c.setColor (Color.blue);
                    c.fillRect (5, 0, mpbar, 2);
                    c.println ("Lvl: " + lvl);
                    c.setColor (Color.green);
                    c.fillRect (0, 5, )
                        c.print ("Your hp: ");
                    c.setTextColor (Color.red);
                    c.print (hp);
                    c.setTextColor (Color.black);
                    c.print ("                   Monster hp: ");

The misplaced construct problem occured at the red line. The string is defined and it should run the loop. Any help is appreciated. thanks

2
Contributors
5
Replies
7
Views
7 Years
Discussion Span
Last Post by sirlink99
0

Sorry i posted this twice but once the internet wouldn't load the page and I forgot to check. This one is the more detailed one of the two. Thanks for helping.

red is where the problems are green will be the problem

// The "Rpg" class.                cheat
import java.awt.*;
import hsa.Console;

public class Rpg
{
    static Console c;           // The output console

    public static void main (String [] args)
    {
        c = new Console ();


        int lvl = 1;
        double exp = 0;
        int x = 1;
        double monsterhp;
        int monslvl = 1;
        int a = 1;

        while (a == 1)
        {
            int lvlup = 10 + (lvl * 40);
            if (exp >= lvlup)
            {
                lvl = lvl + 1;
                exp = 0;

            }
            double maxhp = 50 + (lvl * 5);
            double maxmp = 5 + (lvl);
            double hp = maxhp;
            double mp = maxmp;
            hp = Math.rint (hp);
            double hpbar;
            double mpbar;

            a = 0;
            double monsgen = Math.random () * 10;
            monsgen = Math.round (monsgen);
            String battle = ("battle");


            hpbar = maxhp / hp * 100;
            mpbar = maxmp / mp * 100;


            if (monsgen < 6)
            {


                monsterhp = 90 + (lvl * 10);

                while (battle.equals ("battle")) // misplaced construct
                {


                    c.clear ();
                    c.setColor (Color.red);
                    c.fillRect (2, 0, hpbar, 2);
                    c.setColor (Color.blue);
                    c.fillRect (5, 0, mpbar, 2);
                    c.println ("Lvl: " + lvl);
                    c.setColor (Color.green);
                    c.fillRect (0, 5, )
                        c.print ("Your hp: ");
                    c.setTextColor (Color.red);
                    c.print (hp);
                    c.setTextColor (Color.black);
                    c.print ("                   Monster hp: ");
                    c.setTextColor (Color.red);
                    c.println (monsterhp);
                    c.setTextColor (Color.black);
                    c.print ("Your mp: ");
                    c.setTextColor (Color.blue);
                    c.println (mp);
                    c.setTextColor (Color.black);
                    c.print (exp + " / " + lvlup);
                    c.println ();
                    c.println ();
                    c.print ("Would you like to attack, defend, use magic, or potion? ");
                    String move = c.readLine ();

                    if (move.equals ("attack"))
                    {
                        // you att monster
                        double att = Math.random () * 10 + (lvl * 2);
                        att = Math.rint (att);
                        monsterhp = monsterhp - att;
                        // monster att you
                        double monsatt = Math.random () * 10;
                        monsatt = Math.rint (monsatt) + (lvl / 2);
                        monsatt = Math.rint (monsatt);
                        hp = hp - monsatt;
                        mp = mp + 1;
                        if (mp > maxmp)
                        {
                            double mpdif = mp - maxmp;
                            mp = mp - mpdif;
                        }



                    }
                    else if (move.equals ("defend"))
                    {
                        double monsatt = Math.random () * 10;
                        monsatt = Math.rint (monsatt);
                        monsatt = (monsatt / 2);
                        monsatt = Math.rint (monsatt) + (lvl / 2);
                        monsatt = Math.rint (monsatt);
                        hp = hp - monsatt;



                    }
                    else if (move.equals ("magic"))
                    { // you attack

                        if (mp > maxmp)
                        {
                            double mpdif = mp - maxmp;
                            mp = mp - mpdif;
                        }
                        else if (move.equals ("magic"))
                        { // you attack

                            if (mp > maxmp)
                            {
                                double mpdif = mp - maxmp;
                                mp = mp - mpdif;
                            }
                            if (mp >= 2)
                            {
                                double att = Math.random () * 15 + (lvl * 2);
                                att = Math.rint (att);
                                monsterhp = monsterhp - att;
                                // monster attacks
                                double monsatt = Math.random () * 10;
                                monsatt = Math.rint (monsatt) + (lvl / 2);
                                monsatt = Math.rint (monsatt);
                                hp = hp - monsatt;
                                mp = mp - 3;
                                mp = mp + 1;
                            }
                        }
                    }
                    else if (move.equals ("potion"))
                    {
                        hp = hp + (maxhp * 0.17);
                        if (hp > maxhp)
                        {
                            hp = maxhp;
                        }
                        double monsatt = Math.random () * 10;
                        monsatt = Math.rint (monsatt) + (lvl / 2);
                        monsatt = Math.rint (monsatt);
                        hp = hp - monsatt;
                        mp = mp + 1;
                        if (mp > maxmp)
                        {
                            double mpdif = mp - maxmp;
                            mp = mp - mpdif;
                        }
                    }
                    else if (move.equals ("cheat"))
                    {
                        monsterhp = monsterhp - monsterhp;
                    }
                    if (monsterhp <= 0)
                    {
                        exp = exp + lvl * 5;
                        battle = ("");
                        a = 1;
                        x = x + 1;
                    }
                    else if (hp <= 0)
                    {
                        c.clear ();
                        c.println ("You have died.");
                        c.print ("press anything to close.");
                        String close = c.readLine ();
                        if (close.equals ("close"))
                        {
                            c.close ();
                        }
                        else
                            c.close ();
                    }
                    else if (move.equals ("lvlupcheat"))
                    {
                        lvl = lvl + 9999;
                        c.clear ();
                        c.println ("Lvl: " + lvl);
                        c.print ("Your hp: ");
                        c.setTextColor (Color.red);
                        c.print (hp);
                        c.setTextColor (Color.black);
                        c.print ("                   Monster hp: ");
                        c.setTextColor (Color.red);
                        c.println (monsterhp);
                        c.setTextColor (Color.black);
                        c.print ("Your mp: ");
                        c.setTextColor (Color.blue);
                        c.println (mp);
                        c.setTextColor (Color.black);
                        c.print (exp + " / " + lvlup);
                    }






                }
                else if (monsgen > 5)
                {

                    if (exp >= lvlup)
                    {
                        lvl = lvl + 1;
                        exp = 0;

                    }

                    monsterhp = 40 + (lvl * 10);
                    while (battle.equals ("battle"))
                    {

                        c.clear ();
                        c.println ("Lvl: " + lvl);
                        c.print ("Your hp: ");
                        c.setTextColor (Color.red);
                        c.print (hp);
                        c.setTextColor (Color.black);
                        c.print ("                   Monster hp: ");
                        c.setTextColor (Color.red);
                        c.println (monsterhp);
                        c.setTextColor (Color.black);
                        c.print ("Your mp: ");
                        c.setTextColor (Color.blue);
                        c.println (mp);
                        c.setTextColor (Color.black);
                        c.print (exp + " / " + lvlup);
                        c.println ();
                        c.println ();
                        c.print ("Would you like to attack, defend, use magic, or potion? ");
                        String move = c.readLine ();

                        if (move.equals ("attack"))
                        {
                            // you att monster
                            double att = Math.random () * 10 + (lvl * 2);
                            att = Math.rint (att);
                            monsterhp = monsterhp - att;
                            // monster att you
                            double monsatt = Math.random () * 10;
                            monsatt = Math.rint (monsatt) + (lvl / 2);
                            monsatt = Math.rint (monsatt);
                            hp = hp - monsatt;
                            mp = mp + 1;
                            if (mp > maxmp)
                            {
                                double mpdif = mp - maxmp;
                                mp = mp - mpdif;
                            }



                        }
                        else if (move.equals ("defend"))
                        {
                            double monsatt = Math.random () * 10;
                            monsatt = Math.rint (monsatt);
                            monsatt = (monsatt / 2);
                            monsatt = Math.rint (monsatt) + (lvl / 2);
                            monsatt = Math.rint (monsatt);
                            hp = hp - monsatt;



                        }
                        else if (move.equals ("magic"))
                        { // you attack
                            double att = Math.random () * 15 + (lvl * 2);
                            att = Math.rint (att);
                            monsterhp = monsterhp - att;
                            // monster attacks
                            double monsatt = Math.random () * 10;
                            monsatt = Math.rint (monsatt) + (lvl / 2);
                            monsatt = Math.rint (monsatt);
                            hp = hp - monsatt;
                            mp = mp - 3;
                            mp = mp + 1;
                            if (mp > maxmp)
                            {
                                double mpdif = mp - maxmp;
                                mp = mp - mpdif;
                            }

                        }
                        else if (move.equals ("cheat"))
                        {
                            monsterhp = monsterhp - monsterhp;
                        }
                        if (monsterhp <= 0)
                        {
                            exp = exp + lvl * 3;
                            battle = ("");
                            a = 1;
                            x = x + 1;
                        }
                        else if (move.equals ("potion"))
                        {
                            hp = hp + (maxhp * 0.17);
                            if (hp > maxhp)
                            {
                                hp = maxhp;
                            }
                            double monsatt = Math.random () * 10;
                            monsatt = Math.rint (monsatt) + (lvl / 2);
                            monsatt = Math.rint (monsatt);
                            hp = hp - monsatt;
                            mp = mp + 1;
                            if (mp > maxmp)
                            {
                                double mpdif = mp - maxmp;
                                mp = mp - mpdif;
                            }
                            else if (hp <= 0)
                            {
                                c.clear ();
                                c.println ("You have died.");
                                c.print ("press anything to close.");
                                String close = c.readLine ();
                                if (close.equals ("close"))
                                {
                                    c.close ();
                                }
                                else
                                    c.close ();
                            }

                        }
                        else if (move.equals ("lvlupcheat"))
                        {
                            lvl = lvl + 9999;
                            c.clear ();
                            c.println ("Lvl: " + lvl);
                            c.print ("Your hp: ");
                            c.setTextColor (Color.red);
                            c.print (hp);
                            c.setTextColor (Color.black);
                            c.print ("                   Monster hp: ");
                            c.setTextColor (Color.red);
                            c.println (monsterhp);
                            c.setTextColor (Color.black);
                            c.print ("Your mp: ");
                            c.setTextColor (Color.blue);
                            c.println (mp);
                            c.setTextColor (Color.black);
                            c.print (exp + " / " + lvlup);
                        }
                    }

                }

            }


















           
        } // main method
    } // Rpg class

thanks for any help

Edited by sirlink99: error

0

You have a problem with your brackets. After removing some of the code inside the ifs and the whiles, you have something like this:

while () {

} else if () {

}

Which is wrong. Try from the start and this time try to open-close, and then write the code in between.

0

That kind of worked I changed the

while () {
}
} // put in extra bracket then it gives me an error with the else if
// it dissapears if Put in an if now it looks like this

while (){
}
}
if (mosgen > 5){
}

I still get the while error and I need to change the last } to a ; then I fix one of the two error, but the while still causes an error.

Thanks for the help

0

You need to look again the whole code: This is wrong, as you know

while () {

}
} // this is an extra bracket

This would work:

if () {
  while () {

  }
}

You need to look the code. Better begin with a new class, and start adding slowly code to it from the previous one, and compile regularly in order to find what you added was wrong.

0

You need to look again the whole code: This is wrong, as you know

while () {

}
} // this is an extra bracket

This would work:

if () {
  while () {

  }
}

You need to look the code. Better begin with a new class, and start adding slowly code to it from the previous one, and compile regularly in order to find what you added was wrong.

I fixed the error using the new class and copy and paste method. Thanks for the help.

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.