Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<math.h>
- #include<algorithm>
- #include<vector>
- #include<windows.h>
- #include<conio.h>
- #include<iterator>
- using namespace std;
- figures figure;
- games game;
- class figures {
- public:
- int height;
- int width;
- vector<vector<bool>>elements;
- };
- class games {
- private:
- void shag_vlevo();
- void shag_vpravo();
- void padenie();
- games();
- public:
- /*рандомного выбора фигуры
- создания фигуры
- поворота фигуры
- проверки на остановку
- перезапись поля
- вывод этого всего на экран
- */
- void show();
- void insert_figure_to_field();
- char field[20][10];
- /*
- конструктор:
- выодит надпись начать игру, и тд
- деструктор:
- выводит кол-во очков
- и возвращает на конструктор
- */
- int prev_x;
- int prev_y;
- void check_keyboard();
- };
- void square(figures &figure) {
- figure.height = 2;
- figure.width = 2;
- figure.elements.resize(2);
- for (int i = 0; i < 2; ++i) {
- figure.elements[i].resize(2);
- figure.elements[i][0] = 1;
- figure.elements[i][1] = 1;
- }
- }
- games::games() {
- for (int i = 0; i < 20; ++i) {
- for (int j = 0; j < 10; ++j) {
- this->field[i][j] = '.';
- }
- }
- show();
- insert_figure_to_field();
- }
- void games::show() {
- system("CLS");
- for (int i = 0; i < 20; ++i) {
- for (int j = 0; j < 10; ++j) {
- cout << this->field[i][j];
- }
- cout << endl;
- }
- }
- void games::shag_vlevo() {
- /*операции для проверки возможен ли шаг влево
- и при возможности шаге влево
- */
- int i, j, l;
- if (this->prev_x >0) {
- this->prev_x--;
- i = this->prev_x;
- j = this->prev_y;
- for (l = 0; l < figure.elements.size(); ++l) {
- this->field[j + l][i + figure.elements[l].size()] = '.';
- this->field[j + l][i - 1] = 'x';
- }
- }
- show();
- }
- void games::shag_vpravo() {
- /*проверка возможен ли шаг вправо
- и при возможности шаге вправо
- */
- int i, j, l;
- if (this->prev_x < 19) {
- this->prev_x++;
- i = this->prev_x;
- j = this->prev_y;
- for (l = 0; l < figure.elements.size(); ++l) {
- this->field[j+l][i+figure.elements[l].size()] = 'x';
- this->field[j+l][i-1] = '.';
- }
- }
- show();
- }
- void games::padenie() {
- /*падение блока
- */
- show();
- }
- void games::insert_figure_to_field() {
- for (int i = 0; i < figure.elements.size(); ++i) {
- for (int j = 0; j < figure.elements[i].size(); ++j) {
- this->field[i][j + 4 - 1] = 'x';
- }
- }
- }
- void games::check_keyboard() {
- char a, b;
- while (!_kbhit);
- b = _getch();
- if ((int)b == -32) {
- a = _getch();
- cout << (int)a;
- if ((int)a == 75) {
- shag_vlevo();
- }
- else if ((int)a == 77) {
- shag_vpravo();
- }
- else if ((int)a == 80) {
- padenie();
- }
- }
- }
- int main() {
- int a;
- game.prev_x = 4;
- game.prev_y = 0;
- //games();
- return 0;
- }
Add Comment
Please, Sign In to add comment