Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C++: Apua tekstipohjaisen "tappelupelin" kanssa

Angelfish [25.07.2002 21:13:12]

#

Rupesin tekemään pientä tappelupelin tapaista väkerrystä dossille c++:lla. Pelissä asetetaan ensin pelaajien HP hyökkäys ja puolustus pisteet, jonka jälkeen peli automaattisesti laskee kumpi voittaa jne.
Tässä on pätkä tähän mennessä tekemästäni koodista siltä varalta että sitä tarvitaan:

class Player {
public:
    int hp;
    int attackpower;
    int defense;

    void attack (Player& target)
    {
        if(attackpower > target.defense)
        {
        target.hp = target.hp - (attackpower - target.defense);
        }
    }
};

  Player player1;
  Player player2;

int main()
{

  setplayer_hp();
  setplayer_attackpower();
  setplayer_defense();

  while (player1.hp > 0 && player2.hp > 0)
  {
    cout << "Player one is attacking\n";
    player1.attack(player2);
    cout<<"player 2 hp is now: "<<player2.hp<<"\n";
    getch();
    if (player2.hp <= 0)
    {
      cout << "Player One Wins!!\n";
      break;
    }
    else
    {
    cout << "Player two is attacking\n";
    player2.attack(player1);
    cout<<"player 1 hp is now: "<<player1.hp<<"\n";
    getch();
    if (!player1.hp > 0)
    {
    cout << "Player 2 wins\n";
    break;
    }
  }
}
  system("PAUSE");
  return 0;
}

Tämä toimii jotenkuten, mutta haluaisin siihen sellaisen lisäyksen, että jokaisen "vuoron" alkaessa peli kysyy pelaajalta mitä liikettä hän haluaa käyttää, sen sijaan että alussa asetetaan pelaajalle hyökkäyspisteet. Eri pelaajilla pitäisi olla eri liikkeet, joiden ominaisuudet, siis niiden aiheuttama vahinko ja liikkeen nimi jne. pitäisi säilöä johonkin niin, että kaikkiliikkeet voitaisiin sitten listata pelaajalle, joka voisi valita niistä haluamansa. Itse ajattelin jonkinlaista luokilla tai taulukoilla tehtävää ratkaisua, mutta olin niin laiska, että päätin tulla kysymään neuvoa.
Toivottavasti saitte selvää selostuksista. :)

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta