Size: a a a

IT KPI C/C++ ХВ (не UB)

2021 April 09

K

Komosya in IT KPI C/C++ ХВ (не UB)
#include <iostream>
#include <conio.h>
using namespace std;

bool gameOwer;
const int width = 20;
const int height = 20;
int x, y, fruitX, fruitY, score;
int tailX[100], tailY[100];
int nTail;
enum eDirection { STOP = 0, LEFT, RIGHT, UP, DOWN};
eDirection dir;

void Setup() {
 gameOwer = false;
 dir = STOP;
 x = width / 2 -1;
 y = height / 2 -1;
 fruitX = rand() % width;
 fruitY = rand() % height;
 score = 0;
}

void Draw() {
 system("cls");
 for (int i = 0; i < width+1; i++)
   cout << "#";
 cout << endl;

 for (int i = 0; i < height; i++) {

   for (int j = 0; j < width; j++) {
     if (j == 0 || j==width-1)
       cout << "#";
     if (i == y && j == x)
       cout << "0";
     else if (i == fruitY && j == fruitX)
       cout << "F";
     else {
       bool print = false;
       for (int k = 0; k < nTail; k++) {
         if (tailX[k] == j && tailY[k] == i) {

           print = true;
           cout << "o";
         }
       }
       if (!print)
         cout << " ";
     }
   }
   cout << endl;
 }

 for (int i = 0; i < width+1; i++)
   cout << "#";
 cout << endl;
 cout << "Score:" << score << endl;
}

void Input() {
 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':
               gameOwer = true;
         break;

   }
 }

}

void Logic() {
 int prevX = tailX[0];
 int prevY = tailY[0];
 int prev2X, prev2Y;
 tailX[0] = x;
 tailY[0] = y;
 for (int i = 1; i < nTail; i++) {
   prev2X = tailX[i];
   prev2Y = tailY[i];
       tailX[i] = prevX;
   tailY[i] = prevY;
   prevX = prev2X;
   prevY = prev2Y;
 }
 switch (dir)
 {
 case LEFT:
   x--;
   break;
 case RIGHT:
   x++;
   break;
 case UP:
   y--;
   break;
 case DOWN:
   y++;
   break;
 }

 //if (x > width || x < 0 || y > height || y < 0)
   //gameOwer = true;
 if (x >= width-1)
   x = 0;
 else if (x < 0)
   x = width - 2;
 if (y >= height)
   y = 0;
 else if (y < 0)
   y = height - 1;

 for (int i = 0; i < nTail; i++) {
   if (tailX[i] == x || tailY[i] == y)
     gameOwer = true;
 }

 if (x == fruitX && y == fruitY) {
   score += 10;
   fruitX = rand() % width;
   fruitY = rand() % height;
   nTail++;
 }
}

int main() {
 Setup();
while (!gameOwer) {
 Draw();
 Input();
 Logic();
 }
 return 0;
}
источник

VT

Vladislav Tolstikov in IT KPI C/C++ ХВ (не UB)
спрячь код, непристойно так кидать
источник

K

Komosya in IT KPI C/C++ ХВ (не UB)
Почему?
источник

K

Komosya in IT KPI C/C++ ХВ (не UB)
Мне удалить его что ли?
источник

VT

Vladislav Tolstikov in IT KPI C/C++ ХВ (не UB)
ну лучше всего скриншот экрана, конечно
источник

VD

Vlad Doc in IT KPI C/C++ ХВ (не UB)
)))
источник

VT

Vladislav Tolstikov in IT KPI C/C++ ХВ (не UB)
залей его куда-то и кинь ссылку
источник

q

qwerty in IT KPI C/C++ ХВ (не UB)
Пастебин
источник

V

Vitali in IT KPI C/C++ ХВ (не UB)
Змейка, я дня 4 назад её писал
источник

V

Vitali in IT KPI C/C++ ХВ (не UB)
Народ поясните переменные чем float от double отличаются
источник

VD

Vlad Doc in IT KPI C/C++ ХВ (не UB)
Дабл это флоат двойной точности который весит в два раза больше
источник

V

Vitali in IT KPI C/C++ ХВ (не UB)
Смотришь ролики и челы то одну переменную применяют то другую а числа пишут макс три знака после точки
источник

V

Vitali in IT KPI C/C++ ХВ (не UB)
Спасибо
источник

V

Vitali in IT KPI C/C++ ХВ (не UB)
Флоат меньше весит соответственно меньше ресурсов жрать будет
источник

VD

Vlad Doc in IT KPI C/C++ ХВ (не UB)
На скорость не сильно влияет кста
источник

VD

Vlad Doc in IT KPI C/C++ ХВ (не UB)
Только если у тебя не дофига флоатов
источник

VD

Vlad Doc in IT KPI C/C++ ХВ (не UB)
Тогда просто кеш начинает решать
источник

VD

Vlad Doc in IT KPI C/C++ ХВ (не UB)
Ну или ты симд используешь, тогда тоже
источник

V

Vitali in IT KPI C/C++ ХВ (не UB)
В алготрейдинге там дофига будет
источник

VD

Vlad Doc in IT KPI C/C++ ХВ (не UB)
Опа спалился что пишешь))))
источник