Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Gra kolko i krzyzyk


Rekomendowane odpowiedzi

Opublikowano

Witam, ostatnio zaczalem sie uczyc programowania i postanowilem ze zrobie gre kolko i krzyzyk.

po paru godzinach udalo sie zrobic w miare prosty projekt, ale niewiem jak zrobic logike.

 

 

 

#include "stdafx.h"

#include <iostream>

#include <windows.h>

#include <cstdlib>

#include <string>

#include <time.h>



int tab[3][3];

int x;

int y;

int poziom;

int h;

using namespace std;



int main()

{

    srand(time(NULL));

    cout << "Witaj w grze kolko i krzyzyk" << endl;

    Sleep(200);

    cout << "Podaj Y i X liczenie pol zaczyna sie od 0" << endl;

    Sleep(500);

    cout << "1 = krzyzyk" << endl;

    cout << "2 = kolko" << endl;

    Sleep(300);

    cout << "Wybierz poziom trudnosci" << endl;

    cout << "0 = EASY" << endl;

    cout << "1 = HARD" << endl;

    cin >> poziom;

    system("cls");

if (poziom == 0)

{

    for (int g = 0; g < 500000; g++)

    {

        system("cls");

        for (int i = 0; i < 3; ++i)

        {

            for (int j = 0; j < 3; ++j)

                cout << tab[i][j] << " ";

            cout << "\n";

        }



        g++;

        cin >> y;

        cin >> x;

        tab[y][x] = 1;

        int liczba1 = (rand() % 3);

        int liczba2 = (rand() % 3);

        while (tab[liczba1][liczba2] == 2);

        {

        miejsce_skoku:

            liczba1 = (rand() % 3);

            liczba2 = (rand() % 3);

            if (tab[liczba1][liczba2] == 0)

            {

                tab[liczba1][liczba2] = 2;

            }

            else if (tab[liczba1][liczba2] == 1)

            {

                goto miejsce_skoku;

            }

        }

    }

}

/* Nie widze sensu pisania tego w ten sposob bo zajmie mi to z miesiac

else

{

    for (int h = 0; h < 500000; h++)

    {

        system("cls");

        for (int i = 0; i < 3; ++i)

        {

            for (int j = 0; j < 3; ++j)

                cout << tab[i][j] << " ";

            cout << "\n";

        }



        h++;

        cin >> y;

        cin >> x;

        tab[y][x] = 1;

        if (tab[0][0] = 1)

        {

            tab[1][1] = 2;

        }



        if ((tab[0][0]) && (tab[0][1]))

        {

            tab[0][2] = 2;

        }



        if (((tab[0][0]) && (tab[0][1]) && (tab[1][0])))

        {

            tab[2][0] = 2;

        };







        if (tab[0][0] = 1)

        {

            tab[1][1] = 2;

        }



        if ((tab[0][0]) && (tab[0][1]))

        {

            tab[0][2] = 2;

        }



        if (((tab[0][0]) && (tab[0][1]) && (tab[1][2])))

        {

            tab[2][0] = 2;

        };







        if (tab[0][0] = 1)

        {

            tab[1][1] = 2;

        }



        if ((tab[0][0]) && (tab[0][1]))

        {

            tab[0][2] = 2;

        }



        if (((tab[0][0]) && (tab[0][1]) && (tab[2][2])))

        {

            tab[2][0] = 2;

        };









        if (tab[0][0] = 1)

        {

            tab[1][1] = 2;

        }



        if ((tab[0][0]) && (tab[0][1]))

        {

            tab[0][2] = 2;

        }



        if (((tab[0][0]) && (tab[0][1]) && (tab[2][1])))

        {

            tab[2][0] = 2;

        };









        if (tab[0][0] = 1)

        {

            tab[1][1] = 2;

        }



        if ((tab[0][0]) && (tab[0][1]))

        {

            tab[0][2] = 2;

        }



        if (((tab[0][0]) && (tab[0][1]) && (tab[2][0])))

        {

            tab[1][0] = 2;

        }



        if ((((tab[0][0]) && (tab[0][1]) && (tab[2][0]) && (tab[2][1]))))

        {

            tab[1][2] = 2;

        };









        if (tab[0][0] = 1)

        {

            tab[1][1] = 2;

        }



        if ((tab[0][0]) && (tab[0][1]))

        {

            tab[0][2] = 2;

        }



        if (((tab[0][0]) && (tab[0][1]) && (tab[2][0])))

        {

            tab[1][0] = 2;

        }



        if ((((tab[0][0]) && (tab[0][1]) && (tab[2][0]) && (tab[2][2]))))

        {

            tab[1][2] = 2;

        };









        if (tab[0][0] = 1)

        {

            tab[1][1] = 2;

        }



        if ((tab[0][0]) && (tab[0][1]))

        {

            tab[0][2] = 2;

        }



        if (((tab[0][0]) && (tab[0][1]) && (tab[2][0])))

        {

            tab[1][0] = 2;

        }



        if ((((tab[0][0]) && (tab[0][1]) && (tab[2][0]) && tab[1][2]))))

        {

            tab[2][1] = 2;

        };



        }

    }*/

            system("pause");

            return 0;

}
 

 

 

 

 

Znalazlem jedno metode tylko nie widze sensu jej uzywac, bo zanim wypisze wszystkie mozliwe kombinacje minie rok

Opublikowano

jezeli chcesz zrobić jakąś inteligencje dla przeciwnika to

1) możesz losować pola

2) googluj: minimax

 

jeżeli nie o to chodzi to nic innego nie wywnioskowałem, następnym razem daj kod na pastebina.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...