Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <time.h>
- #include <conio.h>
- #include <windows.h>
- #define SIRKA 50
- #define VYSKA 50
- #define SPODEK 48
- //zmena souradnic kurzoru v cmd
- void gotoxy(int x, int y)
- {
- COORD coord;
- coord.X = x;
- coord.Y = y;
- SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
- }
- //nacteni mapy - okraju
- void mapa(int x, int z, int (*map)[z])
- {
- for (int i = 0; i < x; i++)
- for (int y = 0; y < z; y++)
- {
- if ((i == 0) || (y == 0) || (i == x - 1) || (y == z - 1))
- map[i][y] = 219;
- else
- map[i][y] = ' ';
- }
- }
- //tisk mapy na stdin
- void printm(int x, int z, int (*map)[z])
- {
- system("cls");
- printf("Pocet bodu:\n");
- for (int i = 0; i < x; i++)
- {
- if (i != 0) printf("\n");
- for (int y = 0; y < z; y++)
- printf ("%c", map[i][y]);
- }
- }
- //akce pri stisku mezerniku - shoot + interakce s NPC
- int shoot(int x, int npc_xy)
- {
- for (int i = 46; i > 1; i --)
- {
- gotoxy(x, i);
- printf("|");
- }
- Sleep(50);
- for (int i = 46; i > 1; i --)
- {
- gotoxy(x, i);
- printf(" ");
- }
- if (x == npc_xy)
- return 1;
- }
- //logika etc
- int key_move_logic(int z, int (*map)[z])
- {
- int b = z/2;
- int key = 0;
- int e;
- int npc = 0;
- int npc_xy = 0;
- int body = 0;
- int p = 0;
- printm(SIRKA, VYSKA, map);
- gotoxy(b, SPODEK);
- printf("A");
- gotoxy(13, 0);
- printf("%d", body);
- srand(time(NULL));
- for (;;)
- {
- if (npc == 0)
- {
- e = 2;
- npc_xy = rand() % 40 + 5;
- npc = 1;
- }
- do
- {
- p++;
- if (p % 20000 == 0)
- {
- if (e != 2)
- {
- gotoxy(npc_xy, e - 1);
- printf(" ");
- }
- gotoxy(npc_xy, e);
- printf("O");
- e++;
- }
- }while (!kbhit());
- key = getch();
- if (key == 97) //doprava
- {
- if (b != 1)
- b--;
- gotoxy(b, SPODEK);
- printf("A");
- b++;
- gotoxy(b, SPODEK);
- printf(" ");
- b--;
- }
- else if (key == 100) //doleva
- {
- if (b != 48)
- b++;
- gotoxy(b, SPODEK);
- printf("A");
- b--;
- gotoxy(b, SPODEK);
- printf(" ");
- b++;
- }
- else if (key == 32)
- {
- if (shoot(b, npc_xy) == 1)
- {
- npc = 0;
- body += 10;
- gotoxy(13, 0);
- printf("%d", body);
- }
- }
- else if (key == 27)
- {
- system("cls");
- return 0;
- }
- }
- }
- int main(void)
- {
- int map [SIRKA][VYSKA];
- mapa(SIRKA, VYSKA, map);
- key_move_logic(VYSKA, map);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement