Gra w statki – dodanie możliwości oddawania strzałów

0
#include <iostream>
#include <cmath>
#include <cstdlib>

using namespace std;

char tab[10][10]=
{
    {'.','.','.','.','.','.','.','.','.','.'},
    {'.','.','.','.','.','.','.','.','.','.'},
    {'.','.','.','.','.','.','.','.','.','.'},
    {'.','.','.','.','.','.','.','.','.','.'},
    {'.','.','.','.','.','.','.','.','.','.'},
    {'.','.','.','.','.','.','.','.','.','.'},
    {'.','.','.','.','.','.','.','.','.','.'},
    {'.','.','.','.','.','.','.','.','.','.'},
    {'.','.','.','.','.','.','.','.','.','.'},
    {'.','.','.','.','.','.','.','.','.','.'},
};
void WyswietlPlansze()
{
    system ("cls");
            cout << " ";
for (int i=1; i<=10; i++) cout << i << " ";
            cout << endl;
for (int i=1; i<10; i++)
    {
            cout << i+1 << " ";
        if (i<9) cout << " ";
    for (int j=1; j<10; j++)
        if (tab[i][j]=='x') cout << ". ";
        else cout << tab[i][j] << " ";
             cout << endl;
    }
}
int main()
{
    WyswietlPlansze();
    int x,y;
}

Muszę napisać program w ktorym beda nadane przeze mnie w kodzie miejsca statków a w programie uzytkownik bedzie wybieral wiersz i kolumne do strzalu gdzie w miejscu pudla bedzie wyswietlac "o" a w miejscu trafionego strzału "x" na razie mam tyle i nwm co dalej haha

0

Zmieniaj po prsotu odpowiednią kropkę na x w tablicy i ją wyświetlaj?

0

ale jak to zrobic? moglbys mi napisac funkcje na wybor przez uzytkownika pola i zmiane?

ale ten x ma byc widoczny dopiero po strzale

0

bool Fireeeee()
{unsigned int y,x;
cout<<"Podaj proszę pozycję strzału: ";cin>>y>>x;
if((x>tabXsize)||(y>tabYsize)){cout<<"Bledne wspolzedne!";return true;}
tab[y][x] = 'X';
return false;
}

while(Fireeeeeeeeeee()){}

lel tak na odpierdziel xD

  1. pobierz od gracza współrzędne strzału w statki gra się tak że np. B3 albo F7 itp.
    literkę na liczbę możesz zamienić poprzez odjęcie od chara 65(duze) lub 97(małe) wtedy wyjdzie ci 0 dla literki A/a

  2. sprawdź czy strzał nie będzie oddany poza planszę - w takim wypadku należy pobrać jeszcze raz współrzędne

  3. zrób sobie tablicę tab[2][10][10]
    [0][y][x] = tablica gracza
    [1][y][x] = tablica komputera
    w miejscach Y X ofc. odpowiednie wspolrzędne na planszy

jeśl iejst tura gracza to sprawdzaj tablice komputera czyli ta z id 1 jesli jest tura komputera jest trudniej
bo musisz powtarzać strzał aż komputer wybierze pole w które jeszcze nie strzelał a takie rzeczy sprawdzasz na tablicy gracza

dane na tablice mogą być np. takie:
0 = dla pustego pola
1 = dla trafionego już pola bez statku
2 = dla trafionego już pola ze statkiem
3 = dla nietrafionego pola ze statkiem

w ten sposób łatwo oznaczyć na tablicy co zostało trafione gdzie są statki komputera itp.

postaraj się narysować jedną tablicę obok drugiej tak aby nie była jedna pod drugą, fajnie jakbyś też nie używał
funkcji do przestawienia kursora konsoli bo to strata czasu da się to zrobić sprytniej, pokombinuj :)

nie ma sensu TWORZYĆ grę samemu przez kogoś innego :P
powiedz po prostu "chcę aby ktoś mi zrobił grę w statki w konsoli" albo zadaj pytanie i walcz sam o odpowiedź a nie

" le jak to zrobic? moglbys mi napisac funkcje na wybor przez uzytkownika pola i zmiane?
ale ten x ma byc widoczny dopiero po strzale"

nie umiem wklejać cytatów na tym forum :)...

//Edit:
dawno nie pisałem w C++ :(
jeśli mi się nie znudzi dam ci mój program jeśli mi się znudzi dam ci częściowo napisany mój program :P

1 użytkowników online, w tym zalogowanych: 0, gości: 1