- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 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
bool ParseConfig::TestLongInt(const std::wstring _data) const
{
std::wstring::size_type i=0;
bool isPositively=true;
unsigned long int scoreMinus=0;
std::wstring text;
std::wstring data;
if(_data.empty()) return false;
text=L"-0123456789";
for(i=0;i<_data.size();i++)
{
if(text.find(_data[i],0)==std::wstring::npos)
{
return false;
}
else
{
if(_data[i]==L'-') scoreMinus++;
}
}
if(scoreMinus==1)
{
isPositively=false;
if(_data[0]!=L'-') return false;
if(_data.size()==1)
return false;
else if(_data.size()>11)
return false;
data=_data.substr(1,_data.size()-1);
}
else if(scoreMinus>1)
{
return false;
}
else
{
if(_data.size()>10) return false;
data=_data;
}
if(data[0]>L'2')
{
return false;
}
else if(data[0]==L'2')
{
if(data[1]>L'1')
{
return false;
}
else if(data[1]==L'1')
{
if(data[2]>L'4')
{
return false;
}
else if(data[2]==L'4')
{
if(data[3]>L'7')
{
return false;
}
else if(data[3]==L'7')
{
if(data[4]>L'4')
{
return false;
}
else if(data[4]==L'4')
{
if(data[5]>L'8')
{
return false;
}
else if(data[5]==L'8')
{
if(data[6]>L'3')
{
return false;
}
else if(data[6]==L'3')
{
if(data[7]>L'6')
{
return false;
}
else if(data[7]==L'6')
{
Чел новичок в этом деле, да.
http://www.gamedev.ru/code/forum/?id=141823
"делаю такой анализатор для игры, чтобы можно было извлекать данные из конфигурационных файлов (.cfg)."
а ведь круто, ни у кого такого нет
"Анализатор будет рассчитан на текст UTF-16 Little Encoding."
sic, однако!
хотя если бы были трудолюбивые китайцы -- возможно и нельзя было бы вражину сквозь херово пригнанные текстуры бетонной стены увидеть...
и они как-то кодили, да. :-D
зато мы знаем что ты тут вчера всем предлагал выебать тебя в жопу
вообще как показатель - компы все мощнее, карты все круче а игры все медленнее и медленнее.
в шутерах правда есть мудаки дизайнеры уровней которые начинают переливающийся гламр туда хуярить вообще не думая о том что графика будет тормозить.
ща не оптимизирует никто :(
А вот то, что для сраного тетриса теперь надо качать ОГЛ 3.0 и точканет 4.0 - это да, бесит.
кстати, современные игры и правда говно
купил движок
купил дизайнера с пошлым, заебавшим всех однообразным монстром в голове
и выпустил 1999123ю в этом году однообразную унылую говнострелялку, как две капли воды похожую на все остальные
толи дело игры на спеке
что-то я видел, типа Caesar IV что-ли
> купил движок
ну я как бы еще раньше хотел посоветовать спиратить Havoc или Infinity, но сильно не уверен, что они сами по себе не кривые -)
Блин, забыл разлогиниться из-под этого мутанта.
--
...А где монтажка???
Графика никакая, зато технологично!
А я ещё на parovoz.com фотки иногда смотрю. У каждой второй комментарий «Горизонт завален» на самом деле.
Но один чел сказал: "всегда выбирай трудный путь, на нём ты не встретишь конкурентов"
А когда человек использует готовые либы, чтобы облегчить свой труд?
Прочитайте главу "злые волшебники" из книги "программист прагматик". ))
Любая абстракция имеет дыры, и что бы не попасть в просак, нужно понимать хотя бы на 1-2 уровня ниже, что бы эти дыры чинить. Не обязательно конечно знать микрокод своего процессора, но знать работу используемых библиотек хотя бы в общих чертах все же надо.
примеры факапов, вызванных пренебрежением этого правила:
1) мне не нужно знать sql -- за меня ORM все сделает. В итоге запросы вешают сервер
2) не не нужно знать, как работают сети -- за меня мой RPC все сделает: в итоге на каждое действие 25 TCP коннектов, и все висит
и таких примеров тысячи
как по мне, это было бы последним чем я забивал себе голову при написании парсера.
Потому что происходят они — «всплывают хвосты», в те самые моменты, когда уже переключился на другой проект, а на этот подзабыл немного...
(2)Arbitrary-precision arithmetic — тоже вариант.
>>как по мне,
именно.
Просто разные упорядоченности критериев по приоритетам.
Например, так:
1. Надёжность;
2. Скорость;
3. Универсальность;
4 .Читабельность;
5. Кроссплатформенность.
> именно.
> Просто разные упорядоченности критериев по приоритетам. Например, так:
ты забыл номер 0 - парсер должен парсить :)
если пишешь большой кусок кода, то сначала сделать что бы он работал.
и читабельность к слову должна быть намного выше в списке. вероятность написания куска кода который работает и надежен и быстр, но не читабелен, близка к нулю.
а что, бывают ещё критерии для неработоспособно кода?
>если пишешь большой кусок кода, то сначала сделать что бы он работал.
Разные подходы:
- «быстрые пальцы»;
- «задумчивые лица».
Читабельность понимаю как выработанный и устоявшийся стиль программирования.
>и читабельность к слову должна быть намного выше в списке.
для проектов, в которых разные куски кода, могут/будут сопровождать разные программисты - обязательно.
Одиночные проекты, дровишки, прошивки и т.п. - не настолько существенно.
>вероятность написания куска кода который работает и надежен и быстр, но не читабелен, близка к нулю.
есть код, который работает и надежен и быстр, и сразу не читабелен.
Любители «hacker code tricks» - обфускаторы во плоти.
Кстати говоря «не читабельность », это не статическое состояние кода,
эта мера необходимых ресурсов для понимания написанного кода.