| 
				
				Результаты поиска
				 |   |  
| Александр5 | Дата: Пятница, 15 Февраля 2013, 14:01 | Сообщение # 21 | Тема: Мои вопросы по обучению на Delphi XE и помощь к созданию игр |  
 
частый гость 
Сейчас нет на сайте 
 
 | А чтобы строку string привести в нечитабельный вид - нужно её шифровать. Правда, тогда тебе придётся перед записью строку шифровать, а после чтения - расшифровывать, а если будешь шифровать весь файл целиком - придётся писать свои методы чтения/записи (т.к. read(fil,g) считает зашифрованные данные) или мудрить с алгоритмами дешифровки (т.е. расшифровывать записи уже после чтения через read(fil,g))...   Лучше строку шифровать и расшифровку слушай напиши мне шифровку и расшифровку или ссылку где про это пишут кстати непонемаю почему в делфи 5 не работает этот код   Код type TObect_obj=class(TObject)     type RObject_obj=record       Kartinka:tbitmap;       Names:string[20];       typesPO:BOOLEAN;       tormoz_procent:integer;       BOOLEAN_OBJECT:boolean;       TYPE_OBJECT:BYTE;       STOP_PERSONAZ:BOOLEAN;     end;     var Object_obj1:RObject_obj;   end;   const OBR_YES:STRING='(Да)';   OBR_NO:STRING='(Нет)';   var     Form1: TForm1; 
   implementation     а в раде все работает вот весь код модуля 
   Код unit UN_OBject; 
   interface 
   uses     Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,     ExtCtrls, StdCtrls, Buttons, ComCtrls; 
   type     TForm1 = class(TForm)       BitBtn1: TBitBtn;       Panel1: TPanel;       Image1: TImage;       Panel2: TPanel;       RadioGroup2: TRadioGroup;       RadioGroup1: TRadioGroup;       Timer1: TTimer;       CheckBox1: TCheckBox;       Label1: TLabel;       TrackBar1: TTrackBar;       Label2: TLabel;       OBR: TEdit;       Label3: TLabel;       procedure TrackBar1Change(Sender: TObject);       procedure Timer1Timer(Sender: TObject);     private       { Private declarations }     public       { Public declarations }     end;   type TObect_obj=class(TObject)     type RObject_obj=record       Kartinka:tbitmap;       Names:string[20];       typesPO:BOOLEAN;       tormoz_procent:integer;       BOOLEAN_OBJECT:boolean;       TYPE_OBJECT:BYTE;       STOP_PERSONAZ:BOOLEAN;     end;     var Object_obj1:RObject_obj;   end;   const OBR_YES:STRING='(Да)';   OBR_NO:STRING='(Нет)';   var     Form1: TForm1; 
   implementation 
   {$R *.DFM} 
   procedure TForm1.TrackBar1Change(Sender: TObject);   begin     Label1.Caption:=inttostr(TrackBar1.Position)+' %';   end; 
   procedure TForm1.Timer1Timer(Sender: TObject);   begin     If RadioGroup1.ItemIndex=0then begin panel2.Enabled:=false; end;     If RadioGroup1.ItemIndex=1then begin Panel2.Enabled:=true; end;     If CheckBox1.Checked=true then begin Label2.Caption:=OBR_YES;end else begin Label2.Caption:=OBR_NO;end;   end; 
   end.     вот собственно ошибки   Код [Error] UN_OBject.pas(32): 'END' expected but 'TYPE' found   [Error] UN_OBject.pas(42): 'IMPLEMENTATION' expected but ';' found   [Error] UN_OBject.pas(48): '.' expected but 'IMPLEMENTATION' found   [Error] UN_OBject.pas(24): Unsatisfied forward or external declaration: 'TForm1.TrackBar1Change'   [Error] UN_OBject.pas(25): Unsatisfied forward or external declaration: 'TForm1.Timer1Timer'   [Fatal Error] Object_Edit.dpr(5): Could not compile used unit 'UN_OBject.pas'     
 |  
| 
 | 
 |    |  
| Александр5 | Дата: Пятница, 15 Февраля 2013, 08:30 | Сообщение # 22 | Тема: Мои вопросы по обучению на Delphi XE и помощь к созданию игр |  
 
частый гость 
Сейчас нет на сайте 
 
 | constructor TSomeClass.Create;   begin   //Твой код, выполняется один раз при создании экземпляра класса   end; 
   destructor TSomeClass.Destroy;   begin   //Твой код, выполняется один раз при удалении экземпляра класса   end;   А что именно должно тут происходить 
   Ну ты просто хочешь, чтобы за тебя написали этот класс вместе с записью... Но при этом непонятно, что конкретно он должен записывать, а основные принципы я тебе раньше написал. Короче, изучай учебники по программированию, читай самоучители и руководства - там всё это есть, и очень подробно, так что, если будешь стараться понять и разобраться - обязательно во всём разберёшься и всё сам сможешь сделать.   Поверь, тебе будет полезнее разобраться самому, чем просить других написать тебе готовый код. 
   Спасибо ты мне очень помог и писать код я буду сам только что именно должно быть в конструкторах и в деструкторах 
   Такие символы в блокноте отображаются тогда, когда в файле записаны какая-либо информация бинарном виде (например, числа integer в файле file of integer), т.е. там могут быть какие угодно байты, а не только те, которые соответствуют определённым символам-буквам.   Если же ты хочешь записывать текстовую информацию, которую нельзя прочитать обычным блокнотом (т.е. зашифровать текст) - ищи информацию о шифровании текста (можно взять для начала какой-нибудь простой тип шифра), ну или вообще статьи по криптографии... 
   странно я рекорд записываю таким способом   assignfile(fil,extractfilepath(application.ExeName)+'papka\filename');   rewrite(fil);   write(fil,g);   closefile(fil);   а рекорд сделан так   type   TPers=record   name:string[10]; //Volodorn   jizn:word; //Жизни 1000   oruj:boolean; //оружие доступно   patron:integer; //патроны   ...   end;   но он все равно не такой результат выходит
 |  
| 
 | 
 |    |  
| Александр5 | Дата: Четверг, 14 Февраля 2013, 08:17 | Сообщение # 23 | Тема: Мои вопросы по обучению на Delphi XE и помощь к созданию игр |  
 
частый гость 
Сейчас нет на сайте 
 
 | Помогите мне разобраться с классом как сделать класс также конструктор и деструктор класса а главное запись рекорда из класса чтобы при открытие рекорда в текстовом формате примерно это высвечивалось и еще просьба написть создание класса масивов изображения с определенными координатами х и у каждое Добавлено (14.02.2013, 08:17) --------------------------------------------- Помогите разобраться с класом чтобы использовать его для игры в нем должен быть рекорд а также файл с текстами игры запись должна записывать рекорд через класс в итоге в рекорде должны быть символы на подобие таких 
    TSK§ ќз /ц Gс cе {Щ ’ џ ЕЩ ’е {с cц Gз /П ѕ · к ?WЩ ’е {с c   h(h №q`qzҐ‚ ЊҐ#З%д-лQуpШ \Ј^Йdдzт-ъ ` [‰ s© vЗ tй s)ЋH› Ќ А › л ¦ љ #Њ <Ѓ V 3#(э щ т Ю н ї к Ё Ъ ~mQ# Ю!Б!  %';кQуoЧ аьС¶-qPu&_6C;)1%щE 626ъ5 6° 	(М Х сШ Шв Кы є   Ў‡'h/ »’ Т® дВ сШ Х (М S) tN †d ’~ СN П= ±9 ”; v: 61 ,K   E цU 
 |  
| 
 | 
 |    |  
| Александр5 | Дата: Вторник, 05 Февраля 2013, 03:57 | Сообщение # 24 | Тема: Мои вопросы по обучению на Delphi XE и помощь к созданию игр |  
 
частый гость 
Сейчас нет на сайте 
 
 | TimKruz, Спасибо тебе но мне нужен файл бинарный его создания и загрузка я делаю редактор и поэтому все данные редактора карт в том числе и картинки персонажи которые в свою очерядь тоже будут бинарными файле должны будут храниться в бинарном файле карты сначала хочу с мозайкой в редакторе карт разобраться но все равно все будет храниться в одном файле   1 карта = 1 файл   несколько карт= 1 файл db
 |  
| 
 | 
 |    |  
| Александр5 | Дата: Воскресенье, 03 Февраля 2013, 23:25 | Сообщение # 25 | Тема: Мои вопросы по обучению на Delphi XE и помощь к созданию игр |  
 
частый гость 
Сейчас нет на сайте 
 
 | а что может иметь больше 255 Добавлено (16.01.2013, 23:59) --------------------------------------------- Скажите о формате Rxx в Opengl и естли он в игровых движках и как игровой движок ZenGl установить на Delphi Добавлено (21.01.2013, 12:14) --------------------------------------------- Ну ктонибудь ответит Добавлено (03.02.2013, 23:25) --------------------------------------------- Скажите пожалуйста можно ли в рекорд записывать картинку или лучше как создать файл данных который бы смог содержать данные такие как integer, string, byte, tbitmap, tpngimage и т.д, и как сделать запись, и загрузку этих файлов. 
   2 вопрос дайте ссылку на 2d игровой движок ZenGl или какойнибудь другой для создания игры тип вид сверху, стратегия. 
 |  
| 
 | 
 |    |  
| Александр5 | Дата: Понедельник, 14 Января 2013, 20:41 | Сообщение # 26 | Тема: Мои вопросы по обучению на Delphi XE и помощь к созданию игр |  
 
частый гость 
Сейчас нет на сайте 
 
 | fireday, 1 Picturebox в Delphi нет. 2 Я так понял ты хочешьчтобы я сначала нарисовал целую картинки тайл где будут эти картинки потом их програмно вырезал и програмно поворачивал но для меня легче сделать множество картинок их загрузку и рисовку но разбираться с графикой не могу может кто ссылку даст на ZenGl 
   Добавлено (14.01.2013, 12:36)   ---------------------------------------------   ZenGL скачал но установить не могу и учебники мне к ниму бы надо надо сделать редактор карт 1 часть редактора это сборка карты из мазайки желательно сохранять карту в своем формате чтобы нельзя было открыть 2 часть редактор объектов но это все будет называться редактор карт ну и наконец 3 часть редактор миссий он тоже будет находиться в игре но будет на другой панели вот собственно я обещал вам проект показать пароль на файл 3000 Скачать проектДобавлено (14.01.2013, 20:41) --------------------------------------------- daun, вот тут возникет ошибка 
   Tname1=record   Name1:string;   Vamili:string;   Otzestwo:string;   televone:string[11];   robote:string;   info:string;   end;   Tnames1=record   name2:array[0..10000] of Tname1;   end;   var   Form2: TForm2;   Activ_VodDannjih:boolean;   records1:integer;   IniFile: TIniFile;   path:string;   i:integer;   names1:tnames1;   fil:file of tnames1;   в fil:file of tnames1; ошибка 
 
 Сообщение отредактировал Александр5 - Понедельник, 14 Января 2013, 12:38  |  
| 
 | 
 |    |  
| Александр5 | Дата: Воскресенье, 13 Января 2013, 01:14 | Сообщение # 27 | Тема: Мои вопросы по обучению на Delphi XE и помощь к созданию игр |  
 
частый гость 
Сейчас нет на сайте 
 
 | Да не нужно мне 50 мне с редактором карт рисование мира нужно разобраться Добавлено (13.01.2013, 01:14) ---------------------------------------------
  Цитата ( daun, ) Не все так просто. OpenGL это 3D, под 2D скорость маленькая, люди на нем годами 2D движки лепят, проще взять готовый.   ZenGL скоростной, но в каком состоянии сейчас, не знаю.   GLEngine2D средненький, кода не очень много, можешь полазить.    
   Ну можно только установятся ли они под рад студио v 8.0 xe3 и можно ли на нем написать такую игру где можно будет создавать свои кампании хотя че я говорю конечноможно веть за это отвечает не игровой движок но без движка игра не будет работать дай ссылку на ZenGL но врядли он на раде будет работать а GLEngine2D пробывал но я только на половину разобрался а GLScene так координаты не могу пнять и при том он скорее для 3d чем для 2D.
 |  
| 
 | 
 |    |  
| Александр5 | Дата: Суббота, 12 Января 2013, 23:24 | Сообщение # 28 | Тема: Мои вопросы по обучению на Delphi XE и помощь к созданию игр |  
 
частый гость 
Сейчас нет на сайте 
 
 | daun, Спасибо кокрас редактор можно будет сделать но вот одна проблемка мне сейчас нужна редактор карт сделать картинку видел вот из таких 17 нужно мир составлять если делать имаге передвигать или спрайт то нужно передвижение его на 50 пикселей делать слушай можешь мне рисовальныые и спрайтовские функции Opengl расказать 
   karta:array[1..100,1..100]of byte; // карта игры с номером тайла   personaj:array[1..50]of string[25]; // имена персонажей 
   Непонял а что означает от 1 до 100 максимальный размер не 100 а 2700 кажется пикселей 
   и TPers=record тоже надо записывать но лучше это все в 1 файл данных запихнуть так как у меня персонаж не 1 а для бета тестации 7 потом буду делать еще
 
 Сообщение отредактировал Александр5 - Суббота, 12 Января 2013, 23:24  |  
| 
 | 
 |    |  
| Александр5 | Дата: Суббота, 12 Января 2013, 17:50 | Сообщение # 29 | Тема: Мои вопросы по обучению на Delphi XE и помощь к созданию игр |  
 
частый гость 
Сейчас нет на сайте 
 
 | Цитата Delphi?)   Игры?)   Охх, лучше забудь Делфи и Игры)   Я в смысле - В Делфи писать игры, это просто садизм.     Чего. Кром написал игру, которую можно полностью менять и добавлять свои кампании, множество редакторов и все это на Delphi 7 при том Delphi и c++ отличаются только кодом и что C++ сложнее, чем Delphi. Честно говоря, до этого работал на Visual basic net, но так как я услышал, что он не язык, а интерпретатор и сложные игры на нем не напишешь, то я решил перейти к Delphi, оказалась Delphi сложнее намного сложнее, чем Visual basic net, но я не отступаю не в этом случае. Я желаю обучиться программированию самостоятельно не для профессии, а просто для удовольствия. 
   Добавлено (12.01.2013, 16:57)   ---------------------------------------------   daun, Обычную карту для игры, вид сверху неполную карту это только пока что начало редактора рисования мира тайлами их размер 50 на 50 пикселей редактор объектов, такие как здания и двери потом сделаю игра стратегия войнушка но не строительство. Раньше всегда думал что строительство сделать легко сейчас понял что это сложно но дело не в этом строительство я не буду делать потому-что оно не нужно.   Цитата (daun, ) штук, фиолетово, не критично    
   Нет 15 числа я скину проект байтов нет пока.      вот собственно картинка 1 из 17    Добавлено (12.01.2013, 17:50) --------------------------------------------- karuy, А на нем можно будет стратегии разрабатывать 
 
 Сообщение отредактировал Александр5 - Суббота, 12 Января 2013, 17:30  |  
| 
 | 
 |    |  
| Александр5 | Дата: Суббота, 12 Января 2013, 15:41 | Сообщение # 30 | Тема: Мои вопросы по обучению на Delphi XE и помощь к созданию игр |  
 
частый гость 
Сейчас нет на сайте 
 
 | daun,Может скажешь как сделать редактор карт чтобы составлялся мир картинки есть для этого есть вообще 15 смогу весь проект скинуть но будет работать только на рад студио на 5 и 7 проект не будет работать но сам ехе будет есть кое какие недоработки в этом коде потом исправлю
 |  
| 
 | 
 |    |  
| Александр5 | Дата: Суббота, 12 Января 2013, 09:43 | Сообщение # 31 | Тема: Мои вопросы по обучению на Delphi XE и помощь к созданию игр |  
 
частый гость 
Сейчас нет на сайте 
 
 | Цитата ( daun, ) Зачем в редакторе таймер?     Он выводит на стусбар определенные значения ну ктонибудь мне поможет с редактором карт файлы данных у меня служат для персонажей мне нужно именно чтобы составлять из кусков мозайки мирДобавлено (12.01.2013, 09:43) ---------------------------------------------
  Цитата ( daun ) Зачем читать где мышка, когда так видно?      Ну мышка где находятся вино но координаты ее лучше читать програмно говорю хотелд сделать движение имаге по скролу чтобы потом отрисовывать то что в имаге на карту которая находжиться на скроле карта тоже обьект Image есть другой путь но немогу додуматься может и смогу если скажете о спрайтах OpenGl так как Canvas не поддерживает Png
 |  
| 
 | 
 |    |  
| Александр5 | Дата: Пятница, 11 Января 2013, 05:13 | Сообщение # 32 | Тема: Мои вопросы по обучению на Delphi XE и помощь к созданию игр |  
 
частый гость 
Сейчас нет на сайте 
 
 | Я начел изучать Delphi, хочу писать игры ради развлечения, а не ради наживы и чтобы не терять время начел создавать игру. Пока что меня интересует одно сделать редактор карт, а именно передвижение Image или присваивание курсору картинки png вот код, отвечающий за загрузку картинок, кстати, Record и type я не до конца изучил, не знаю где можно найти еще примеры.   Просьба помочь мне с обучением Delphi и созданием игры.   Рисую я плохо, но для тестов смогу нарисовать пока что меня интересует редактор карт 2D.   Надеюсь, будут люди, кто сможет мне помочь, могу использовать игровой движок, но какой не знаю, интересуюсь только 2D графикой.Добавлено (11.01.2013, 05:13) --------------------------------------------- Забыл код вотон только 1 модуль из 10 
    Код unit Glaw_Unite; 
   interface 
   uses     Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,     Dialogs, Menus, ExtDlgs, StdCtrls, Buttons, ExtCtrls,Dir_Folder,pngimage,Mini_Games,     PlatformDefaultStyleActnCtrls, ActnPopup, ToolWin, ComCtrls,Point_collision; 
   type     TForm1 = class(TForm)       MainMenu1: TMainMenu;       N1: TMenuItem;       N2: TMenuItem;       N3: TMenuItem;       N4: TMenuItem;       Gthcjyfb1: TMenuItem;       OpenPictureDialog1: TOpenPictureDialog;       Panel1: TPanel;       Panel2: TPanel;       Label1: TLabel;       BitBtn1: TBitBtn;       BitBtn2: TBitBtn;       BitBtn3: TBitBtn;       ScrollBox1: TScrollBox;       ListBox1: TListBox;       Img_Map: TImage;       ComboBox1: TComboBox;       ComboBox2: TComboBox;       CheckBox1: TCheckBox;       Image1: TImage;       N5: TMenuItem;       StatusBar1: TStatusBar;       Timer1: TTimer;       N6: TMenuItem;       procedure N2Click(Sender: TObject);       procedure N4Click(Sender: TObject);       procedure BitBtn1Click(Sender: TObject);       procedure CheckBox1Click(Sender: TObject);       procedure N5Click(Sender: TObject);       procedure FormCreate(Sender: TObject);       procedure Timer1Timer(Sender: TObject);       procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);       procedure ListBox1DrawItem(Control: TWinControl; Index: Integer;         Rect: TRect; State: TOwnerDrawState);       procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,         Y: Integer);     private       { Private declarations }     public       { Public declarations }     end;   list = ^spisok; 
     spisok = record       fil: string;       nextsp: list;     end;   const     Cur_X:integer=0;     Cur_Y:integer=0;   var     Form1: TForm1;     fajlo: list;     ProgDir:string;     Cursor_X:integer;     Cursor_Y:integer;     text_cursor:string;     Text_True_and_lie:string;     activ_mouse_move:boolean;   implementation   {$R *.dfm} 
   procedure TForm1.BitBtn1Click(Sender: TObject);   var     i_png: Integer;     fs: TSearchRec;     i:integer;   begin      if openpicturedialog1.Execute then begin      img_map.Picture.LoadFromFile(openpicturedialog1.FileName);      img_map.Height:=strtoint(combobox1.Text);      img_map.Width:=strtoint(combobox2.Text);      img_map.Transparent:=CheckBox1.Checked;      end;     i := 0;     if FindFirst(progdir + 'картинки для создания мира\' + '*.png*',faAnyFile - faDirectory - faVolumeID, fs) = 0 then       repeat         inc(i); 
         if (fajlo = nil) then         begin           new(fajlo);         end         else         begin           new(fajlo^.nextsp);           fajlo := fajlo^.nextsp;         end;         fajlo^.fil := fs.Name;         fajlo^.nextsp := nil;         ListBox1.items.Add(fs.Name);       until FindNext(fs) <> 0;     findclose(fs);   end; 
   procedure TForm1.CheckBox1Click(Sender: TObject);   begin   if checkbox1.Checked=true then begin checkbox1.Caption:='Карта прозрачная'end else begin checkbox1.Caption:='Карта не прозрачная';end; 
   end; 
   procedure TForm1.FormCreate(Sender: TObject);   begin     with img_map do begin       Left:=Cur_X;       Top:=Cur_Y;       height:=cur_x;       width:=cur_y;     end;     with image1 do begin       Left:=Cur_X;       Top:=Cur_Y;       height:=cur_x;       width:=cur_y;     end;     activ_mouse_move:=false;   end; 
   procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,     Y: Integer);   begin     if (True_and_lie(X,Y,form1.Left,form1.Top,form1.Height,form1.Width) = true) then begin Text_True_and_lie:='Курсор находиться на форме'; end;     if (True_and_lie(X,Y,form1.Left,form1.Top,form1.Height,form1.Width) = false) then begin Text_True_and_lie:='Курсор за пределами формы'; end;   end; 
   procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,     Y: Integer);     var     x_y:tpoint;   begin     if (x >= Scrollbox1.Left + image1.Left)and(y >= scrollbox1.top + scrollbox1.Top) then begin       image1.Left:=x + 25;       image1.Top:=y + 25;     end; 
   end; 
   procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;     Rect: TRect; State: TOwnerDrawState);   begin     With ListBox1 do   begin      If odSelected in State then        Canvas.Brush.Color:=clred { твой цвет }      else        Canvas.Brush.Color:=clWindow;      Canvas.FillRect(Rect);      Canvas.TextOut(Rect.Left+2,Rect.Top,Items[Index]);   end   end; 
   procedure TForm1.N2Click(Sender: TObject);   begin     Application.Terminate;   end; 
   procedure TForm1.N4Click(Sender: TObject);   begin     if panel1.Visible = true then panel1.Visible:=false else Panel1.Visible:=true; 
   end; 
   procedure TForm1.N5Click(Sender: TObject);   begin     New_image_games;     form2.Timer1.Interval:=1;     form2.Timer1.Enabled:=true;     form2.Panel1.Align:=alclient;     form2.Show;     form1.Hide;   end; 
   procedure TForm1.Timer1Timer(Sender: TObject);   var     Curs_X_Y:Tpoint;     Rtext:string;   begin     getCursorPos(Curs_X_Y);     text_cursor:=inttostr(Curs_X_Y.X) + ' , Y =  ' + inttostr(Curs_X_Y.Y);     if (True_and_lie(curs_x_y.X, curs_x_y.Y, scrollbox1.Left, scrollbox1.Top, scrollbox1.Width, scrollbox1.Height) = true) and (panel1.Visible = true) then begin       activ_mouse_move:=true;       Rtext:='находиться';     end else begin       activ_mouse_move:=false;       Rtext:='не находиться';     end;     StatusBar1.Panels.Items[0].Text := 'Координаты курсора: X = ' + text_cursor + '! ' + Text_True_and_lie + '! Размер карты: Высота = ' + inttostr(img_map.Height) + ' , Ширина = ' + inttostr(img_map.Width) + '! Мышка ' + Rtext + ' на панели';     end; 
   end.  
 |  
| 
 | 
 |    |     
		
		 
 |