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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Aliru
0 / 0 / 0
Регистрация: 07.05.2013
Сообщений: 83
#1

Игра Maze labirinth - не вижу начала игры - C++

12.07.2013, 02:35. Просмотров 341. Ответов 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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
// 8.15 sort.cpp : Defines the entry point for the console application.
//
 
#include "stdafx.h"
#include <iostream>
#include "conio.h"
#include <string>
 
using namespace std;
 
const int Size = 13;
 
bool bDirectionArray[4] = {true, false, false, false};
 
char MazePicture[Size][Size] = {{"############"}, {"#...#......#"}, {"..#.#.####.#"}, {"###.#....#.#"}, {"#....###.#.."}, {"####.#.#.#.#"}, {"#..#.#.#.#.#"}, {"#........#.#"}, {"######.###.#"}, {"#......#...#"}, {"############"}};
 
void printMaze(char a[][13], int, int);
 
void travelMaze(char a[][13], int, int);
 
int _tmain(int argc, _TCHAR* argv[])
{
    char Maze[Size][Size] = {{"############"}, {"#...#......#"}, {"..#.#.####.#"}, {"###.#....#.#"}, {"#....###.#.."}, {"####.#.#.#.#"}, {"#..#.#.#.#.#"}, {"#........#.#"}, {"######.###.#"}, {"#......#...#"}, {"############"}};
    printMaze(Maze, 2, 0 );
    travelMaze(Maze, 2, 0);
    _getch();
    return 0;
}
 
void printMaze(char a[][13], int R = 2, int C = 0)
{
    for (int i = 0; i < 12; i++)
        for (int j = 0; j < 12; j++)
            a[i][j] = MazePicture[i][j];
    a[R][C] = char(3);
    for (int i = 0; i < 12; i++)
    {
        for (int j = 0; j < 12; j++)
            cout << a[i][j];
        cout << endl;   
    }
}
 
void travelMaze(char a[][13], int R, int C)
{
    if (4 == R && 11 == C)
        return;
    else
    {
        int iDirection;
        for (int i = 0; i < 4; i++)
            if (true == bDirectionArray[i])
                iDirection = i;
        switch (iDirection)
        {
        case 0: //Right
            if ( a[R][C+1] == '.')
            {
                C++;
                if ('#' != a[R+1][C])
                {
                    bDirectionArray[0] = false; //Right
                    bDirectionArray[2] = true;  //Down direction of motion
                    R++;
                }
            }
            else
            {
                bDirectionArray[0] = false;
                bDirectionArray[3] = true;//Up
            }
            break;
        case 1:  //Left
            if ('.' == a[R][C-1])
            {
                C--;
                if ('#' != a[R-1][C])
                {
                    bDirectionArray[1] = false;
                    bDirectionArray[3] = true;
                    R--;
                }
            }
            else
            {
                bDirectionArray[1] = false;
                bDirectionArray[2] = true;
            }
            break;
        case 2: //Down
            if ('.' == a[R+1][C])
            {
                R++;
                if ('#' != a[R][C-1])
                {
                    bDirectionArray[2] = false;
                    bDirectionArray[1] = true;
                    C--;
                }
            }
            else
            {
                bDirectionArray[2] = false;
                bDirectionArray[0] = true;
            }
            break;
        case 3:  //Up
            if ('.' == a[R-1][C])
            {
                R--;
                if ('#' != a[R][C+1])
                {
                    bDirectionArray[3] = false;
                    bDirectionArray[0] = true;
                    C++;
                }
            }
            else
            {
                bDirectionArray[3] = false;
                bDirectionArray[1] = true;
                C--;
            }
            break;
        }
        printMaze(a, R, C);
        travelMaze(a, R, C);
    }
}
Начала игры не вижно в консоли - то есть есть графика с середины игры. Как можно увидеть начало игры?

PS О глобальных переменных знаю, но классы и неймспейсы еще не читал подробно.
PSS Нужно ли для каждого маленького контроля направления писать свою микропрограмму - для читаемости - или это глупая трата времени? Лично я после того когда стал подробно называть практически каждую переменную заметил снижение времени на поиск ошибок глупых.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.07.2013, 02:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Игра Maze labirinth - не вижу начала игры (C++):

Как организовать выбор фона, препятствий, начала и конца игры? - C++
я должен написать программу которая должна &quot;возвращать&quot; .exe файл.Как в инди гейм мейкерах как можно это реализовать?какие варианты...

Как сделать так, что бы после начала игры, активным было OpenGL-окно, а не консольное? - C++
Всем привет, у Меня тут такая проблемка, даже не знаю как искать ее решение в гугле, вот и решил написать сюда. Я написал игру на с++...

Игра maze - C#
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication3 { ...

Установил компонент, вижу интерфейс, не вижу самого компонента - C++ Builder
Rad Studio XE5. Зарегистрировал dll Собрал tlb Импортировал компонент из длл Размещаю импортированный компонент на форму Вижу...

Играю в Кросс фаер ,игра начала не запускаться - Windows 7
Играю в Кросс фаер ,игра начала не запускаться!Я написал в тп ,они они отписали вот те как-бы настройки: посмотрел некоторые ваши...

на windows 7 не вижу интернета но вижу сеть - Сети
Здраствуйте начну пожалуй по порядку. На протяжении долгох лет пользовался ХР, захотелось чего то нового и решил себе поставить win 7. ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
alsav22
5420 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.07.2013, 02:57 #2
Цитата Сообщение от Aliru Посмотреть сообщение
Вопрос скорее по вижуал студио, хотя...
Это по консоли. Буфер экрана в консоли увеличить.
0
Aliru
0 / 0 / 0
Регистрация: 07.05.2013
Сообщений: 83
12.07.2013, 03:34  [ТС] #3
Глупый вопрос, но не получается
0
alsav22
5420 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.07.2013, 03:46 #4
Цитата Сообщение от Aliru Посмотреть сообщение
Глупый вопрос, но не получается
Что конкретно? Как в свойства консоли зайти знаете?

Добавлено через 6 минут
Лучше вот так сделайте в travelMaze():
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
...
}
            else
            {
                bDirectionArray[3] = false;
                bDirectionArray[1] = true;
                C--;
            }
            break;
        }
        _getch(); // пауза
        printMaze(a, R, C);
        travelMaze(a, R, C);
    }
}
Добавлено через 2 минуты
А ещё лучше вот так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
     }
            }
            else
            {
                bDirectionArray[3] = false;
                bDirectionArray[1] = true;
                C--;
            }
            break;
        }
        _getch(); // пауза
        system("cls"); // очистка экрана
        printMaze(a, R, C);
        travelMaze(a, R, C);
    }
}
1
Aliru
0 / 0 / 0
Регистрация: 07.05.2013
Сообщений: 83
12.07.2013, 03:46  [ТС] #5
А, все, сделал. В консоли.
0
alsav22
5420 / 4816 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.07.2013, 03:49 #6
Добавлено через 1 минуту
Сделайте как в 4 посте (второй вариант).
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.07.2013, 03:49
Привет! Вот еще темы с ответами:

Metro Last Light вылетает во время начала игры - Action/FPS игры
Metro Last Light вылетает во время начала игры когда Артем сидит и пьет кофе и потом вылетает игра.... Никто не сталкивался с подобной...

Dota 2 вылетает через несколько минут с начала игры - MMO игры
Здравствуйте! Играю я в доту 2 через минут 20 погасает экран и не выдает никаких ошибок ничего, просто черный экран. Сам комп работает,...

Выключается монитор примерно через 10 минут после начала игры - Видеокарты
(так просходит как с &quot;GTA 5&quot;, так и с &quot;Call of Duty Modern Warfare 2&quot;, раньше эти игры шли прекрасно, совсем не тормозили) При вылете...

Падение ФПС спустя небольшой промежуток времени после начала игры - Компьютерное железо
Добрый день. Суть проблемы такова: включаю компьютер, запускаю игру, например, Dota 2. В начале ФПС держится на отметке ~55, прыгает...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
12.07.2013, 03:49
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru