Odświeżanie tablicy - warcaby.
Ostatnio zmodyfikowano 2019-01-02 19:46
kotlin Temat założony przez niniejszego użytkownika |
» 2018-12-31 11:10:32 Chodziło mi o lekcje w szkole jakie miałem, ale już nie ważne. Uruchomiłem program, który sam przed chwilą wysłałem, ale już bez plansza[ 8 ][ 8 ] przed tablicą, którą miałem dopisać i teraz wszystko jest w porządku. Ruch białego i czarnego pionka widać w konsoli na planszy. Teraz pytania. 1. Czy korzystanie z funkcji w tym wypadku jest konieczne? 2. Czy nie wystarczy, że teraz te wszystkie pętle do...while wrzucę do jakiejś jednej pętli? |
|
kotlin Temat założony przez niniejszego użytkownika |
» 2018-12-31 12:50:34 Teraz zauważyłem, że nie wszystko jest w porządku. Widać ruchu dwóch pionków, ale w miejsce przesuniętego wskoczył nowy pionek. Pytanie 1 dalej aktualne. |
|
pekfos |
» 2018-12-31 13:33:21 1. Funkcje to ułatwienie. Jak skopiujesz jakiś kod N razy, to nie licz że ktoś będzie sprawdzać czy wszystkie wystąpienia są takie same i poprawne w danym kontekście. Bez funkcji też możesz usunąć powtórzenia, jeśli nie będziesz mieć osobnego kodu dla ruchu białych i dla czarnych, tylko jeden kod dla ruchu gracza X, gdzie X jest licznikiem modulo 2. Wszystkie różnice między czarnymi i białymi możesz zapisać w warunkach, lub dwuelementowych tablicach. 2. Może. Jeśli nie zadziała, podaj kod. Najlepiej po wyeliminowaniu powtórzeń w kodzie. |
|
kotlin Temat założony przez niniejszego użytkownika |
» 2019-01-02 16:11:12 Teraz kolejne pytanie. Jak umieścić tablicę dwuwymiarową w funkcji, by potem móc ją wywołać? |
|
pekfos |
» 2019-01-02 17:07:01 Przekazuj do funkcji jako argument? |
|
kotlin Temat założony przez niniejszego użytkownika |
» 2019-01-02 19:44:48 Wciąż coś nie tak u mnie z tymi funkcjami. Nie wiem o co dokładnie chodzi. To treść błędu: "Subscripted value is not an array, pointer, or vector". Oto moje funkcja. #include <iostream> #include <cstdlib>
char tablica; using namespace std;
void wczytaj( char tablica ) { char plansza[ 8 ][ 8 ]; for( int i = 0; i < 8; i++ ) { for( int j = 0; j < 8; j++ ) { plansza[ i ][ j ] = 0; if( i < 3 && i % 2 == 0 && j % 2 == 1 ) { plansza[ i ][ j ] = 1; } else if( i < 3 && i % 2 == 1 && j % 2 == 0 ) { plansza[ i ][ j ] = 1; } else if( 4 < i && i % 2 == 0 && j % 2 == 1 ) { plansza[ i ][ j ] = 2; } else if( 4 < i && i % 2 == 1 && j % 2 == 0 ) { plansza[ i ][ j ] = 2; } } } for( int i = 0; i < 8; i++ ) { cout << "+---+---+---+---+---+---+---+---+" << endl; for( int j = 0; j < 8; j++ ) { if( plansza[ i ][ j ] == 1 ) { cout << "| C "; } if( plansza[ i ][ j ] == 2 ) { cout << "| B "; } if( plansza[ i ][ j ] == 0 ) { cout << "| "; } } cout << "|"; cout << endl; int staryRzad, staraKol, nowyRzad, nowaKol, ObecnyPio; plansza[ staryRzad ][ staraKol ] = 0; plansza[ nowyRzad ][ nowaKol ] = ObecnyPio; } cout << "+---+---+---+---+---+---+---+---+" << endl; } int main( int argc, char * argv[] ) { wczytaj( tablica );
A błędy wyskakują mi w takich miejscach. ObecnyPio = tablica[ staryRzad ][ staraKol ];
|
|
pekfos |
» 2019-01-02 19:46:53 |
|
1 « 2 » |