запущенный когда-то процесс самоусложнения вселенной
И кем этот процесс, интересно, был запущен? Твоя теория не более обоснована, чем все остальные.
Как ни крути, мозг - это процессор, а разве процессор может понять то, на что он не рассчитан? Я считаю, что такие вещи можно понять только абстрактно и искать четкого объяснения не стоит.
Сообщение отредактировал Deeem_ER - Понедельник, 25 Марта 2013, 23:50
Точно, ведь все-таки бывают первые "игры" на C++, сделанные с мастерством, на оттачивание которых у обычных смертных программистов-игроделов уходят года.
Возможно это только моя проблема, но когда я открыл исходник, то весь код был выравнен по левой стороне с некоторыми отклонениями и лишними пустыми строками. Это просто вырвимозгно. Также присоединюсь к замечаниям об ООП: Я понимаю, что ты только начал изучать C++, но раз уж ты решил использовать классы, то старайся использовать их по назначению. А раз уж ты даже для каждой карты делаешь личный обработчик нажатий, то к ООП мог бы вообще не прибегать.
Я тоже делал подобные "игрушки", когда только начинал изучать C++. Вот отрыл одну из таких игрушек, где я, как мне кажется, весьма хорошо применил классы: Скачать Описание: Карта для игры загружается из текстового файла(Map_1.txt). Жать нужно только на стрелки на клавиатуре. Есть два наитупейших бота, идущих к тебе.
Здравствуйте, пользователи gcup! У меня, как видно из названия темы, появилась проблема с конвертацией числа с плавающей точкой в массив символов LPCTSTR[32] и обратно.
Думаю, что на этом вопрос можно и закончить, но я все-таки расскажу побольше: В данный момент я работаю над моим относительно большим проектом, который мне хочется называть "движком". Если хотите, то посмотрите вот это видео.
Как видно из видео, я попробовал сделать редактирование цветов компонентов материала - это частично получилось. Я это сделал вот так:
Код
//Буфер символов LPCTSTR textBuffer[32];
//Установка текущего значения компоненты в строку редактора текста wsprintf ((LPWSTR)textBuffer, L"%d", (int)material->Diffuse.r); SendMessage(EOMEditDiffuse1, WM_SETTEXT, NULL, (LPARAM)textBuffer);
//Установка нового значения компоненты из редактора текста GetDlgItemText(OSWindow, ID_EOMEDIT1, (LPWSTR)textBuffer, sizeof(textBuffer)); material->Diffuse.r = (float)atof((const char*)textBuffer);
Но это неправильно. При таком раскладе любое введенное значение обрезается до первого числа (ввел 294 - получил 2). Ну а о числах с плавающей точкой остается только мечтать. По хорошему выводимые и вводимые числа должны лежать в диапазоне от 0 до 1.
P.s. Для меня с самых первых дней изучения C++ сложнейшей и неприятнейшей вещью была работа со строками и символами.
Заранее спасибо за помощь ;3
Сообщение отредактировал Deeem_ER - Среда, 20 Февраля 2013, 21:00
Deswing, Я бы данную программу реализовал вот так:
Code
#include <iostream> #include <conio.h>
using namespace std;
class CocaCola { private: int Cash, Price, OddMoney; int NewCash; int Count; public: void Enter() { cout << "Введите цену на банку Кока-Колы." << endl << "Не больше 3000." << endl; do { cin >> Price; } while (Price > 3000);
cout << endl << "Введите наличные." << endl << "Не меньше 1, не больше 30000." << endl; do { cin >> Cash; } while (Cash < 1 || Cash > 30000);
cout << endl << "Введите цену за сдачу банки из под Кока-Колы." << endl << "Не больше цены полной банки и не больше 30000." << endl; do { cin >> OddMoney; } while (OddMoney < 1 || OddMoney >= Price || OddMoney > 30000); }