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
» 2012-06-02 11:46:44
Od razu uprzedzam ,że kod nie jest mój :P Pochodzi on z http://forum.pcformat.pl/C-Poruszanie-obiektem-po-konsoli-t


#include <cstdlib>
#include <iostream>
#include <conio.h>
// conio.h bo tam jest funkcja getch() ktora nie wymaga wcisniecia ENTER`a po wlasciwym klawiszu

using namespace std;

int ile_wierszy = 20;  // maksymalna ilosc wierszy
int ile_kolumn = 20;   // maksymalna ilosc kolumn

int ktory_wiersz;      // aktualna pozycja dla wiersza
int ktora_kolumna;     // aktualna pozycja dla kolumn

void pokaz_ekran(int wiersz, int kolumna)
// funkcja wyswietlajaca caly "wirtualny" ekran
{
  system("CLS");
  for (int i=1;i<=ile_wierszy;i++)
  {
      for (int j=1;j<=ile_kolumn;j++)
      {
          if ((i==wiersz)&&(j==kolumna))
          {
             cout << "@";
          }
          else
          {
             cout << " ";
          }                           
      }
      cout << endl;
  }
}

int main(int argc, char *argv[])
{
    ktory_wiersz = 10;    // stan poczatkowy
    ktora_kolumna = 10;   // stan poczatkowy
   
    pokaz_ekran(ktory_wiersz,ktora_kolumna);
   
    int znak;
    znak = 0;
    while ((znak=getch())!=27)  // wykonuj dopoki nie nacisnieto ESC
    {
          switch (znak)
          {
          case 77 :   // w prawo
                     ktora_kolumna++;
                     if (ktora_kolumna>ile_kolumn)
                     {
                       ktora_kolumna = 1;
                     }
                     break;
          case 75 :   // w lewo
                     ktora_kolumna--;
                     if (ktora_kolumna<1)
                     {
                       ktora_kolumna = ile_kolumn;
                     }
                     break;
          case 72 :   // do gory
                     ktory_wiersz--;
                     if (ktory_wiersz<1)
                     {
                       ktory_wiersz = ile_wierszy;
                     }
                     break;
          case 80 :   // w dol
                     ktory_wiersz++;
                     if (ktory_wiersz>ile_wierszy)
                     {
                       ktory_wiersz = 1;
                     }
                     break;
          }

       pokaz_ekran(ktory_wiersz,ktora_kolumna);

    }
    system("PAUSE");
    return EXIT_SUCCESS;
}
P-57684
Sparrow-hawk
» 2012-06-02 12:12:48
Jeżeli tu jest cały kod, to gdzie wczytywana jest mapa z pliku? Po za tym proponowałem zacząć od mapy składającej się z 64 pól, a tu jest obszar wielkości 400 pól. Jak w programie, w którym nie ma mapy program ma wykrywać kolizję z "obiektem", którego nie ma?
P-57688
KiwiWojtas
Temat założony przez niniejszego użytkownika
» 2012-06-02 12:30:38
Wybacz już zrobiłem na 64 pól :P Jakbyś mógł mi wytłumaczyć jak zrobić nowy obiekt ? Naprawdę nie wiem jak operować na takich programach. Oraz jak wczytywać mapę z pliku. Rozumiem ,że proszę o zbyt wiele ale naprawdę mi na tym zależy.
P-57689
m4tx
» 2012-06-02 12:36:39
jak zrobić nowy obiekt ? [...] Oraz jak wczytywać mapę z pliku.
» KursyKurs C++ kurs :)
P-57690
KiwiWojtas
Temat założony przez niniejszego użytkownika
» 2012-06-02 12:45:36
No szukałem na waszej stronie kursu odnośnie wczytywania z pliku ale nie bardzo rozumiem tych waszych poradników. Może ktoś wytłumaczyłby mi prościej ?
P-57691
SeaMonster131
» 2012-06-02 22:40:21
» Kurs C++Obsługa plików lekcja - na samym końcu nawet przykład masz..
P-57718
1 « 2 »
Poprzednia strona Strona 2 z 2