Pomoc oko C ( igre u 2d)

1

Pomoc oko C ( igre u 2d)

offline
  • Student by day. Hacker by night
  • Pridružio: 11 Maj 2014
  • Poruke: 189
  • Gde živiš: 192.168.0.1

Pozdrav, naime dobio sam na faksu C. Susretao se sa njim, ali ne toliko ozbiljno bar ne za mene ozbiljno.
Dao nam je profesor da napisemo program igricu. Gde ce karakter moci da puca, da se krece dijagonalno, da ima neprijatelje, da imam rezultat ( samim tim i da postoji i pobednik u igrici), da imam prepreke, nesto kao da vidimo samo po jedno polje ispred sebe.
Ja sam odradio koliko sam mogao.

Ne znam kako da odradim tacno.
- da neprijatelje redovno baca 5 po mapi ( non stop da imam 5 neprijatelja po mapi )
- da mogu da pucam pritiskom na space
- da napravim bonuse po mapi da ih sakupim, i odma cim ih skupim da npr bude ako skupim 100 ja sam pobednik.
- i da ne vidim sebe od jednog polja.
Pokusavao sam dosta, ali sve nesto bezuspesno.
Ostavicu kod, pa ako neko moze da mi pomogne, ne da uradi, posto treba da znam zasto je to tako, i zasto tako ide.

Hvala unapred Smile

#include <stdio.h> #include <stdlib.h> #include <time.h> #define ROWS 9 #define COLS 9 int main() {     //generisanje nasumicne pozicije karaktera (random)     srand(time(NULL));     int posx = rand() % 8 +1;     int posy = rand() % 8 +1;     int matrix [ROWS][COLS];     int move;     //pozivanje funkcije     board(matrix,posx,posy);     //prepoznavnje pomeranjau odredjenu stranu     printf("Enter movement 4-left, 6- right,8-top,2-bottom: ");     while(1)     {         scanf("%d",&move);         if(move == 4)         {             posy = posy -1;             if(posy < 0)                 posy = COLS-1;             system("cls");             board(matrix,posx,posy);         }         if(move == 6)         {            posy = posy +1;             if(posy > COLS-1)                 posy = 0;             system("cls");             board(matrix,posx,posy);         }         if(move == 2)         {             posx = posx + 1;             if(posx > ROWS-1)                 posx = 0;             system("cls");             board(matrix,posx,posy);         }         if(move == 8)         {             posx = posx -1;             if(posx < 0)                 posx = ROWS-1;             system("cls");             board(matrix,posx,posy);         }         //dijagonalno pomeranje dole desno,         if(move == 3)         {             posx = posx +1;             posy = posy +1;             if(posx > COLS-1 && posy > ROWS-1)             {                 posx = 0;                 //treba preracunati posy                 //posy =             }             system("cls");             board(matrix,posx,posy);         }         //pomeranje dijagonalno gore-levo         if(move == 7)         {             posx = posx -1;             posy = posy -1;             system("cls");             board(matrix,posx,posy);             //treba if da proverava da li se karakter nalazi na granici         }         //pomeranje dijagonalno gore-desno         if(move == 9)         {             posx = posx -1;             posy = posy +1;             system("cls");             board(matrix,posx,posy);             //treba if da se proverava da li se karatker nalazi na granici         }         //pomeranje dijagonalno dole-levo         if(move == 0)         {             posx = posx + 1;             posy = posy -1;             system("cls");             board(matrix,posx,posy);             //treba if da se proveri da li se karakter nalazi na granici         }     }     return 0; } //funkcija generisanja mape void board(int(arr)[COLS],int posx,int posy) {     int NoEnemy = 5;     int enemyX,enemyY;     int i, j;     for (i = 0; i < ROWS; i++)     {         for (j = 0; j < COLS; j++)         {             if(i <= NoEnemy)             {                 enemyX = rand() % 9 +1;                 enemyY = rand() % 9 +1;             }             if(enemyX == i && enemyY ==j)             {                 printf("O\t");             }             else if(i == posx && posy == j)             {                 printf("X\t");             }else{                 printf("-\t");             }         }         arr++;         printf("\n");     } }



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Srđan Tot
  • Am I evil? I am man, yes I am.
  • Pridružio: 12 Jul 2005
  • Poruke: 2483
  • Gde živiš: Ljubljana

Pošto vidim da spominješ neko pucanje na space, moram samo da pitam da li tebi treba real time ili turn based igra?



offline
  • Student by day. Hacker by night
  • Pridružio: 11 Maj 2014
  • Poruke: 189
  • Gde živiš: 192.168.0.1

Real time treba da bude. Ne pise nigde, video je kako sam poceo, cim nista nije rekao znaci da je to to.

offline
  • Srđan Tot
  • Am I evil? I am man, yes I am.
  • Pridružio: 12 Jul 2005
  • Poruke: 2483
  • Gde živiš: Ljubljana

Hmmm... pa to što si pravio je turn based. Računar te pita gde hoćeš da ideš i onda čeka na korisnika. Igrica je tada pauzirana (neprijatelji se ne kreću, vreme ne teče). Kada korisnik unese akciju, sve se pomeri za jedan ciklus i odatle naziv turn based. Real time su igre u kojima vreme konstantno teče. Recimo vožnje, FPS i slično.

offline
  • Student by day. Hacker by night
  • Pridružio: 11 Maj 2014
  • Poruke: 189
  • Gde živiš: 192.168.0.1

Onda sam ja pogresio, izvini molim te.

offline
  • Srđan Tot
  • Am I evil? I am man, yes I am.
  • Pridružio: 12 Jul 2005
  • Poruke: 2483
  • Gde živiš: Ljubljana

Nema problema Smile Imam još samo par pitanja. Do kad treba da završiš? Da li si dobio baš C ili možeš da biraš između C i C++? Da li aplikacija treba da radi samo na Windowsu ili mora da bude multiplatform? Da li smeš da koristiš gotove biblioteke?

offline
  • Student by day. Hacker by night
  • Pridružio: 11 Maj 2014
  • Poruke: 189
  • Gde živiš: 192.168.0.1

Trebalo je da bude zavrseno do utorka, ali posto niko nije uradio vise od mene ( jelte kako moze jedan srbin da uradi najvise od svih rumuna, pa ajde kao produzio je profesor rok do nedelje da se zavrsi).
Samo C.
E to nije nista spemnuo, neko tamo kuca u windows neko u linux ako ima neke razlike.
Ni za biblioteke nije spomenuo, ali nije na odmet da ubacim i gotove Smile

offline
  • Srđan Tot
  • Am I evil? I am man, yes I am.
  • Pridružio: 12 Jul 2005
  • Poruke: 2483
  • Gde živiš: Ljubljana

U kom okruženju ti radiš i koji IDE koristiš?

offline
  • Student by day. Hacker by night
  • Pridružio: 11 Maj 2014
  • Poruke: 189
  • Gde živiš: 192.168.0.1

codeblocks

offline
  • Srđan Tot
  • Am I evil? I am man, yes I am.
  • Pridružio: 12 Jul 2005
  • Poruke: 2483
  • Gde živiš: Ljubljana

A koje okruženje? Windows, neki Linux?

Ko je trenutno na forumu
 

Ukupno su 1159 korisnika na forumu :: 38 registrovanih, 5 sakrivenih i 1116 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 8u47, A.R.Chafee.Jr., AK - 230, Asparagus, babaroga, bladesu, BORUTUS, ccoogg123, cifra, croato, Duh sa sekirom, FOX, goxin, havoc995, kinez88, krkalon, Kubovac, Lucije Kvint, mean_machine, menges, milanovic, milenko crazy north, naki011, nemkea71, nuke92, opt1, pera bager, raptorsi, Sir Budimir, sombrero, Srky Boy, Stanlio, vasa.93, virked, VP6919, zdrebac, |_MeD_|, 223223