Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 7 odgovora
  • 3.697 pregleda

Najnovija ↓

Kod jednostavne igrice 29.01.2010. u 14:34 · pre 204 meseca
izmenjeno 2 puta, poslednji put Pwnage 29.01.2010. u 16:51
  1. Pwnage29.01.2010. u 16:51zapis iz teksta poruke
  2. Mihajlo Cvetanović29.01.2010. u 15:13zapis iz teksta poruke
#1
Uglavnom igrica treba biti da se odozgore spustaju kvadratici tkz. bombeu rpogramu , a da se dole kvadratic izmice...
Nekuzim zasto nece , po meni cijeli kod valja...

Code:
#include <cstdlib>
#include <iostream>
#include <winbgim.h>
#include <ctime>


using namespace std;

class objekt
{
  private:
  int x;  
  char kretanje;
  public:
     objekt()
     {
        x=290;
     }
     void pomak(char);
     void crtaj();
  };
   void objekt::pomak(char tipka)
    {
        kretanje=tipka;
        if(kretanje==75)
        {
          setcolor(WHITE);
          rectangle(x,432,x+60,438);
          setcolor(BLACK);
          x=x-5;    
         }
        if(kretanje==77)
        {
          setcolor(WHITE);
          rectangle(x,432,x+60,438);
          setcolor(BLACK);
          x=x+5;
          }
    }
     void objekt::crtaj() 
     {
      rectangle(x,432,x+60,438);
     }             
   class bomba
   {
    private:
         int x,y;
    public:
     bomba()
     {        
       x=(static_cast<float>(rand())/RAND_MAX)*620;
       y=-((static_cast<float>(rand())/RAND_MAX)*480);
     }
     void crtanje();
     void brisanje();
 };
void bomba::crtanje()
 {
     rectangle(x,y,(x+20),(y+5));
 }    
 void bomba::brisanje()
 {
      setcolor(WHITE);
      rectangle(x,y,(x+20),(y+5));
      setcolor(BLACK);
      y=y+5;  
      if(y>490)
      {
               y=-((static_cast<float>(rand())/RAND_MAX)*480);
               x=(static_cast<float>(rand())/RAND_MAX)*620;
      }
  }
  int main()
  {
      int gdriver=9;
      int gmode=2;
      initgraph(&gdriver,&gmode,"");
      setbkcolor(WHITE);
      setcolor(BLACK);
      cleardevice();
      
      char odgovor='d';
      srand(time(NULL));
      bomba bomba1,bomba2,bomba3;
      objekt brod;
      brod.crtaj();
      
      do
      {
           bomba1.brisanje();
           bomba2.brisanje();
           bomba3.brisanje();
           bomba1.crtanje();
           bomba2.crtanje();
           bomba3.crtanje();
           
           delay(100);
           
       if(kbhit())
       {
                  odgovor=getch();
                  
                  brod.pomak(odgovor);
       }               
        brod.crtaj();
       }
       while(odgovor!='k');
  return 0;
}


podijelim ja klase na dijelove i to ali ovako se cijeli vidi... Nekuzim kjoi dio mi promice....
Re: Kod jednostavne igrice 29.01.2010. u 15:36 · pre 204 meseca #3
dobijem samo pravokutnik kojim mogu ici lijevo desno , navode "bombe"(kvadratici/pravokutnici) se nespustaju odozgo prema dole , pokreni program pa ces vidit...
Re: Kod jednostavne igrice 29.01.2010. u 15:50 · pre 204 meseca #4
Nemam na čemu da pokrenem. Moj Microsoft Visual C++ 2003 nema funkcije initgraph, cleardevice, rectangle, setcolor, setbkcolor.

Uzgred, u konstruktoru bombe članica y dobija negativnu vrednost, a treba pozitivnu. Takođe, u funkciji bomba::brisanje ispituješ da li je y<490, a treba >. Takođe, u istoj funkciji setcolor je valjda višak, jer želiš da obrišeš pravougaonik, a ne da ga nacrtaš.
Re: Kod jednostavne igrice 29.01.2010. u 17:05 · pre 204 meseca
izmenjeno 1 put, poslednji put Pwnage 29.01.2010. u 17:33
  1. Pwnage29.01.2010. u 17:33zapis iz teksta poruke
#5
Yep </> sam zeznio kod if nisam ni skuzio , thx bro... Treba setclolor , nije višak bez njega ostaje kao duplo izgleda , ovako ga stavlja u bijelo i nevidi se dupli...

Sad sam taman na zavšetku ove knjige iz koje ucim , velicinom smo ucili sve sto je u tom programu pa je to jedan veliki mix(normalno i naredbe druge kao sto je switch...)...

btw. kako bi mogao napravi neko odbrojavanje? kao od 100 do 0 ili obrnuto to nigdje nije bilo nesto takvo...
i imas neku preporuku za neku knjigu zeljan sam ucenja , nabavio sam jos jednu e-book i tu cu procitat ima samo oko 100 stranica , ova je imama oko 306...

da i promijenio sam kod u oprginalu btw
Re: Kod jednostavne igrice 29.01.2010. u 17:29 · pre 204 meseca #6
Hmm, menjao si kod u originalnom tekstu (vratio na staro, sa samo promenjenim znakom >), i pokvario ono što sam ja promenio. Baš sam ti lepo bio nazubio kod, a vidi ga sad :-).

Jedna stvar mi nije jasna. Pozadina je bela, bombe su crne, ali pravougaonik koga igrač pomera je opet beo. Kako se onda vidi?

Ne mogu da ti pomognem za odbrojavanje, sad idem s posla kući, a tamo mi je pokvaren kompjuter.
Re: Kod jednostavne igrice 29.01.2010. u 17:35 · pre 204 meseca #7
sry nisam ni vidio da si mijenjao...pozadina bijela,bombe crne i pravokutnik kojeg igrac pomjera je crn...
Re: Kod jednostavne igrice 21.03.2010. u 10:09 · pre 202 meseca #8
Stvarno ne znam zasto ne radi, sve mi deluje ok sem tog minusa u konstruktoru klase bomba i u metodi brisanje.
Ja sam radio nesto s odbrojavanjem, mogu ti dati ideju kako to da realizujes.
Vidim da imas delay(100), ne bih ti savetovao da koristis delay() jer ti onda na to vreme ubijas tastaturu, tj korisnik ne moze da odgovori.
Ja sam to radio ovako:
Nadji f-ju koja ti vraca sistemsko vreme, i u svakom prolazu while petlje ponovo iscitas sistemsko vreme i oduzmes staro od novog i onda vidis koliko je vremena proslo, ako je proslo onoliko koliko tebi treba onda npr pomeris bombu na dole, ili smanjis neki brojas koji ce ti sluziti za odbrojavanje, ili oba.
A sto se tice bombi, pa vidi koje su ti granice ekrana, mozda ih iscrtava negde "van" ekrana, probaj sa debugerom da nadjes problem.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme