Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <time.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <conio.h>
- #include <windows.h>
- using namespace std;
- bool gameOver;
- const int width = 20;
- const int height = 20;
- int x, y, fruitX, fruitY, score;
- enum eDirection { STOP = 0, LEFT, RIGHT, UP, DOWN} ;
- eDirection dir;
- void Setup(){
- gameOver = false;
- dir = STOP;
- x = width / 2;
- y = height / 2;
- fruitX = rand() % width;
- fruitY = rand() % height;
- score = 0;
- }
- // #####
- // # #
- // # #
- // # #
- // #####
- void Draw(){
- // Gora
- system("cls"); //system("clear") - lin
- for (int i = 0; i < width+1; i++) // +2 - brakujace rogi
- cout << "#";
- cout << endl;
- // Bok
- for (int i = 0; i < height; i++){
- for (int j = 0; j < width; j++){
- if (j == 0)
- cout << "#";
- if (i == y && j == x)
- cout << "0";
- else if (i == fruitY && j == fruitX)
- cout << ".";
- else
- cout << " ";
- // Dol
- if (j == width-1)
- cout << "#";
- }
- cout << endl;
- }
- for (int i = 0; i < width+2; i++)
- cout << "#";
- cout << endl;
- cout << "Wynik: " << score << endl << endl;
- cout << "Wcisnij 'x' by zakonczyc" << endl;
- }
- // w
- //a d
- // s
- void Input(){
- //keyboard hit
- if (_kbhit()){
- switch (_getch()){
- case 'a':
- dir = LEFT;
- break;
- case 'd':
- dir = RIGHT;
- break;
- case 'w':
- dir = UP;
- break;
- case 's':
- dir = DOWN;
- break;
- case 'x': // x = koniec
- gameOver = true;
- break;
- }
- }
- }
- void Logic(){
- switch (dir){
- case LEFT:
- x--;
- break;
- case RIGHT:
- x++;
- break;
- case UP:
- y--;
- break;
- case DOWN:
- y++;
- break;
- default:
- break;
- }
- //detekcja kolizji
- if (x > width || x < 0 || y > height || y < 0)
- gameOver = true;
- //zjadanie i dodawanie score
- if (x == fruitX && y == fruitY){
- score += 10;
- fruitX = rand() % width;
- fruitY = rand() % height;
- }
- }
- int main()
- {
- Setup();
- while (!gameOver)
- {
- Draw();
- Input();
- Logic();
- //sleep(10);
- }
- while (gameOver)
- {
- cout << endl << "||| KONIEC GRY |||" << endl;
- cout << "||| Wynik: " << score << " |||" << endl << endl;
- cout << "Pawel Krakowiak 22.10.2019" << endl;
- Sleep(3000);
- return 0;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement