Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

c++ Konsola , kolizje gracza i poziom

Ostatnio zmodyfikowano 2012-06-02 22:40
Autor Wiadomość
KiwiWojtas
Temat założony przez niniejszego użytkownika
c++ Konsola , kolizje gracza i poziom
» 2012-06-01 20:04:15
Witam serdecznie.
Piszę właśnie grę typu "labirynt" i natknąłem się na dwa problemy. Mianowicie nie wiem jak zrobić kolizje gracza z murem tak aby ten uniemożliwił przejście prze niego. Oraz nie wiem jak zrobić wyświetlanie labiryntu z pliku tekstowego. W internecie znalazłem kod poruszania się i wszystko rozumiem oprócz jednej funkcji mianowicie int main(int argc, char *argv[]). Jeśli byście mi mogli pomóc byłbym bardzo wdzięczny.
P-57629
m4tx
» 2012-06-01 20:13:11
jak zrobić kolizje gracza z murem
Frazy, które należy wpisać w wyszukiwarkę google:

wyświetlanie labiryntu z pliku tekstowego
» Kurs C++Obsługa plików lekcja

wszystko rozumiem oprócz jednej funkcji mianowicie int main(int argc, char *argv[])
Co? Ty w ogóle napisałeś cokolwiek kiedykolwiek w C++?...
» KursyKurs C++ kurs
P-57631
KiwiWojtas
Temat założony przez niniejszego użytkownika
» 2012-06-01 20:30:44
Dobra dzięki za pomoc a co do tego ostatniego to rozumiem int main tylko niezbyt rozumiem tego co jest w nawiasie.
Napisałem w c++ prosty kalkulator jak już o to pytasz.
P-57633
xevuel
» 2012-06-01 20:38:23
To są argumenty, które przekazujesz przy uruchamianiu programu. Czyli jak otworzysz cmd, wpiszesz
nazwa_twojego_programu.exe przykladowy_parametr abc726
, to argv[0] będzie wynosić nazwa_twojego_programu.exe, argv[1] będzie równe przykladowy_parametr, a argv[2] abc726. argc to rozmiar tablicy argv.

Przykładowo: Chcesz otworzyć plik podany przez użytkownika. Piszesz kod:
C/C++
int main( int argc, char * argv[] )
{
    otworz_plik( argv[ 1 ] );
    return 0;
}
I teraz po wrzuceniu na ikonę twojego programu jakiegoś pliku; kliknięciu "Otwórz za pomocą" i wybraniu twojego programu; czy też uruchomieniu z konsoli
program.exe file.txt
, twój program otworzy go za pomocą funkcji otworz_plik. Oczywiście pasowałoby jeszcze sprawdzić, czy w ogóle użytkownik podał jakiś plik.
P-57637
KiwiWojtas
Temat założony przez niniejszego użytkownika
» 2012-06-01 21:53:28
Jeśli można by było to poproszę przykład takiej kolizji w konsoli bo to co znalazłem nie jest na konsole.
P-57647
Sparrow-hawk
» 2012-06-01 22:53:41
Proponowałbym zadeklarować strukturę zawierającą dwie zmienne typu int, określające pozycję X,Y. Następnie vector (Na początek o stałym rozmiarze), np 64 pola typu char. Zakładam, że mapa zbudowana jest z gwiazdek, które oznaczają ściany. Kolizję wykryłbym w takim przypadku np. tak:

C/C++
#include<vector>
#include<iostream>

using namespace std;

struct pozycja
{
    int X;
    int Y;
};

vector < char > mapa( 64 );

bool kolizja( pozycja & _poz )
{
    for( unsigned int i = 0; i < 64; i++ )
    {
        if( mapa[ _poz.X + 8 * _poz.Y ] == '*' ) return 1;
       
    }
    return 0;
}
P-57661
KiwiWojtas
Temat założony przez niniejszego użytkownika
» 2012-06-02 09:32:05
Niestety nie działa.
P-57672
Sparrow-hawk
» 2012-06-02 11:01:18
Ale co to znaczy, że nie działa? Może pokażesz swój kod tej gry?
P-57677
« 1 » 2
  Strona 1 z 2 Następna strona