Jump to content

Archived

This topic is now archived and is closed to further replies.

son91

Kółko i krzyżyk w C++

Recommended Posts

Heja, mam zgryza. Otóż chcę się zabrać za gierkę kółko i krzyżyk w C++ a za cholerę nie wiem jak to ugryźć... ma ktoś może jakieś większe doświadczenie i jest skłonny by mi pomóc? Byłbym wdzięczny... :)

Link to comment
Share on other sites

int main()
{
   int player = 1;
   int level[9];
  
   ResetLevel(level); //set all elements to zero

   while (1)
   {
      DrawLevel(level);       //draw level
      DrawPlayer(player);   //draw some info about player turn


      int field = GetInput();  //get selected element index
      level[field] = player;   //set element to player

      if (true == CheckWinCondition(level))  //check if player wins
      {
          DrawWinner(player, level);   //draw which player has won and why
          GetInput();  //wait for input

      //reset game state
          ResetLevel(level);
          player = 1;
      }
      else // no winner yet, so change player
      {
          if (1 == player)
            player = 2;
          else
            player = 1;
      }
   }
}

Link to comment
Share on other sites

Oczekujesz, że ktoś Ci to w klasach rozpisze? Mormegil zaproponował jedno z rozwiązań. Pomyśl chwilę jak to obiektowo zaprojektować, jak będziesz miał jakiś pomyśl lub problemy w implementacji, to się zgłoś, na pewno znajdzie się ktoś, kto pomoże. Jak oczekujesz, że ktoś wypluje tutaj działający kod, bez Twojego udziału, to się możesz zdziwić.

Pomijam fakt, że na sieci jest od groma rozwiązań tego problemu, największą trudnością może być znajomość przekładu "kółko i krzyżyk" na angielski :P

Link to comment
Share on other sites

tyle że to muszę mieć na klasach...
Co to w ogóle znaczy na klasach?

Może zamiast funkcji ResetLevel, DrawLevel itd. zrób klasy z operatorem (). Tworzysz sobie instancje obiektów o takich nazwach i wywołujesz tak jak funkcje :)

class CResetLevel
{
public:
   void operator (int * level);
};

int main()
{
   int level[9];
   CResetLevel ResetLevel;

...

   ResetLevel(level);

...
}

Link to comment
Share on other sites



  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...