Перейти в начало страницы

Здравствуйте, гость ( Авторизация | Регистрация )

Gameru.net останавливает работу в связи с вторжением армии РФ в Украину. Следите за дальнейшими анонсами.
Support Gameru!
38 страниц V  « < 23 24 25 26 27 > »   
Ответить в данную темуНачать новую тему
> Учим языки программирования, Помогаем друг-другу, делимся опытом.
_призрак_
сообщение 02.09.2012, 20:45
Сообщение #481


Опытный Геймер
*******

Репутация:   45  
Группа: Участник
Сообщений: 152
Награды: 3
Регистрация: 14.02.2011




Вставить ник Цитировать выделенное в форуму быстрого ответа


Shoкer
Дай-ка и я напишу пару недостатков
1. Не знаю как тебя, а меня утомляет дописывать всегда "\n" в конце сообщения. Забудешь - и в консольке "вырвиглаз"
3. Нет вывода функции, файла и строки, откуда было послано сообщение (погугли по словам __FILE__, __FUNCTION__, __LINE__)
4. Нет возможности прервать программу после вывода в лог

У меня есть файлик (старый уже), где в отдельном пространстве имен debug есть 3 функции - msg(file,function,line,format,...), warming(file,function,line,format,...),error(file,function,line,format,...), а также макрос, который автоматом меняет функцию Msg("some message"); в функцию Msg("some_file.cpp","some_function",999,"some message"); Получается очень удобноsmile.gif

А вообще код хороший. Если нечем будет заняться, то приглашаю порешать олимпиадные задачки на каком-нибудь сайте типа acmp

Сообщение отредактировал _призрак_ - 02.09.2012, 20:54
Перейти в начало страницы
 
Shoкer
сообщение 02.09.2012, 23:10
Сообщение #482


Кандидат Игровых Наук
******************

Репутация:   2153  
Группа: Участник
Сообщений: 3488
Награды: 4
Регистрация: 27.07.2009




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(refuse @ 02.09.2012, 20:23) *
верно smile.gif а еще логичнее было бы вызывать эти ф-ии однократно, перед выводом данных в консоль и после.


Не, так не сработает, FreeConsole() закрывает консоль. Получается что я вывожу сообщение, и тут же его закрываю.
Да и вообще имеет ли смысл эту функцию вызывать? Консоль закрывается вместе с закрытием приложения, есть разве что шанс что память утекает от этого, но вроде ничего подобного не обнаружил.

___

По поводу точки входа вариант, но просто хочется сделать переносную функцию, которую можно будет "брать с собой", и применять в других проектах на других компьютерах. Это быстрее чем под каждый проект переписывать настройки.

Neo][
Не получилось нагуглить достаточно информации, но я так понял это как раз строка для вывода сообщения в отладочное окно Visual Studio? Если да, то тоже вариант, но вдруг понадобиться отладить уже собранную программу, тогда без Visual Stuido не обойтись, а так включил галочку в собранной программе и сразу сообщения в консоль посыпались.

_призрак_
Не, до задач мне далековато. Я знаю основы, а дальше просто делаю что то, сталкиваюсь с незнанием, гуглю и иду дальше. Эт далеко не самый лучший метод изучения, но по крайнем мере самый быстрый для достижения простенькой цели.

1) Я не стал это делать на случаи если мне понадобиться вывести несколько коротких сообщений в строку.
2) Спс. за наводку, у мну пока программы маленькие, но в будущем пригодиться.
3) Пока не было необходимости, я на столько глубоко с этим не заморачивался ни разу.

PS: Кстати если не сложно, то можешь показать свои отладочные функции для изучения? smile.gif

Сообщение отредактировал Shoкer - 02.09.2012, 23:13


--------------------
Мне просто нравятся синие буквы под сообщением.
Перейти в начало страницы
 
autistic
сообщение 03.09.2012, 09:20
Сообщение #483


Геймер
******

Репутация:   86  
Группа: Участник
Сообщений: 128
Награды: 4
Регистрация: 05.05.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Shoкer @ 03.09.2012, 00:10) *
Не, так не сработает

> myprogram.exe >> output.txt
либо надо сделать задержку перед закрытием консоли.

Цитата(Shoкer @ 03.09.2012, 00:10) *
Да и вообще имеет ли смысл эту функцию вызывать?

это хороший тон.

Цитата(Shoкer @ 03.09.2012, 00:10) *
По поводу точки входа вариант, но просто хочется сделать переносную функцию, которую можно будет "брать с собой", и применять в других проектах на других компьютерах.

хозяин-барин, конечно, но этот вариант избавляет от необходимости таскать за собой платформ-специфик код и дает возможность пользоваться стандартными потоками ввода/вывода, которые в любой момент можно перенаправить хоть в файл, хоть куда угодно.


--------------------
nop
Перейти в начало страницы
 
Tron
сообщение 03.09.2012, 16:20
Сообщение #484


Игровой Эксперт
***************

Репутация:   407  
Группа: Участник
Сообщений: 2394
Награды: 5
Регистрация: 19.01.2009




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата
У меня есть файлик (старый уже), где в отдельном пространстве имен debug есть 3 функции - msg(file,function,line,format,...), warming(file,function,line,format,...),error(file,function,line,format,...), а также макрос, который автоматом меняет функцию Msg("some message"); в функцию Msg("some_file.cpp","some_function",999,"some message"); Получается очень удобно

Зачем такие сложности?-почему бы не сделать так

Код
void Error(const TCHAR*t,const char*_file/*Тут именно чар,можно сделать перевод*/,int line,...)
#define LogWrite(a) Error(a,_FILE_,_LINE_)

void Error(const TCHAR*t,const char*_file/*Тут именно чар,можно сделать перевод*/,int line,...)
{
//Обрабатываем все аргументы-на выходе str-содержимое t и дополнительных аргументов("...")
....
str+=_T("In:")_file;
str+=_T("Line %d:")line;
LogMessage(str);
}


Писал по памяти,но принцип работает и используется в реальном проекте

Сообщение отредактировал Tron - 03.09.2012, 16:22
Перейти в начало страницы
 
Neo][
сообщение 03.09.2012, 19:35
Сообщение #485


The One
****************

Репутация:   744  
Группа: Участник
Сообщений: 2715
Награды: 5
Регистрация: 05.12.2005




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Shoкer @ 03.09.2012, 02:10) *
Neo][
Не получилось нагуглить достаточно информации, но я так понял это как раз строка для вывода сообщения в отладочное окно Visual Studio? Если да, то тоже вариант, но вдруг понадобиться отладить уже собранную программу, тогда без Visual Stuido не обойтись, а так включил галочку в собранной программе и сразу сообщения в консоль посыпались.

Shoкer, можно и обойтись http://technet.microsoft.com/ru-ru/sysinternals/bb896647 wink.gif Здесь тебе и real-time, и простенькие фильтры/подсветка, запись в файл и т.п.



А вообще, обычно, пишут лог в файл, тогда можно и у пользователя этот файлик потом попросить smile.gif

Сообщение отредактировал Neo][ - 03.09.2012, 19:51


--------------------
Перейти в начало страницы
 
Neo][
сообщение 03.09.2012, 20:29
Сообщение #486


The One
****************

Репутация:   744  
Группа: Участник
Сообщений: 2715
Награды: 5
Регистрация: 05.12.2005




Вставить ник Цитировать выделенное в форуму быстрого ответа


Shoкer, кстати по поводу отладки. Логирование в файл и "диалог ассёртов" можно утянуть из старого сталкер проекта, http://sourceforge.net/projects/xrfsl/. Лог конечно примитивнейший, а вот ассёрты я до сих пор иногда юзаю в проектах smile.gif
Диалог этот можно было видеть, например, в плагине ипорта геометрии.


--------------------
Перейти в начало страницы
 
autistic
сообщение 03.09.2012, 21:09
Сообщение #487


Геймер
******

Репутация:   86  
Группа: Участник
Сообщений: 128
Награды: 4
Регистрация: 05.05.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


Neo][, а зачем это все, просто assert'a недостаточно разве?


--------------------
nop
Перейти в начало страницы
 
autistic
сообщение 03.09.2012, 21:30
Сообщение #488


Геймер
******

Репутация:   86  
Группа: Участник
Сообщений: 128
Награды: 4
Регистрация: 05.05.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


сам ассерт написать достаточно тривиальная задача http://ideone.com/qOuu6
а уж какаим образом будет выведено сообщение, хоть в файл, хоть в консоль, хоть в 3д-вьюпорт, это дело десятое, не ассертово это дело smile.gif


--------------------
nop
Перейти в начало страницы
 
Tron
сообщение 03.09.2012, 22:31
Сообщение #489


Игровой Эксперт
***************

Репутация:   407  
Группа: Участник
Сообщений: 2394
Награды: 5
Регистрация: 19.01.2009




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Tron @ 03.09.2012, 17:20) *
Цитата
У меня есть файлик (старый уже), где в отдельном пространстве имен debug есть 3 функции - msg(file,function,line,format,...), warming(file,function,line,format,...),error(file,function,line,format,...), а также макрос, который автоматом меняет функцию Msg("some message"); в функцию Msg("some_file.cpp","some_function",999,"some message"); Получается очень удобно

Зачем такие сложности?-почему бы не сделать так

Код
void Error(const TCHAR*t,const char*_file/*Тут именно чар,можно сделать перевод*/,int line,...)
#define LogWrite(a) Error(a,_FILE_,_LINE_)

void Error(const TCHAR*t,const char*_file/*Тут именно чар,можно сделать перевод*/,int line,...)
{
//Обрабатываем все аргументы-на выходе str-содержимое t и дополнительных аргументов("...")
....
str+=_T("In:")_file;
str+=_T("Line %d:")line;
LogMessage(str);
}


Писал по памяти,но принцип работает и используется в реальном проекте

Перечитал текст,пардон,сделал тоже самое.
Извини,я был после ВМ
Перейти в начало страницы
 
autistic
сообщение 12.09.2012, 08:09
Сообщение #490


Геймер
******

Репутация:   86  
Группа: Участник
Сообщений: 128
Награды: 4
Регистрация: 05.05.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


всех с праздником )


--------------------
nop
Перейти в начало страницы
 
Shoкer
сообщение 22.09.2012, 15:44
Сообщение #491


Кандидат Игровых Наук
******************

Репутация:   2153  
Группа: Участник
Сообщений: 3488
Награды: 4
Регистрация: 27.07.2009




Вставить ник Цитировать выделенное в форуму быстрого ответа


Не совсем по теме, но вдруг повезёт.
Есть вектор V(x,y,z)
Есть поворот вида R(1.0,0.5,-0.7)

Как правильно повернуть вектор V на поворот R? Наиболее быстрым способом.
Рыскаю по интернету но с переменным результатом, а у самого что то пока полный швах с пониманием...
Может кто то подкинет ссылку на хороший пошаговый пример?

Сообщение отредактировал Shoкer - 22.09.2012, 15:46


--------------------
Мне просто нравятся синие буквы под сообщением.
Перейти в начало страницы
 
autistic
сообщение 22.09.2012, 21:20
Сообщение #492


Геймер
******

Репутация:   86  
Группа: Участник
Сообщений: 128
Награды: 4
Регистрация: 05.05.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


если R - это углы поворота вокруг осей x, y, z, соответственно, тогда тебе исходя из этих условий нужно найти матрицу поворота, соответствующую заданной системе координат, и умножить вектор на эту матрицу. это можно осуществить двумя способами:

способ 1, хардкорный
результирующую матрицу можно найти как произведение трех матриц поворота вокруг осей x,y,z, важно только соблюдать порядок перемножения. о том что такое матрица поворота можно почитать на википедии, про умножение вектора на матрицу можно найти там же, остается только закодировать.

способ 2 гуглокулхацкерский
можно, вооружившись гуглом, посмотреть как реализована математика в различных трехмерных движках. вот пример кода из огра (не самый лучший пример, да, но зато доступный)
получение матрицы поворота из углов эйлера
умножение вектора на матрицу


--------------------
nop
Перейти в начало страницы
 
nuan
сообщение 22.09.2012, 21:42
Сообщение #493


Игровое Воплощение
*********************

Репутация:   384  
Группа: Участник
Сообщений: 4718
Награды: 9
Регистрация: 21.05.2008




Вставить ник Цитировать выделенное в форуму быстрого ответа


Shoкer есть отличная книга , в которой все написано, причем с кодом и т.п.
А пока искал... Немного ошибся в гугле и вот результат:

Перейти в начало страницы
 
autistic
сообщение 23.09.2012, 00:07
Сообщение #494


Геймер
******

Репутация:   86  
Группа: Участник
Сообщений: 128
Награды: 4
Регистрация: 05.05.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


я тут набросал на скорую руку примерчик на сишечке: http://ideone.com/rwNId


--------------------
nop
Перейти в начало страницы
 
Marauder
сообщение 25.11.2012, 13:31
Сообщение #495


Der Metzgermeister
*********************

Репутация:   1153  
Группа: Участник
Сообщений: 4669
Награды: 11
Регистрация: 06.01.2008




Вставить ник Цитировать выделенное в форуму быстрого ответа


Камрады! Нужна помощь! На С++ нужно написать калькулятор, который считает десятичные числа. Как сделать проверку для окна, чтобы можно было ввести цифры и точку? Есть там параметр у поля Только цифры, но тогда точка не ставится. Помогите плз)


--------------------
Моя конфа: Intel Core 2 Duo E8500 (3.16x2); 4Gb Ram; GF 9800GT GF GTX 550 Ti 1Gb.
"Перемен требуют наши сердца."© В.Цой
"Die Liebe ist ein wildes Tier, sie ahnt dich, sie sucht nach dir."© Rammstein - Amour
Ничто не истинно, все дозволено.
Мой Twitter - ТЫЦ
Чемпион по Assassin's Creed: Brotherhood по версии ИгроМир 2010.
Перейти в начало страницы
 
Son1c
сообщение 25.11.2012, 13:51
Сообщение #496


Продвинутый геймер
********

Репутация:   74  
Группа: Забанен
Сообщений: 359
Награды: 2
Регистрация: 24.08.2007




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Marauder @ 25.11.2012, 12:31) *
Камрады! Нужна помощь! На С++ нужно написать калькулятор, который считает десятичные числа. Как сделать проверку для окна, чтобы можно было ввести цифры и точку? Есть там параметр у поля Только цифры, но тогда точка не ставится. Помогите плз)

Используй вместо Edit MaskEdit с необходимой маской.

Сообщение отредактировал Son1c - 25.11.2012, 13:52
Перейти в начало страницы
 
Marauder
сообщение 25.11.2012, 14:21
Сообщение #497


Der Metzgermeister
*********************

Репутация:   1153  
Группа: Участник
Сообщений: 4669
Награды: 11
Регистрация: 06.01.2008




Вставить ник Цитировать выделенное в форуму быстрого ответа


Не могу найти что то. Не подскажешь где искать?


--------------------
Моя конфа: Intel Core 2 Duo E8500 (3.16x2); 4Gb Ram; GF 9800GT GF GTX 550 Ti 1Gb.
"Перемен требуют наши сердца."© В.Цой
"Die Liebe ist ein wildes Tier, sie ahnt dich, sie sucht nach dir."© Rammstein - Amour
Ничто не истинно, все дозволено.
Мой Twitter - ТЫЦ
Чемпион по Assassin's Creed: Brotherhood по версии ИгроМир 2010.
Перейти в начало страницы
 
autistic
сообщение 25.11.2012, 14:59
Сообщение #498


Геймер
******

Репутация:   86  
Группа: Участник
Сообщений: 128
Награды: 4
Регистрация: 05.05.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


Marauder, какую среду/библиотеку используешь?

upd.
http://www.functionx.com/bcb/controls/maskedit.htm


--------------------
nop
Перейти в начало страницы
 
HappyMenses
сообщение 25.11.2012, 15:01
Сообщение #499


Мастер Игры
************

Репутация:   188  
Группа: Участник
Сообщений: 1287
Награды: 2
Регистрация: 28.02.2009




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(nuan @ 22.09.2012, 21:42) *
Shoкer есть отличная книга , в которой все написано, причем с кодом и т.п.
А пока искал... Немного ошибся в гугле и вот результат:

Ухахахаха чем она отличная? Тем, что большая и с картинками? Или ты это над ним так издеваешься? xDDDD

Автор написал свой графический API, и учит как им пользоваться для создание графической игры.
Да, в книге хорошо изложенна теория, но она устарела уже лет как 6 назад.
Книга даже не стоит внимания.

Сообщение отредактировал mendoza - 25.11.2012, 15:02


--------------------
yeah
Перейти в начало страницы
 
Shoкer
сообщение 25.11.2012, 15:09
Сообщение #500


Кандидат Игровых Наук
******************

Репутация:   2153  
Группа: Участник
Сообщений: 3488
Награды: 4
Регистрация: 27.07.2009




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Marauder @ 25.11.2012, 13:31) *
Камрады! Нужна помощь! На С++ нужно написать калькулятор, который считает десятичные числа. Как сделать проверку для окна, чтобы можно было ввести цифры и точку? Есть там параметр у поля Только цифры, но тогда точка не ставится. Помогите плз)


Если у элемента есть колбэк на введёный символ (короче функция, которая вызывается каждый раз для каждого символа при его вводе), то можешь просто сравнивать ASCII код символа и разрешать писать лишь только символы цифры\точки.
Вообще с визуальной средой С++ я не работал так что это тока предложение.


--------------------
Мне просто нравятся синие буквы под сообщением.
Перейти в начало страницы
 

38 страниц V  « < 23 24 25 26 27 > » 
Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 17.05.2024, 07:36