Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Тетрис на c++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Смысл "+1" http://www.cyberforum.ru/cpp-beginners/thread933073.html
Доброе время суток, господа! Кто нибудь знает, для чего в этом фрагменте кода используется "+1"? itsString = new char ;
C++ Как отключить инлайн в MSVS2008? Такое дело. Я сейчас разбираюсь в дизассемблированном коде простых программ, а Visual Studio мешает мне в этом занятии. Точнее, это считается "помощью", но мне не это нужно. Короче, она инлайнит... http://www.cyberforum.ru/cpp-beginners/thread933063.html
Вызов метода, возвращающего int значение C++
Приветствую. Начинаю изучать C++, с банальных задач, так вот никак не могу понять, ну почему получаю в данном случае ошибку "error C3861: 'SearchWin': identifier not found" #include "stdafx.h"...
Надо применять delete [] или нет C++
Привет. Читаю книгу Прата и выполняю задания. Гл.8 Зд.4: Мое решение: #define _CRT_SECURE_NO_WARNINGS #include <iostream> using namespace std; #include <cstring> //для strlen(), strcpy() ...
C++ Подскажите справку по языку http://www.cyberforum.ru/cpp-beginners/thread933026.html
Доброго дня! Простите, если я баран и спрашиваю банальные вещи или наборот несуществующие. Есть ли такой электроный справочник, что б я вписал туда любой элемент программы и он мне оп- развёрнутае...
C++ Сортировать одномерный массив вещественных чисел Помогите написать функцию, кто знает! Условие: допускается использование любых видов функций. Разработать функцию, которая осуществляет сортировку одномерного массива вещественных чисел в... подробнее

Показать сообщение отдельно
Gomg
5 / 5 / 0
Регистрация: 28.06.2013
Сообщений: 116
04.08.2013, 08:44  [ТС]
так почему-то не назначается массиву символ по измененной y++ координате
C++
1
2
3
4
5
6
7
8
9
static void Turn(Block block){
        switch(field[block.yP+1][block.xP]){
            case ' ':
                field[block.yP][block.xP] = ' ';
                block.yP += 1;
                field[block.yP][block.xP] = block.image;
            break;
        }
    }
так и я все-таки не узнал ответы на вопросы про статик и т.д. Да и мне кажется делая классы намного удобнее будет и проще. Да и вообще я еще не задумываюсь о поворотах, я делаю только блок из одного элемента.

Добавлено через 1 час 5 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
#include <iostream>
#include <locale.h>
#include <conio.h>
#include <Windows.h>
 
using namespace std;
 
static char field[10][10] = {"         ",
                             "#       #",
                             "#       #",
                             "#       #",
                             "#       #",
                             "#       #",
                             "#       #",
                             "#       #",
                             "#       #",
                             "#########" }; //y x
bool Run = true;
float timer;
 
void Draw(){
    system("cls");
    for (int i =0; i<10;i++){
        cout << field[i] << endl;
    }
}
 
class Block{
public:
    Block(char imag, int x, int y){
        xP = x; yP = y; image = imag;
    }
    char image;
    int xP, yP;
};
void Turn(Block &block){
        switch(field[block.yP+1][block.xP]){
            case ' ':
                field[block.yP][block.xP] = ' ';
                block.yP += 1;
                field[block.yP][block.xP] = block.image;
            break;
        }
}
 
void Input(Block block){
    int i2 = 0;
    for (int i =0; i < 10; i++){
        for (int j =0 ; j< 10; j++){
            switch(field[j][i]){
                case 'O':
                    if (GetAsyncKeyState(VK_LEFT) != 0){
                    i2 = i++;
                        switch (field[j][i2]){
                            case ' ':
                                field[j][i2] = block.image;
                                field[j][i] = ' ';
                                i = i2;
                                Draw();
                                break;
                            default: break;
                        }
                    }
                    if (GetAsyncKeyState(VK_RIGHT) != 0){
                        int i2 = i--;
                        switch (field[j][i2]){
                            case ' ':
                                field[j][i2] = block.image;
                                field[j][i] = ' ';
                                i = i2;
                                Draw();
                                break;
                            default: break;
                        }
                    }
                break;
            }
        }
    }
}
 
 
 
int main(){
    setlocale(LC_ALL,"RUS");
    Block block1('O',5,0);
    {
    while (Run){
        timer += 0.01f;
        if (timer >= 150000){
            Turn(block1);
            Draw();
            Input(block1);
            //if (
            timer =0;
        }
    }
    }
    return 0;
}
вот я написал код ,но блок только падает. не сдвигается
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru