Четверг, 06 Ноября 2025, 13:18

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Результаты поиска
TimKruzДата: Пятница, 12 Октября 2012, 22:58 | Сообщение # 421 | Тема: Delphi:Вопрос-Ответ
старожил
Сейчас нет на сайте
Quote (karuy)
readln (f1, st); {читаем строку из файла f1 }
i := StrToInt(Copy(st, 1, Pos(',', st)-1)); { первое число }
j := StrToInt(Copy(st, Pos(',', st)+1, length (st))); { второе }

Значительно проще сделать так:
Quote
readln(f1, i, j);

При этом числа i и j должны быть записаны в файле f1 через пробел, а система сама их разобьёт на отдельные числа, и не придётся лишний раз мучиться с запятыми, лишними пробелами и тому подобным...
Кстати, Destroy просил "без всяких процедур Delphi", а StrToInt - дополнительная функция, содержится в модуле SysUtils. Если нужно использовать только стандартные функции, StrToInt нужно заменить на Val, но код будет выглядеть ещё сложнее; просто не имеет смысла (в решении конкретной задачи) обрабатывать строку из файла, отдельно выделять запятые и всё такое, когда можно сделать проще...
Quote (karuy)
=)) Ты назвал файл 111.txt, тоисть это имя. Вместе з разширениям это 111.txt.txt))) Переназови файлы или измени имена искомых в программе, все отлично работает.

Destroy, в настройках папок Windows разреши показывать расширения файлов. Если ты программист, почти всегда приходится контролировать полное имя каждого файла...


TimKruzДата: Пятница, 12 Октября 2012, 22:39 | Сообщение # 422 | Тема: Покоментируйте код)
старожил
Сейчас нет на сайте
Quote (vasua99)
utf-8 в виндовской консоле

В консоли Windows программам предоставляется только 8-битная ASCII, а там, по-умолчанию, кириллицы нет. Есть специальные русификаторы, позволяющие добавить кириллицу, но это лишняя нервотрёпка пользователю. Поэтому, если так хочется работать с консолью - придётся писать на английском, чтобы у всех выглядело одинаково... Заодно количество потенциальных юзеров расширится и знания в английском укрепишь... biggrin
Кстати, обрабатывает русские символы, введённые пользователем, твоя программа правильно - и в файле всё записывается, и ищет вроде бы нормально, и в консоль выводится корректно... Так что, если сейчас заменить текст программы на английский, всё можно будет оставить и так...
Quote (vasua99)
Бинарник для винды: Ссылка

У тебя там серьёзный баг. Если любую команду (--add, --search или --delete) оставить без параметров, программа зацикливается и/или аварийно завершается.
Ещё она вылетает, если в --add сделать 3 параметра. Наверняка тут ещё много таких косяков... Срочно усиливай "защиту от дурака". shades


TimKruzДата: Суббота, 06 Октября 2012, 20:44 | Сообщение # 423 | Тема: Text Manager
старожил
Сейчас нет на сайте
Quote (Маркер)
Ну и что там непонятного? Это же не по-русски.

Кодировка неверная, а так всё по-русски.
Quote (tifaso)
(в следующей версии сделаю)

Лучше (для пользователей... если они есть) "патч" выпустить, или промежуточную версию 2.5.1 - разве это так сложно? А то как всегда будешь месяц новую версию делать, а справка в последней версии корявая - несерьёзно выглядит...
Quote (tifaso)
Подсветку к нему прикручивал, но тогда программа слишком тормозит и возникают многочисленные глюки (версии 2.4 это проявилось особенно)

Так оптимизируй свой алгоритм. Может быть, ты там лишний раз обновляешь текстовое поле, поэтому повышается нагрузка.
Или можно сделать как-то проще, чем оно сейчас есть... Например, представлять tms как rtf (с rtf-то нормально работает), и преобразовывать только при чтении (tms -> rtf) и записи (rtf -> tms), а дополнительная обработка будет только для тех функций, которыми отличается tms...
Quote (tifaso)
Я думаю что не стоит уже это ковырять и назначить этому файлу уже другое значение (только пока не знаю какое).

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


TimKruzДата: Пятница, 05 Октября 2012, 23:00 | Сообщение # 424 | Тема: Text Manager
старожил
Сейчас нет на сайте
tifaso, вот теперь всё круто. И скин не ломается, и кнопки удобные, и функций много...
Только файл справки поправь. Например, там есть такая страница ("Что нового?"):
Quote
×òî íîâîãî?
 ýòîé âåðñèè:
Íîâûé ñêèí
Ïîëíîå ñêèíèðîâàíèå ïðîãðàììû (âêëþ÷àÿ ñèñòåìíûå äèàëîãè)
Êëàâèøè áûñòðîãî äîñòóïà
Íîâîå áîëåå ðàçâ¸ðíóòîå ìåíþ
Ïîèñê è çàìåíà òåêñòà
Îíëàéí èíôîðìåð (ïðåäîñòàâëÿåò ïîëüçîâàòåëÿì èíôîðìàöèþ îò àâòîðà)
Äîïîëíèòåëüíûå ôóíêöèè
Íàñòðîéêè ïðîãðàììû


Теперь работай со своим форматом tms, а то он у тебя уже давно в качестве особенности включён, а толку от него ноль... wacko




Сообщение отредактировал TimKruz - Пятница, 05 Октября 2012, 23:01
TimKruzДата: Пятница, 05 Октября 2012, 22:18 | Сообщение # 425 | Тема: -=Помогите с созданием Браузерной онлайн игры=-
старожил
Сейчас нет на сайте
Quote (PONTIAC_GTO)
Для начало скажу что сам разобрался с регистрацией и всё работает и сохраняется как надо! ТОлько одно есть, почему если я в регистрации пишу по русски, то в БД это всё эроглифами?
Quote (PONTIAC_GTO)
Код взят с сайта, и он полностью рабочий. Но почему так выходит я ни как не пойму!

Проблемы с совместимостью кодировок html-страницы с отправляемыми данными и программы, с помощью которой ты смотришь базу данных.
Quote (PONTIAC_GTO)
Но когда я зарегил другого у него изменился логин на перком скрине! А дополнительная инфа такая же как и у предыдущего! В чём проблема?

По скриншотам ничего не понятно (кстати, убери большие картинки под [spoiler]'ы), но, я думаю, у тебя проблема в коде регистрации и/или в коде просмотра дополнительной информации. Где-то там идёт обращение не к той ячейке таблице, которая нужна, а к другой... Например, при создании нового профиля его дополнительная информация записывается в новую ячейку, а считывается из ячейки первого профиля.




Сообщение отредактировал TimKruz - Пятница, 05 Октября 2012, 22:19
TimKruzДата: Понедельник, 01 Октября 2012, 19:39 | Сообщение # 426 | Тема: Дума над канвасом
старожил
Сейчас нет на сайте
Quote (Feraset)
При нажатии на координату выскакивает ошибка:

Ты на скриншоте, блин, сообщением об ошибке закрыл весь код (а там ведь ошибочная строчка выделяется).
В чём конкретно ошибка - не знаю, но это какая-то ошибка доступа к оперативной памяти...
Quote (Feraset)
cellcube.LoadFromFile('1.bmp');

Почему ты делаешь загрузку картинки в событии нажатия кнопки?! Ты должен сделать ещё в OnCreate.

P.S. Если ты всё-таки хочешь сделать функцию установки кубов на карту (как в майнкрафт/террарии), то тебе нужно работать по-другому - через массив карты...




Сообщение отредактировал TimKruz - Понедельник, 01 Октября 2012, 19:39
TimKruzДата: Воскресенье, 30 Сентября 2012, 19:38 | Сообщение # 427 | Тема: Kerbal Space program (KSP\КСП)
старожил
Сейчас нет на сайте
Quote (MasTerilDar)
Из целей полета пока присутствуют только одна планета, - Кербин, две Луны (Муна и Мимнус) и Солнце.

В статье на Википедии сказано о пяти планетах:
Quote
В настоящее время в игру добавлено 5 планет: Jool, Duna, Eve, Moho и Kerbin. Игрок начинает с Кербина, и двух её спутников, известных как Муна и Минмус. Хотя вполне возможно вывести корабль на орбиту Солнца именуемого Кербол.

Quote (MasTerilDar)
скачать можно на сайте моего друга пиар

Аккуратней с такими ссылками. Игру нужно покупать, стоит $18 (версия 0.13 бесплатная, как демо), и, следовательно, ты указал ссылку на нелегальную копию, а это запрещено правилами форума... Мог бы просто ссылку на главную страницу дать, типа "фансайт" (ниже ссылки на официальный сайт)...


TimKruzДата: Воскресенье, 30 Сентября 2012, 16:43 | Сообщение # 428 | Тема: Массив из картинок В Delphi 7
старожил
Сейчас нет на сайте
Quote (daun)
map1:array[0..30,0..30,0..30]of byte; пусть примитивная, но если устраивает требованиям игры, сойдет.
В среднем случае используется запись record, - можно создать сложную структуру данных.
В идеале классы: тот же record, только с методами (функциями) обработки данных.

Это верно, но главное - знать, где и что применять нужно. А то он сейчас сделает карту, в которой каждый блок - квадратик без каких-либо свойств - будет экземпляром класса tblock с собственным конструктором и кучей функций...
Quote (daun)
Все к тому, что продумывать лучше заранее

А он и продумал "всё". У него даже "наброски обьектно ориентированной системы" есть... wacko По-моему, он просто не знает, что продумывать тут нужно, и не сможет пока описать чёткой структуры будущего проекта...


TimKruzДата: Воскресенье, 30 Сентября 2012, 15:39 | Сообщение # 429 | Тема: Дума над канвасом
старожил
Сейчас нет на сайте
Quote (Feraset)
Проблему перекрывания собираюсь решить прозрачностью рядом находящихся блоков.

Всё равно, тридцать полупрозрачных блоков, накладывающихся друг на друга, создадут такую кашу, что игроку ничего не будет понятно. Хочешь трёхмерности карты - делай 3D-игру. Но 3D ты сейчас точно не осилишь...
Quote (Feraset)
Да эт всего лишь для кнопок движения персонажа. Так сказать для теста(проба пера.)

Глупости делаешь... Ты в этой куче таймеров-кнопок сам запутаешься потом...
Quote (Feraset)
А что здесь не так? Я всеголишь леплю на кнопки image.

По-моему, картинка кнопки типа BitBtn устанавливаешься ещё на этапе разработки формы в Delphi. А если нужно сменить картинку, при этом эта картинка хранится в компоненте Image, можно сделать так:
Code
BitBtn1.Glyph:=Image1.Picture.Bitmap;

Quote (Feraset)
Да и вообще это так для красоты, делал без особой надобности

Вот-вот, налепишь десяток ненужных вещей для красоты, а потом то что нужно работать перестанет... smile
Quote (Feraset)
2 - куб ставился не по координатам а в точке клика мыши

Ну при клике по форме ты получаешь координаты поля в массиве карты, и, следовательно, для вывода картинки на это поле нужно умножить координаты на высоту и ширину одного поля карты.

Из другой темы (не надо было туда-сюда копировать вопросы, отвечу только здесь):
Quote (Feraset)
Где хранится такая база и как она реализуется?

Под базой понимаются определённые данные в оперативной памяти компьютера или в виде файлов на жёстком диске. В твоём случае пока что подойдёт простой массив или набор переменных.

Ты так и не ответил, зачем тебе нужен этот куб. Предположим, он является выделением клетки. Тогда можно сделать такую глобальную переменную:
Code
Selected:TPoint;

TPoint - запись с полями X и Y типа integer. В ней будем хранить текущие координаты выделения. Если пользователь кликнул по клетке (2;3) - в Selected будут значения x=2 и y=3, а если пользователь снял выделение (скажем, нажал "отмена") сохраняются значения x=-1 и y=-1. Тогда в обработчике тика основного таймера сделаем следующее:
Code
//...блаблабла... - здесь циклы прорисовки карты
if (selected.x>-1) and (selected.y>-1) then buf.canvas.draw(selected.x*высотаблока, selected.y*ширинаблока, selcube);
form1.Canvas.Draw(0,0,buf);

При этом selcube - заранее (например, в FormOnCreate) заготовленный TBitmap с картинкой куба. Можно использовать картинку из ImageList'а, как тебе удобнее.

Но если ты собираешься сделать так, чтобы при клике по клетке появлялся куб, являющийся частью ландшафта (короче, как в Minecraft), то тебе нужно работать с массивом карты. То есть, например, у тебя весь ландшафт на уровне 0 (map[x,y,0]), а кубы ставятся на уровень 1 (map[x,y,1]); тогда можно просто в событии клика устанавливать значение ячейки массива map[item.x,item.y,1] равным индексу куба в базе картинок (imagelist'е). Допустим, 0 - пустая клетка, 1 - куб. При клике на форме в ячейку map[item.x,item.y,1] (где item - координаты кликнутой ячейки в массиве) заносится цифра 1. Ну а таймер рисует картинку с индексом 1 (куб) в соответствующей ячейке (потому что нужный код уже в нём есть).


TimKruzДата: Воскресенье, 30 Сентября 2012, 00:42 | Сообщение # 430 | Тема: AI БОТА!
старожил
Сейчас нет на сайте
Quote (AlexAngel777)
Просто полюбе были созданы программы для упрощения его написания.

Какой именно AI тебе нужен, для чего? Яснее писать нужно...
В играх AI пишется именно на ЯП, как и вся игра.
А для автоматизации игрового процесса, т.е. создания ботов кликающих, нажимающих клавиши вместо игрока, можно использовать AutoIt. Если вкратце, это - бейсико-подобный бесплатный скриптовый язык, позволяющий легко и быстро автоматизировать большинство задач в Windows. Разобраться в нём с помощью справки и пары примеров просто.
Вот только AI, анализирующий игровую ситуацию и т.п., сделать всё равно будет очень сложно.


TimKruzДата: Суббота, 29 Сентября 2012, 22:19 | Сообщение # 431 | Тема: Дума над канвасом
старожил
Сейчас нет на сайте
Всё туманно. Всё зависит от того, для чего тебе нужно выводить этот куб.
Если тебе нужно выводить только один куб, сохрани его координаты в каких-нибудь глобальных переменных.
Типа var cx, cy:integer в модуле, а при выводе на экран (в событии таймера) проверять cx и cy и соответственно рисовать куб.

Quote (Feraset)
map1:array[0..30,0..30,0..30]of byte;

Ты что, рассчитываешь сделать изометрическую карту высотой в 31 блок? Если игра 2D, делать больше 3-4 ячеек в высоту бессмысленно, но даже эти будут друг друга перекрывать.

Quote (Feraset)
Code
procedure TForm1.Timer1Timer(Sender: TObject);
var x,y,z:byte;
BMP, BMP1: TBitmap;
begin
BMP:= TBitmap.Create;
try
bmp.Width:= Image1.Picture.Graphic.Width;
bmp.Height:= Image1.Picture.Graphic.Height;
bmp.Canvas.Draw (0, 0, Image1.Picture.Graphic);
BitBtn2.Glyph:= BMP;
finally;
bmp.Free;
end;
BMP1:= TBitmap.Create;
try
bmp1.Width:= Image2.Picture.Graphic.Width;
bmp1.Height:= Image2.Picture.Graphic.Height;
bmp1.Canvas.Draw (0, 0, Image2.Picture.Graphic);
BitBtn3.Glyph:= BMP1;
finally;
bmp1.Free;
end;

Что-то я не понял смысла этого куска кода. Ты каждые N миллисекунд создаёшь 2 битмапа, копируешь в них картинку из каких-то image на форме, задаёшь картинку из битмапа в качестве картинки кнопки, и удаляешь битмапы. Что это за бред? wacko

Quote (Feraset)
Timer5.Enabled:=True;

У тебя 5 таймеров на форме? shock Учись справляться со всеми задачами с помощью только одного таймера...

P.S. Тебе уже в предыдущей теме правильно сказали - с таким подходом у тебя вряд ли получится что-то хорошее. Прежде, чем бросаться что-то делать, стоит всё подробно изучить, поработать с мелкими проектами, подробно продумать техническую сторону основного проекта и только после этого приниматься за его разработку...




Сообщение отредактировал TimKruz - Суббота, 29 Сентября 2012, 22:20
TimKruzДата: Пятница, 28 Сентября 2012, 20:20 | Сообщение # 432 | Тема: Delphi:Вопрос-Ответ
старожил
Сейчас нет на сайте
Quote (Destroy)
вот например я в первой форме в строку вбиваю значение, а во второй форме это значение должен вывести.
Так он в не находит переменные других формах и так где надо вывести он пишет что неизвестная переменная

Во втором модуле (unit2) после части implementation пишешь uses unit1 (точно так же можно сделать в unit1 - uses unit2), и, таким образом, получаешь доступ к этому модулю. Однако, если переменная объявлена в разделе private или protected класса TForm1 - из другого модуля её будет не видно, объявляй в разделе public.


TimKruzДата: Пятница, 28 Сентября 2012, 19:51 | Сообщение # 433 | Тема: MySQL добавление контента в бд
старожил
Сейчас нет на сайте
m1raz, у тебя таблица содержит данные целочисленного типа, а отправляешь в неё ты строки.
$_POST["liguma_nr"] содержит строку, полученную из поля ввода формы. Попробуй сделать так:
Quote
(int)$_POST["liguma_nr"];

Либо сначала сохрани значение из массива POST в другую переменную:
Code
$ligumanr=(int)$_POST["liguma_nr"];




Сообщение отредактировал TimKruz - Пятница, 28 Сентября 2012, 19:53
TimKruzДата: Понедельник, 24 Сентября 2012, 22:57 | Сообщение # 434 | Тема: Хотели бы Вы больше игровых конкурсов на GcUp.ru ???
старожил
Сейчас нет на сайте
Quote (First)
Думаю, что мотивация работать - это будет те же 20 000 - 30 000 рублей.
Quote (TimKruz)
First, где ты эти 20-30 тысяч предлагаешь найти? Для этого спонсоры нужны.

А теперь найди тех людей, которые вложат немалые деньги в конкурс...
Да и вообще, конкурс - это не способ заработка, это соревнование...
Quote
Ко́нкурс (лат. concursus) — соревнование, соискательство нескольких лиц в области искусства, наук и прочего, с целью выделить наиболее выдающегося (или выдающихся) конкурсанта-претендента на победу.

Quote (Racot)
Очень уж больно 3д обделяют/обходят лесом

Наверное потому, что не все умеют работать с 3D, 3D-игры (если не считать мелких поделок) сложнее.


TimKruzДата: Понедельник, 24 Сентября 2012, 21:27 | Сообщение # 435 | Тема: Серия статей об OpenGL
старожил
Сейчас нет на сайте
ZurgaZ, если достаточно хорошо разбираешься в OpenGL и можешь просто и ясно рассказать о нём другим - пиши, конечно.
Главное, меньше пиши о банальных вещах и больше - о более-менее сложных, на которых часто спотыкаются новички да и не только новички...
И не нужно дословно переводить статьи из руководства OpenGL, кому нужно - сам прочитает; лучше пойдут статьи о "недокументированных" функциях и особенных приёмах работы, интересных и полезных алгоритмах и тому подобном...


TimKruzДата: Понедельник, 24 Сентября 2012, 21:14 | Сообщение # 436 | Тема: Хотели бы Вы больше игровых конкурсов на GcUp.ru ???
старожил
Сейчас нет на сайте
Quote (First)
один большой конкурс на полтора месяца и денежным призов в 20 000 - 30 000 рублей

First, где ты эти 20-30 тысяч предлагаешь найти? Для этого спонсоры нужны.
Желающих участвовать в конкурсах и так мало, а за полтора месяца они ещё устанут и забросят всё, или обстоятельства какие-нибудь помешают...

А ведь есть ещё раздел "Конкурсы и соревнования" - хочешь конкурс, можешь организовать его сам, или попросить кого-нибудь организовать, чтобы ты мог в нём поучаствовать. yes


TimKruzДата: Понедельник, 24 Сентября 2012, 20:51 | Сообщение # 437 | Тема: Ищу напарника для сетевой игры =)
старожил
Сейчас нет на сайте
Quote (миха)
попроходить кооперативно
Quote (миха)
minecraft и terraria

С Террарией понятно, там иногда в одиночку слишком сложно, особенно боссы сложного режима... А в Майнкрафте какое кооперативное прохождение? Зомби лупить неинтересно (их мало и они слабые), пещеры исследовать скучно (все они однообразные), цветочки выращивать и коровок пасти просто глупо, босс только один... Ну построить что-нибудь можно, это да... Вот на средне-большом сервере, где человек десять-двадцать хотя бы играет - там интереснее...
миха, ты в Террарии персонажа на сколько развил - в сложный режим перешёл уже, или только начинаешь играть?

Кстати, в Minecraft теперь вроде бы можно прямо в клиенте свою карту открыть и играть по локальной сети; интересно, с хамачи будет работать?


TimKruzДата: Понедельник, 24 Сентября 2012, 20:12 | Сообщение # 438 | Тема: Массив из картинок В Delphi 7
старожил
Сейчас нет на сайте
Quote (Feraset)
как обратится к определённой картинке в канвасе кликом мыши

У формы, как и большинства других объектов есть событие OnMouseDown (и соответствующий ему OnMouseUp). При этом передаются координаты курсора. С помощью этих координат ты можешь вычислить, на какую клетку был сделан клик, примерно так:
Code
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var item:tpoint; //Здесь сохраним адрес клетки
begin
   item.x:=x div 50; //50 - ширина
   item.y:=y div 50; //и длина клетки
   caption:='Выбрана клетка с координатами ('+inttostr(item.x)+'; '+inttostr(item.y)+')';
end;

Если нумеруешь массив с нуля (например, [0..10,0..10]), то полученные числа будут адресом клетки - можно обратиться как map[item.x,item.y].
Естественно, если поле с картой занимает меньше общей площади окна, нужно ввести ограничение по ширине и высоте (например, if x<500 then...).


TimKruzДата: Воскресенье, 23 Сентября 2012, 21:11 | Сообщение # 439 | Тема: Обновление точек в OpenGL
старожил
Сейчас нет на сайте
Quote (clidi)
Нужно для коллизии. Можешь пожалуйста дать ссылку где про это рассказывается (независимо от OpenGL)?

Ссылок у меня нет, поищи сам. В принципе, там сплошная геометрия...


TimKruzДата: Воскресенье, 23 Сентября 2012, 20:55 | Сообщение # 440 | Тема: Вместо символов иероглифы
старожил
Сейчас нет на сайте
Quote (jiumx60rus)
Это не только в этой программе
И в других так же

Либо шрифтов каких-то не хватает, либо проблемы с кодировкой в системе. Для начала скачай и установи основные шрифты, каких ещё нет.




Сообщение отредактировал TimKruz - Воскресенье, 23 Сентября 2012, 20:55
Поиск:

Все права сохранены. GcUp.ru © 2008-2025 Рейтинг