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

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

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

нужно сделать так, чтобы золотые не падали на стены - C++

20.12.2011, 21:05. Просмотров 369. Ответов 2
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void PlusGold(Game &g) //Функция разброски золота
{
 int i,x,y;
 int n = g.hero.PCount;
 do
 {
  x = rand() % 73+3; //
  y = rand() % 20+3; //кординаты золотого
  for(i = 0; i < n; i++)
  {
   if(x == g.hero.t[i].X && y == g.hero.t[i].Y) // проверка чтоб золото не бросить на героя
    break;
  }
 }
нужно сделать так чтобы золотые не падали на стены

стены отрисовуются
так:
C++
1
2
3
4
5
6
7
    GotoXY(2,24); //Рисуем нижнюю горизонтальную линию-стенку
                    int m = 0;
                    for(m = 0; m < 74;m++)
                    {
                        printf("*");
                    }
                }
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
GotoXY(18,3); cout << "+"<<endl; //вертикальная стена комнаты А
                    GotoXY(18,4); cout << "+"<<endl; // А
                    GotoXY(18,5); cout << "+"<<endl; // А
                    GotoXY(18,6); cout << "+"<<endl; // А
                    GotoXY(15,13); cout << "+"<<endl; // Вa
                    GotoXY(15,14); cout << "+"<<endl;// Вa
                    GotoXY(15,15); cout << "+"<<endl;// Вa
                    GotoXY(15,16); cout << "+"<<endl;// Вa
                    GotoXY(15,17); cout << "+"<<endl;// Вa
                    GotoXY(15,18); cout << "+"<<endl;// Вa
                    GotoXY(15,19); cout << "+"<<endl;// Вa
                    GotoXY(15,20); cout << "+"<<endl;// Вa
                    GotoXY(15,21); cout << "+"<<endl;// Вa
                    GotoXY(50,13); cout << "+"<<endl;// Вb
                    GotoXY(50,14); cout << "+"<<endl;// Вb
                    GotoXY(50,15); cout << "+"<<endl;// Вb
                    GotoXY(50,16); cout << "+"<<endl;// Вb
                    GotoXY(50,17); cout << "+"<<endl;// Вb
                    GotoXY(50,18); cout << "+"<<endl;// Вb
                    GotoXY(50,19); cout << "+"<<endl;// Вb
                    GotoXY(50,20); cout << "+"<<endl;// Вb
                    GotoXY(50,21); cout << "+"<<endl;// Вb
                }
и не проходимость стены задаётся так:

C++
1
2
3
4
5
if(next.X < 3 || next.Y < 3 || next.X > 75 || next.Y > 23)
        return STENA;                                         //ДЕФ СТЕНЫ
    
    if(next.X > 3 , next.X < 18 && next.Y == 9) 
        return STENA;
возможно нужно задать стены другим образом, я слышал можно массивом как то задать
но не знаю как это сделать =(
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2011, 21:05     нужно сделать так, чтобы золотые не падали на стены
Посмотрите здесь:

Вообщем нужно сделать так чтобы 1 массив заполнялся с клавиатуры а не рандомно - C++
#include &quot;stdafx.h&quot; #include &quot;stdio.h&quot; #include &quot;iostream&quot; #include &quot;ctime&quot; #include &quot;conio.h&quot; using namespace std; ...

Нужно сделать так, чтобы программа запускалась только если ей передать заданный аргумент. - C++
сразу приношу извинения, но я не нащёл подходящего раздела. суть такова. есть программа(исходников нет) нужно сделать так, чтобы она...

Нужно добавить проект на гугл-диск, как сделать так, чтобы запускалась сразу консоль, одним файлом? - C++
Нужно добавить проект на гугл-диск, как сделать так, чтобы запускалась сразу консоль, одним файлом?

Сделать так, чтобы функция возвращала параметр - C++
В общем, есть 3 матрицы, выведение их на экран и перемножение, сделанное через класс. Функции mult1 и mult2 умножают и выводят сразу на...

Как сделать так, чтобы число не повторялось? - C++
Вопрос следующий. В определенном диапазоне (например от 0 до 9) лежат числа, нужно сделать так, чтобы весь диапазон был выведен на экран,...

рабочая программа. но нужно ее переписать так, чтобы она была наиболее общей. - C++
Задана матрица смежности размерности N*M. С помощью процедуры и матрицы меньшей размерности найти медианы и записать в виде матрицы...

Как сделать так, чтобы функции были не вложенными? - C++
получается так, что сначала у меня идет функция int main(), потом int sum, и потом int maxx. Они получаются вложенными в int main(). Как...

Как сделать так чтобы результат выводился в градусах ? - C++
Нужно что бы результат выводился в градусах, а то он выводит числа типо 0.0000034 и т д Если надо могу написать программу сюда С++

Сделать так чтобы матрица заполнялась с клавиатуры, а не автоматически - C++
Нужно сделать так чтобы массив заполнялся с клавиатуры, а не автоматически. #include &quot;stdafx.h&quot; #include &quot;stdio.h&quot; #include...

Как сделать так чтобы пользователь ввел TCHAR - C++
Как сделать так чтобы пользователь ввел TCHAR ?


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
res
56 / 9 / 1
Регистрация: 05.04.2010
Сообщений: 143
20.12.2011, 21:15     нужно сделать так, чтобы золотые не падали на стены #2
Alekto, я давненько писал консольную игрушку. И координаты проверял не "координатами", а символами. Например если координата x = '#', то break
Alekto
1 / 0 / 0
Регистрация: 09.09.2011
Сообщений: 51
20.12.2011, 22:50  [ТС]     нужно сделать так, чтобы золотые не падали на стены #3
Цитата Сообщение от res Посмотреть сообщение
Alekto, я давненько писал консольную игрушку. И координаты проверял не "координатами", а символами. Например если координата x = '#', то break
слушай а помоги плиз покажи как это выглядит
Ответ Создать тему
Опции темы

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