Воскресенье, 05 Мая 2024, 12:26

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 2 из 2
  • «
  • 1
  • 2
Форум игроделов » Записи участника » Александр5 [32]
Результаты поиска
Александр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.
Форум игроделов » Записи участника » Александр5 [32]
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:

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