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

Игра "Лабиринт" - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Win 7 mingw C++ написание инсталятора http://www.cyberforum.ru/cpp-beginners/thread632103.html
Практически никогда не занимался GUI интерфейсами. Такой вопрос хочу написать инсталятор, так чтоб человек его запустил больше ничего не ставя типа .NET и уже через инсталятор выполнил то что ему...
C++ Странный синтаксис конструктора класса Объясните с точки зрения синтаксиса C++, что означает перечисление после двоеточия? OgreApp::OgreApp(void) : mRoot(0), mCamera(0), mSceneMgr(0) {} http://www.cyberforum.ru/cpp-beginners/thread632101.html
Запись и чтение вектора из файла C++
Здравствуйте! Помогите понять ошибку. Создаю группу, записываю ее в файл (первым в файл записывается непонятный символ). Первый запуск нормальный, файл создается, но при повторном группа...
C++ Народ подскажите, чета я забыл DLL как экспортировать
Вот например есть в DLL код функции: void OpenAbout(HINSTANCE hInst, int cmdMode, HWND hWnds) { .... return; }
C++ Среднее арифметическое и среднее геометрическое двух чисел http://www.cyberforum.ru/cpp-beginners/thread632053.html
Даны 2 числа, найти среднее арифметическое с снеднее геометрическое.
C++ Что-то не так в цикле Цикл пробегает одну строку и после этого программа виснет. for (i = 0; i < img_x - 1; i++) { for(j = 0; j < img_y - 1; j++) { myColor = cvGet2D(img, i, j); r_color = myColor.val;... подробнее

Показать сообщение отдельно
maxyakovenko
Сообщений: n/a

Игра "Лабиринт" - C++

02.08.2012, 15:40. Просмотров 747. Ответов 0
Метки (Все метки)

Проверка if (maze[c.X+1][c.Y]!=1) - стена или нет. Персонаж двигается, но иногда некорректно. иногда стены нету, а он не двигается. Пробовал cout текущей координаты - показывает 1, хотя должно 0, стены нету.

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
130
131
132
133
134
#include <windows.h>
#include <iostream>
#include <time.h>
#include <stdlib.h>
#include <conio.h>
using namespace std;
 
void main()
{
HANDLE h=GetStdHandle(STD_OUTPUT_HANDLE);
 
CONSOLE_CURSOR_INFO cur;
cur.bVisible=0;
cur.dwSize=100;
SetConsoleCursorInfo(h,&cur);
 
const int width=70;
const int height =24;
int maze[height][width];
srand(time(0));
for(int y = 0; y<height; y++)
{
 
for(int x = 0; x < width; x++)
{
 
maze[y][x]=rand()%4;
 
if(x==0 || y==0 || x==width-1 || y==height-1) maze[y][x]=1; // borders
 
maze[height-2][width-1]=0; // hole
 
if(maze[y][x]==0)
{
cout<<" ";
}
else if(maze [y][x]==1)
{
SetConsoleTextAttribute(h,2);
cout<<(char)178;
}
else if(maze [y][x]==2)
{
SetConsoleTextAttribute(h,14);
cout<<".";
}
else if(maze [y][x]==3)
{
int r=rand()%3;
if(r==1)
{
SetConsoleTextAttribute(h,12);
cout<<(char)1;
}
else{
 
maze[y][x]=0;
cout<<" ";
 
 
}
 
}
else {
 
maze[y][x]=0;
cout<<" ";
 
}
//всё остальное
//cout<<" ";
 
}
cout<<"\n";
}
COORD c = {1,1};
SetConsoleCursorPosition(h,c);
SetConsoleTextAttribute (h,9); 
cout<<(char)1;
maze[1][1]=4;
while(1){
int k=getch();
if(k==224){
system("title LEFT");}
if(k==77){
system("title RIGHT");
}
if (k==80){
if(maze[c.Y+1][c.X]!=1){
SetConsoleCursorPosition(h,c);
cout<<" ";
c.Y++;
SetConsoleCursorPosition(h,c);
cout<<(char)1;
 
}
}
else if(k==72){
if (maze[c.X][c.Y-1]!=1){
SetConsoleCursorPosition(h,c);
cout<<" ";
c.Y--;
SetConsoleCursorPosition(h,c);
cout<<(char)1;}
}
else if(k==75){
if (maze[c.X-1][c.Y]!=1){
SetConsoleCursorPosition(h,c);
cout<<" ";
c.X--;
SetConsoleCursorPosition(h,c);
cout<<(char)1;}
}
else if(k==77){
 
if (maze[c.X+1][c.Y]!=1){
SetConsoleCursorPosition(h,c);
cout<<" ";
c.X++;
SetConsoleCursorPosition(h,c);
cout<<(char)1;
}
 
}
 
if (maze[c.Y][c.X]==3){
system("cls");
cout<<"Game over";
 
}
 
 
}
}
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru