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
#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");
}
}
|