<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=429108&amp;view=findpost&amp;p=3874278</guid>
        <pubDate>Sun, 21 Aug 2022 05:38:14 +0000</pubDate>
        <title>Помогите разобраться с кодом Delphi...</title>
        <link>https://forum.sources.ru/index.php?showtopic=429108&amp;view=findpost&amp;p=3874278</link>
        <description><![CDATA[RusSun: to Разувай Если всё, то пора закрывать тему. :scratch: <br>
<br>
<a class='tag-url' href='https://codeby.net/threads/pomogite-razobratsja-s-kodom-delphi.80354/latest' target='_blank'>др твоя тема(название тоже похоже) №1</a><br>
<a class='tag-url' href='https://vk.com/@prozadachi-rss-1130428671-149971614' target='_blank'>др твоя тема(название тоже похоже) №2</a><br>
<a class='tag-url' href='https://www.programmersforum.ru/showthread.php?t=343411' target='_blank'>др твоя тема(название тоже похоже) №3</a><br>
<a class='tag-url' href='https://www.cyberforum.ru/delphi-beginners/thread3012679-page2.html' target='_blank'>др твоя тема(название тоже похоже) №4</a><br>
<a class='tag-url' href='http://forum.delphimaster.net/cgi-bin/forum.pl?id=1660024108&n=18' target='_blank'>др твоя тема(название тоже похоже) №5</a><br>
<br>
ссылки на справочный материал, добавлено из тем и интернета<br>
<a class='tag-url' href='http://www.delphigfx.narod.ru/doc/path/path.htm' target='_blank'> Алгоритмы поиска пути added by macomics</a><br>
<a class='tag-url' href='https://delphisources.ru/pages/faq/base/search_nearest_path.html?ysclid=l6kndflc7r318317952' target='_blank'>№2 Поиск кратчайшего пути added by macomics</a><br>
<a class='tag-url' href='https://delgame.at.ua/publ/igra_tanchiki_chast_1/1-1-0-9' target='_blank'>№3 igra_tanchiki_chast_1</a><br>
<a class='tag-url' href='https://delgame.at.ua/publ/igra_tanchiki_chast_2/1-1-0-14' target='_blank'>№4 igra_tanchiki_chast_2</a><br>
<a class='tag-url' href='https://delgame.at.ua/publ/igra_tanchiki_chast_3/1-1-0-15' target='_blank'>№5 igra_tanchiki_chast_3</a><br>
<a class='tag-url' href='https://delgame.at.ua/publ/igra_tanchiki_chast_4_zavershenie/1-1-0-16' target='_blank'>№6 igra_tanchiki_chast_4_zavershenie</a><br>
<a class='tag-url' href='https://delphisources.ru/forum/showthread.php?t=22209' target='_blank'>№7 Readme. Создание игры Танчики</a>]]></description>
        <author>RusSun</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=429108&amp;view=findpost&amp;p=3873952</guid>
        <pubDate>Tue, 16 Aug 2022 16:26:11 +0000</pubDate>
        <title>Помогите разобраться с кодом Delphi...</title>
        <link>https://forum.sources.ru/index.php?showtopic=429108&amp;view=findpost&amp;p=3873952</link>
        <description><![CDATA[RusSun: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=429108&view=findpost&p=3873914'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Разувай &#064; <time class="tag-quote__quoted-time" datetime="2022-08-16T12:09:13+00:00">16.08.22, 12:09</time></span><div class='quote '>Вот проект.<br>
<br>
Добавлено Сегодня, 15:10<br>
[attach=#0][/attach]</div></div><br>
-&gt; [attach=#0][/attach] это означает, что не прикрепился. Папка по прежнему большая по размеру. :o <br>
=&gt; Пока &quot;Вот&quot; = &quot;нулю&quot; :-? :blink: :scratch:   <br>
<div class="tag-spoiler spoiler closed"><div class="spoiler_header" onclick="openCloseParent(this)">Скрытый текст</div><div class="body"><ul class="tag-list"><li>3 Удалить exe из папки проекта, заархивировать, выложить на файлообменник (yandex.disk, mail облако, или &quot;другой&quot; ), ссылку для скачивания выложи в данную тему.</li></ul></div></div>]]></description>
        <author>RusSun</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=429108&amp;view=findpost&amp;p=3873914</guid>
        <pubDate>Tue, 16 Aug 2022 12:09:13 +0000</pubDate>
        <title>Помогите разобраться с кодом Delphi...</title>
        <link>https://forum.sources.ru/index.php?showtopic=429108&amp;view=findpost&amp;p=3873914</link>
        <description><![CDATA[Разувай: Вот проект. <br>
<br>
<span class="tag-color tag-color-named" data-value="mergepost" style="color: mergepost"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2022-08-16T12:10:06+00:00">16.08.22, 12:10</time></span></span><br>
[attach=#0][/attach]]]></description>
        <author>Разувай</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=429108&amp;view=findpost&amp;p=3873826</guid>
        <pubDate>Mon, 15 Aug 2022 13:43:47 +0000</pubDate>
        <title>Помогите разобраться с кодом Delphi...</title>
        <link>https://forum.sources.ru/index.php?showtopic=429108&amp;view=findpost&amp;p=3873826</link>
        <description><![CDATA[RusSun: В целом есть два способа.  :jokingly: <br>
<div class="tag-spoiler spoiler closed"><div class="spoiler_header" onclick="openCloseParent(this)">Скрытый текст</div><div class="body"><ul class="tag-list"><li>1 удалить exe файл из папки с проектом и выложить в архиве &quot;своё творение&quot;, прикрепив в данной теме.</li><li>2 по легче будет. Пересобрать данный проект в новом проекте, перенося по частям код, и проверяя на работоспособность.</li></ul></div></div><br>
 ;)]]></description>
        <author>RusSun</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=429108&amp;view=findpost&amp;p=3873557</guid>
        <pubDate>Thu, 11 Aug 2022 09:04:31 +0000</pubDate>
        <title>Помогите разобраться с кодом Delphi...</title>
        <link>https://forum.sources.ru/index.php?showtopic=429108&amp;view=findpost&amp;p=3873557</link>
        <description><![CDATA[Разувай: В System.Classes ошибка<br>
raise EFOpenError.CreateResFmt(@SFOpenErrorEx, [ExpandFileName(AFileName), SysErrorMessage(GetLastError)]);]]></description>
        <author>Разувай</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=429108&amp;view=findpost&amp;p=3873433</guid>
        <pubDate>Tue, 09 Aug 2022 13:55:54 +0000</pubDate>
        <title>Помогите разобраться с кодом Delphi...</title>
        <link>https://forum.sources.ru/index.php?showtopic=429108&amp;view=findpost&amp;p=3873433</link>
        <description><![CDATA[macomics: Переставьте в TForm1.FormCreate<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">//pers</div><div class="code_line">Pers.X:=0;</div><div class="code_line">Pers.Y:=0;</div><div class="code_line">Pers.Xn:=0;</div><div class="code_line">Pers.Yn:=0;</div><div class="code_line">Pers.Povorot:=1;</div><div class="code_line">Pers.Anim:=1;</div><div class="code_line">Pers.Speed:=2;</div><div class="code_line">Pers.Current:=-1;</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script>эти строчки в начало процедуры. Иначе у вас Timer1 срабатывает до инициализации Pers.Current.]]></description>
        <author>macomics</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=429108&amp;view=findpost&amp;p=3873417</guid>
        <pubDate>Tue, 09 Aug 2022 12:05:14 +0000</pubDate>
        <title>Помогите разобраться с кодом Delphi...</title>
        <link>https://forum.sources.ru/index.php?showtopic=429108&amp;view=findpost&amp;p=3873417</link>
        <description><![CDATA[Разувай: Сделал обход препятствий (Волновой алгоритм Ли) персонажем.<br>
сетка 50 на 50 пикселей. Выдаёт ошибку: Range check error.<br>
<br>
unit Unit1;<br>
<br>
interface<br>
<br>
uses<br>
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,<br>
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls;<br>
<br>
type<br>
TPers=record<br>
 X,Y,Xn,Yn,Povorot,Anim,Speed,Current:integer;<br>
 way:array of TPoint;<br>
end;<br>
<br>
  TForm1 = class(TForm)<br>
    Timer1: TTimer;<br>
    Image1: TImage;<br>
    Timer2: TTimer;<br>
    procedure FormCreate(Sender: TObject);<br>
    procedure Timer1Timer(Sender: TObject);<br>
    procedure FormMouseDown(Sender: TObject; Button: TMouseButton;<br>
      Shift: TShiftState; X, Y: Integer);<br>
    procedure Timer2Timer(Sender: TObject);<br>
  private<br>
    { Private declarations }<br>
  public<br>
    { Public declarations }<br>
  end;<br>
<br>
var<br>
  Form1: TForm1;<br>
  Buf,Obj,ManImg: TBitmap;<br>
  Ground:array[0..1] of TBitmap;<br>
<br>
  Predmet:array[1..2] of TBitmap;<br>
  Bild:array[1..2,1..3] of TBitmap;<br>
  Panel:array[0..2] of TBitmap;<br>
  Doo:array[1..3] of TBitmap;<br>
  Path:String;<br>
  map:array[0..9,0..9,0..4] of integer;<br>
  Pers:TPers;<br>
<br>
<br>
  procedure FindWay;<br>
<br>
implementation<br>
<br>
{&#036;R *.dfm}<br>
<br>
procedure TForm1.FormCreate(Sender: TObject);<br>
var<br>
i,j,n: integer;<br>
begin<br>
Path:=ExtractFileDir(Application.ExeName);<br>
Buf:=TBitmap.Create;<br>
Buf.Width:=640;<br>
Buf.Height:=640;<br>
//Obj<br>
Obj:=TBitmap.Create;<br>
Obj.Transparent:=true;<br>
Obj.LoadFromFile(path+&#39;&#092;img&#092;w1.bmp&#39;);<br>
//ground<br>
for i:=0 to 1 do begin<br>
Ground[i]:=TBitmap.Create;<br>
Ground[i].LoadFromFile(path+&#39;&#092;img&#092;&#39;+inttostr(i)+&#39;.bmp&#39;);<br>
end;<br>
<br>
//Doo<br>
for i:=1 to 3 do begin<br>
Doo[i]:=TBitmap.Create;<br>
Doo[i].Transparent:=true;<br>
Doo[i].LoadFromFile(path+&#39;&#092;img&#092;x&#39;+inttostr(i)+&#39;.bmp&#39;);<br>
end;<br>
<br>
//panel<br>
for i:=0 to 2 do begin<br>
Panel[i]:=TBitmap.Create;<br>
Panel[i].TransparentColor:=clwhite;<br>
Panel[i].Transparent:=true;<br>
Panel[i].LoadFromFile(path+&#39;&#092;img&#092;p&#39;+inttostr(i)+&#39;.bmp&#39;);<br>
end;<br>
<br>
//man<br>
<br>
ManImg:=TBitmap.Create;<br>
ManImg.Transparent:=true;<br>
ManImg.LoadFromFile(path+&#39;&#092;img&#092;c11.bmp&#39;);<br>
<br>
//Bild<br>
for i:=1 to 2 do begin<br>
for j:=1 to 3 do<br>
begin<br>
Bild[i,j]:=TBitmap.Create;<br>
Bild[i,j].Transparent:=true;<br>
Bild[i,j].LoadFromFile(path+&#39;&#092;img&#092;q&#39;+inttostr(i)+inttostr(j)+&#39;.bmp&#39;);<br>
end;<br>
end;<br>
<br>
for i:=0 to 9 do<br>
for j:=0 to 9 do<br>
for n:=0 to 4 do<br>
begin<br>
if n=0 then map[i,j,n]:=1<br>
else map[i,j,n]:=0;<br>
end;<br>
<br>
map[3,3,0]:=0;<br>
map[4,3,0]:=0;<br>
map[5,3,0]:=0;<br>
//pers<br>
Pers.X:=0;<br>
Pers.Y:=0;<br>
Pers.Xn:=0;<br>
Pers.Yn:=0;<br>
Pers.Povorot:=1;<br>
Pers.Anim:=1;<br>
Pers.Speed:=2;<br>
Pers.Current:=-1;<br>
<br>
end;<br>
<br>
procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;<br>
  Shift: TShiftState; X, Y: Integer);<br>
begin<br>
Pers.Xn:=X;<br>
Pers.Yn:=Y;<br>
FindWay;<br>
end;<br>
<br>
procedure TForm1.Timer1Timer(Sender: TObject);<br>
var i,j,n: integer;<br>
begin<br>
<br>
if Pers.Current&gt;-1 then<br>
begin<br>
if (Pers.Y+49) div 50 &gt; Pers.Way[Pers.Current].Y then Pers.Y:=Pers.Y-1;<br>
if Pers.Y div 50 &lt; Pers.Way[Pers.Current].Y then Pers.Y:=Pers.Y+1;<br>
if (Pers.X+49) div 50 &gt; Pers.Way[Pers.Current].X then Pers.X:=Pers.X-1;<br>
if Pers.X div 50 &lt; Pers.Way[Pers.Current].X then Pers.X:=Pers.X+1;<br>
if ((Pers.X div 50 = Pers.way[Pers.Current].X) and (Pers.Y div 50 = Pers.way[Pers.Current].Y)) and<br>
(((Pers.X+49) div 50=Pers.way[Pers.Current].X) and ((Pers.Y+49) div 50=Pers.way[Pers.Current].Y)) then inc(Pers.Current);<br>
if Pers.Current&gt;length(Pers.way)-1 then Pers.Current:=-1;<br>
<br>
end;<br>
<br>
for i:=0 to 9 do<br>
for j:=0 to 9 do<br>
begin<br>
//ground<br>
Buf.Canvas.Draw(i*50,j*50,Ground[map[i,j,0]]);<br>
end;<br>
<br>
for i:=1 to 6 do<br>
for j:=1 to 2 do<br>
begin//prorisovka persa<br>
Buf.Canvas.Draw(Pers.X,Pers.Y,ManImg);<br>
end;<br>
form1.Canvas.Draw(0,0,Buf);<br>
end;<br>
<br>
procedure TForm1.Timer2Timer(Sender: TObject);<br>
begin<br>
<br>
{if Image1.Top div 50&gt;b div 50 then Image1.Top:=Image1.Top-1;<br>
if Image1.Top div 50&lt;b div 50 then Image1.Top:=Image1.Top+1;<br>
if Image1.Left div 50&gt;a div 50 then Image1.Left:=Image1.Left-1;<br>
if Image1.Left div 50&lt;a div 50 then Image1.Left:=Image1.Left+1;}<br>
end;<br>
<br>
procedure FindWay;<br>
var i,j,n: integer;<br>
begin<br>
for i:=0 to 9 do begin<br>
for j:=0 to 9 do<br>
begin<br>
if (map[i,j,0]&gt;0) then map[i,j,4]:=0;<br>
if (map[i,j,0]=0) then map[i,j,4]:=-1;<br>
end;<br>
end;<br>
<br>
map[Pers.X div 50,Pers.Y div 50,4]:=99;<br>
<br>
if (Pers.X div 50-1&gt;=0) and (map[Pers.X div 50-1,Pers.Y div 50,0]&gt;0) then map [Pers.X div 50-1,Pers.Y div 50,4]:=1;<br>
if (Pers.X div 50+1&lt;=9) and (map[Pers.X div 50+1,Pers.Y div 50,0]&gt;0) then map [Pers.X div 50+1,Pers.Y div 50,4]:=1;<br>
if (Pers.Y div 50-1&gt;=0) and (map[Pers.X div 50,Pers.Y div 50-1,0]&gt;0) then map [Pers.X div 50,Pers.Y div 50-1,4]:=1;<br>
if (Pers.Y div 50+1&lt;=9) and (map[Pers.X div 50,Pers.Y div 50+1,0]&gt;0) then map [Pers.X div 50,Pers.Y div 50+1,4]:=1;<br>
<br>
n:=1;<br>
while (n&lt;=20) do<br>
begin<br>
for i:=0 to 9 do begin<br>
for j:=0 to 9 do<br>
begin<br>
if map[i,j,4]=n then<br>
begin<br>
if (i-1&gt;=0) and (map[i-1,j,4]=0) then map[i-1,j,4]:=n+1;<br>
if (i+1&lt;=9) and (map[i+1,j,4]=0) then map[i+1,j,4]:=n+1;<br>
if (j-1&gt;=0) and (map[i,j-1,4]=0) then map[i,j-1,4]:=n+1;<br>
if (j+1&lt;=9) and (map[i,j+1,4]=0) then map[i,j+1,4]:=n+1;<br>
end;<br>
end;<br>
end;<br>
inc(n);<br>
end;<br>
Setlength(Pers.way,map[Pers.Xn div 50,Pers.Yn div 50,4]);<br>
<br>
Pers.way[map[Pers.Xn div 50,Pers.Yn div 50,4]-1].X:=Pers.Xn;<br>
Pers.way[map[Pers.Xn div 50,Pers.Yn div 50,4]-1].Y:=Pers.Yn;<br>
<br>
Pers.Current:=length(Pers.way)-1;<br>
while (Pers.Current&gt;0) do<br>
begin<br>
for i:=Pers.way[Pers.Current].X-1 to Pers.way[Pers.Current].X+1 do begin<br>
for j:=Pers.way[Pers.Current].Y-1 to Pers.way[Pers.Current].Y+1 do<br>
begin<br>
if map[i,j,4]=Pers.Current then<br>
begin<br>
Pers.way[Pers.Current-1].X:=i;<br>
Pers.way[Pers.Current-1].Y:=j;<br>
break;<br>
end;<br>
end;<br>
dec(Pers.Current);<br>
end;<br>
end;<br>
<br>
Pers.Current:=0;<br>
end;<br>
<br>
<br>
end.]]></description>
        <author>Разувай</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      </channel>
      </rss>
	