Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Глобальное описание класса, Надеюсь правильно выразился 
:(
    Опции темы
InsideYou
  Дата 25.5.2008, 19:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 25.5.2008

Репутация: нет
Всего: нет



Господа, срочняк просто. Сдача курсовой в среду. Игра Lines, пишется на MFC.

Есть класс CGame: 
Код

class CGame 
{
public:
    bool Add3Balls();
    bool Rand3Balls();
    bool emptyfield();
    CGame();
    virtual ~CGame();
    
    
    int field[7][7];
    int Rand3Mass[3];
    
};


Я пытаюсь обьявить как CGame Game; чтобы вышло глобальной переменной, но компилятор ругается.
Мне нужно из любого класса достучатся к этому классу.

Заранее спасибо.
PM MAIL   Вверх
mes
Дата 25.5.2008, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



во первых как ругается? 
во вторых используй  extern; 


--------------------
PM MAIL WWW   Вверх
InsideYou
Дата 25.5.2008, 19:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 25.5.2008

Репутация: нет
Всего: нет



Пишет что в CGame.obj уже присутствует такое имя.

Пробывал через extern, ругается точно так же. Может дадите аську, я передам проект, укажите что не так.

Заранее спасибо.
PM MAIL   Вверх
mes
Дата 25.5.2008, 19:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(InsideYou @  25.5.2008,  19:12 Найти цитируемый пост)
я передам проект, укажите что не так

прикрепи здесь на форуме к посту

а #pragma once  (или #define header_h #idef header_h) не забыл?




--------------------
PM MAIL WWW   Вверх
InsideYou
Дата 25.5.2008, 19:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 25.5.2008

Репутация: нет
Всего: нет



Да, всё так и сделано было.

Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  Lines.rar 40,69 Kb
PM MAIL   Вверх
mes
Дата 25.5.2008, 19:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



напиши в файле game.h (или как там он называется)

CGame& GetGameInstance ();

a в game.cpp

CGame& GetGameInstance () { static CGame Game; return Game; }

потом где нужно достучаться до глобального Game пишешь

CGame& Game = GetGameInstance () ;

и пользуешься ))


--------------------
PM MAIL WWW   Вверх
InsideYou
Дата 25.5.2008, 19:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 25.5.2008

Репутация: нет
Всего: нет



О спасиб.

Будем теститьsmile

Добавлено через 6 минут и 37 секунд
И напоследок как бЭ последний вопрос smile 

Есть функция, Rand3Balls в классе CGame, рандомно кидает 3 шарика на поле, но почему-то они появляются в одном и том же месте. Что не так то?  smile 
PM MAIL   Вверх
mes
Дата 25.5.2008, 20:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(InsideYou @  25.5.2008,  19:46 Найти цитируемый пост)
Rand3Balls в классе CGame, рандомно кидает 3 шарика на поле, но почему-то они появляются в одном и том же месте. 

так кидает шарики вроде  функция Add3Balls().. не так ли ?  smile 

может они у тебя одного цвета появляются ?  ( while(color==0); // непорядок   smile )
а почему srand(GetTickCount()%20);  находится внутри функции Add3Balls()..  smile 
так же немножко натянутая конструкция с передачей через Rand3Mass[i]; но в принципе на сдачу пойдет

 smile 


--------------------
PM MAIL WWW   Вверх
InsideYou
Дата 25.5.2008, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 25.5.2008

Репутация: нет
Всего: нет



Да, точняк, Add3Balls, за день уже мосх плавится  smile:

Цитата
может они у тебя одного цвета появляются ?  ( while(color==0); // непорядок   smile )

Сдесь всё правильно, цикл работает пока найдёт число которое не равно 0, тобишь цвету. Воооооот.
Тут какая-то запорка с координатами.
PM MAIL   Вверх
mes
Дата 25.5.2008, 21:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(InsideYou @  25.5.2008,  20:20 Найти цитируемый пост)
Сдесь всё правильно, цикл работает пока найдёт число которое не равно 0, тобишь цвету. Воооооот.

да с комментом ступил .. результат работы действителжно правильный
но непорядок все равно : цветов как я понял у тебя 5?

Код

do
{
    color=rand()%6;
}
while(color==0);

равен коду
Код

color=rand()%5+1;



--------------------
PM MAIL WWW   Вверх
InsideYou
Дата 25.5.2008, 22:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 25.5.2008

Репутация: нет
Всего: нет



Да 5, с цветами всё нормально... проблемма с координатами, он выдаёт одни и теже кординаты для заброса шариков. Откомпиль проект-лажа выходит.
PM MAIL   Вверх
mes
Дата 25.5.2008, 22:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(InsideYou @  25.5.2008,  22:11 Найти цитируемый пост)
Откомпиль проект-лажа выходит

откомпилить не могу по техническим причинам (нету студии) ))


Цитата(InsideYou @  25.5.2008,  22:11 Найти цитируемый пост)
проблемма с координатами, он выдаёт одни и теже кординаты

ну так вариантов два , либо ранд не работает - что невероятно
либо ( что волее вероятно) массив-поле заполнен мусором ( добавь ClearField() )  

а вобше прежде чем подобный вопрос ставить надо немножко озадачиться и посмотреть чему равны значения
и вот уже имея эту информацию задаватж вопорос. ))  smile 


 


--------------------
PM MAIL WWW   Вверх
InsideYou
Дата 25.5.2008, 22:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 25.5.2008

Репутация: нет
Всего: нет



У меня стоит 6й вижуал, и дебаггер какой-то странный smile
PM MAIL   Вверх
mes
Дата 25.5.2008, 22:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(InsideYou @  25.5.2008,  22:46 Найти цитируемый пост)
дебаггер какой-то странный 


вывести значения можно и без дебагера - в лог, в консоль, в окно, в файл - выбирай что нравится или подходит ))


--------------------
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1332 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.