From e87eaf26d5a3f17110c3a9c5d8b425eb6a9a5f49 Mon Sep 17 00:00:00 2001 From: Eugen Wissner Date: Wed, 11 Mar 2026 14:44:08 +0100 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D0=BB=20?= =?UTF-8?q?=D1=81=D0=B0=D0=BF=D0=B5=D1=80=D0=B0=20=D0=B8=D0=B7=20=D1=81?= =?UTF-8?q?=D0=B5=D0=B4=D1=8C=D0=BC=D0=BE=D0=B9=20=D0=B3=D0=BB=D0=B0=D0=B2?= =?UTF-8?q?=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../7/1_minesweeper/assets/imagelist.png | Bin 0 -> 4129 bytes .../7/1_minesweeper/assets/imagelist.xcf | Bin 0 -> 22234 bytes .../7/1_minesweeper/minesweeper.ico | Bin 0 -> 62632 bytes .../7/1_minesweeper/minesweeper.lpi | 79 ++++++ .../7/1_minesweeper/minesweeper.lpr | 28 ++ .../7/1_minesweeper/minesweeper.lps | 142 ++++++++++ .../7/1_minesweeper/unit1.lfm | 136 ++++++++++ .../7/1_minesweeper/unit1.pas | 248 ++++++++++++++++++ 8 files changed, 633 insertions(+) create mode 100644 Занимательное программирование/7/1_minesweeper/assets/imagelist.png create mode 100644 Занимательное программирование/7/1_minesweeper/assets/imagelist.xcf create mode 100644 Занимательное программирование/7/1_minesweeper/minesweeper.ico create mode 100644 Занимательное программирование/7/1_minesweeper/minesweeper.lpi create mode 100644 Занимательное программирование/7/1_minesweeper/minesweeper.lpr create mode 100644 Занимательное программирование/7/1_minesweeper/minesweeper.lps create mode 100644 Занимательное программирование/7/1_minesweeper/unit1.lfm create mode 100644 Занимательное программирование/7/1_minesweeper/unit1.pas diff --git a/Занимательное программирование/7/1_minesweeper/assets/imagelist.png b/Занимательное программирование/7/1_minesweeper/assets/imagelist.png new file mode 100644 index 0000000000000000000000000000000000000000..8395c7ed998eab5a2ac1bb66af064260174d2d5e GIT binary patch literal 4129 zcmWlccOaGDAIHzNNA{lAjxw@S))l(;9@*LRXBJr@<032jd&$ZQAu^I#_Kpb29^Fzz zcKl9%+~+>eInOxfGv1%qCthFoE(IAY832Gn1FdQZ0D=UbGm{X(BaxZI1pGtz8{Snx z%nb@Zh8F}bC><04^(o}%_X*)Omjl{R2Y_G!03xCRIE6zI+W^B zws8F~b#B&`A2Apc;s+I@%gh7`uQ8e|&67>^vg)^Z44a2my8^zv4DfAss^btz(D$k_ zY1D{}pvg!!rk_(qkQUP3Aef`&den)OIblVs_|aK}ujjT(j)aYejkg}WcM*W+Ss&^UZJU%|Q8-K14Hie*>_)3W`t$p?C zl?}2UH`?p^zyA>xj1#Byzt6uNc*E@@U(lmRD}Rrc;z~+N=K8|F&xlmpw6iiWFa+(b z5~?S$Ix)7}*E5GIBHi5Fj`zovx}6(VR#qYj$r&StH|)E>)J;P^+Q{)OUIhh?M~@!) z`1o{%{AwpgB9SAxlEgDJGtT*IIGlS+ON+8FV@XR3v#zf0(}REq5AIJCqS~8=$H)7t z?=@(%`n$Oa85$XJQ!-P5$`t$|omuDMw@nck*@z`_y{PtX#^hQR<&Pf$diBcCgW!t~k`5E62Wh)^I92p@m{ zJJ!}5lt{%ZU|?)47K_DdB$k(y;K#?ulaP`cEJ-q<=;`V0=3YBhR8({ot0i`A`0bsa z_=g@X2IABhX=u8G=vLRbt5A>o5z12l$@dU^x|r3#mt2n?d|RD zyuDM($^@)hd=Pk%puWBy6CW?`9$r&jt!;s?p`j7HMGgv$J9wVVTPO|_ z35xuE+!jX_S!oo)%eciI29{);hwBiJo3w z-)cKAKBmU2^86?3&50;%Y?P8<3P1gJ6;BzOfgmCwF_GoFyQ?b~pl4^-4vXpOQNdG2 zp-{$VX5}4AU%qHtHvf+wWaQ^BmWLH6hW$6W53_(5tZ#3l^`6U5roMUeW^!{BOA4&p z9*zpO1MRoToC+^HpOovx)6&Hk7h@R31XvaGwlg^<_k)k?j`nc0^h`{2fQ*XjYN_Ge zow2Qbo&Nw&@$qqx#cM}W6H`-Kn%qpTAbGe}g^)wn%&NXl?3zgm^N zh)5Ec__^3N`g$3u5UdKe*9X%BpqtZ4i_6Mlfxe@oV*$;Fz9cqMw{Mt?q%-;r7nl=pd_7Vc0!yorx&c&vQT^=rY z^NNe7rJc;OmFX2ELuWljD%n(p_C%B7nDOXZ+S=B}@^8bWp120r-Z=MFO(30HMuzd? z;=;V`p~$oJ^wDBE;IQ;gRzB>Mes6CN^YrP55Ak#%13NoAN&BTq0Un|@?=bMaSCEQ% z_vL?OZYkJ*AgS@ow24va4$3PCKdl^NRt=nkK}=yZWRLjzRXO<9#0-(Sr3Zz&1^$f> zbM-S!d3c2n{1A526$ZP%e@7{EDLXjumQbwh>@2#_tdPQeWjekDVDf-W}icav9_I^Vrx2inO7EQzP5!JZ3E z6j0Ze{aT;?sleN9{@A+Q_Ellyy}VRfD0!w2y5XV;(a%BER|p9^Y4 zh$xvOP}-y_g7i2ieUKyV!AO9I;G>Pd_gMUrVmC-0be*5z|YJNmU=gtY^wPw<#iwYl@A>oRlu)=| zl$T4INq92f2syl7oFlnqQntEP5P5baJ&SAcWp;G>bRFfIgc77Ddow=u#u;J&n z`1S!k5~=6w>$|?WsSX6Cq%xpXj>^=+%qEC{@-|YeSEQe+FUV(WyTsYu1HJF=?k-_& zW@5s?&(H6+eKTO28lD)Kn3$v-`nBf0e*IcdMkXsu%=T5d^X5oy!1@5qGtJWW!1*~1 zV_Ut9G*qKA#bhB0#~hvUzNjgI%o(NGYW0d!-_jC07T0bhw)7s$xT89-mc(nkvB=I1}Y@t8#y>AOJ{4uey@ax559mi2)1xk8Xb@RBCl$2KeS_3wQ7-|rqUYNwhsoY$6{61;Jla>mL z=FFjtj7&yBf%kD@z(ZPvM=AlkTtfXRSMe&s4qS0T2N)Iv`}KCnqQIkLlUj<+|d5adITZvKbi}6|yZINK)&YKFa`6 z$Z`9j>!K=88U|2fN1Z)O1DaQ%(7O#j<7XA}DyyifDycLor_CNN#o=(AZeve~sc6C5 z&=bGQs~9u3hzvs^lUiFn5ulNmhc>ktlOL^oNmo%@JA1O*x#$=KTtDJK}|*(4(NBiJ2P9H*b|MiBN)>nyWrH2_l9l%+ZU!s~<@5 zl$k`WCg#*jJI{z5@k}gEpols@x{Qt{Xn!C~8y^iOrYnsoc=YdBUCERe5*m~jRhNbI zGP(CY&P`U?1s`9-vny~`gE}oO4ZbyCT{Ba&bUr%+&G$Ep%Ta2cbqP()3)DG7BfZti)KXOA2u0%FE5e(TO^cm_@JV? zdfLMMI%8s5dioQm;jC|?0q5D#&W-5g+=qx3R^Uy zJzl0_c7M!Cs-Jp!d41ZLp8uypdA9>8+X8>Z=I3*i9h!<(t#QC~yYJvo@&^kAVE5#_ z)9AZ!pPP!wTO-R$sG1)ugzOTsvKZNK1&~aY>&;?=Wr(2i;iO-Xznpf-M#Mco#jl17 zl-9wg5ILLaWlupW2>^Op+F}|z!wc{>3V31pJM(X}yaX=%)94u(XdvCdrzC&JTu?;m(|nnKQs+umK!{g%O;^*sIR9AOnXn6QLjo6eW z;r^UU!OF_}xZ~}Tl+qFVj8Ache2ryz;3qw0Qs5^I|BmBtC)9VhB*Hc(h1%*utm zJUyq60)KqI-^k_<W z8syRcuvi*e+NeL@XOFb}rxq62Al9fF8$)_yr)FhM&`1|3`uFu@4t$Vz>%q_q_t_Y7 zCLU2yN|;Y*Ev@&&$j}H_GV&Bc7@^R7ZuTy?N0tPIB3J|`$@r_|O!V2aXS*K?c2BekmW^12-s&x zw}hH5#ZAV3{%rnZp?SQpsqDNnVs+IX(%dp+xdGVMSbDb;!Z-{H33Y>;={vKLJ$Hc(C3v1On&rw=hIxsMx?CdP?dw>7Fw>OoUnc1In zN*0L^f?;ejo?TQ*=UuMC;o;$EGV{ z=7>8G3Ftk)B7;p5cj&YG@wwi|&#wnV!z*P^*G?Nv$Y^e-h*9Nnba5$x?Nr>4u1NeK zNd0ivaogM5oLNuW+S-emUDa1Ac2WNaji!$7 literal 0 HcmV?d00001 diff --git a/Занимательное программирование/7/1_minesweeper/assets/imagelist.xcf b/Занимательное программирование/7/1_minesweeper/assets/imagelist.xcf new file mode 100644 index 0000000000000000000000000000000000000000..31cd6792dbdcb1b6b78ecdd68a769c90bb837ff3 GIT binary patch literal 22234 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 P2i`|MPCQISl=}XEvpVaz literal 0 HcmV?d00001 diff --git a/Занимательное программирование/7/1_minesweeper/minesweeper.ico b/Занимательное программирование/7/1_minesweeper/minesweeper.ico new file mode 100644 index 0000000000000000000000000000000000000000..86b1038442b06e563d82dd4fbd595eb1f52fcfd2 GIT binary patch literal 62632 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 A*8l(j literal 0 HcmV?d00001 diff --git a/Занимательное программирование/7/1_minesweeper/minesweeper.lpi b/Занимательное программирование/7/1_minesweeper/minesweeper.lpi new file mode 100644 index 0000000..76cc09c --- /dev/null +++ b/Занимательное программирование/7/1_minesweeper/minesweeper.lpi @@ -0,0 +1,79 @@ + + + + + + + + <Scaled Value="True"/> + <ResourceType Value="res"/> + <UseXPManifest Value="True"/> + <XPManifest> + <DpiAware Value="True"/> + </XPManifest> + <Icon Value="0"/> + </General> + <BuildModes> + <Item Name="Default" Default="True"/> + </BuildModes> + <PublishOptions> + <Version Value="2"/> + <UseFileFilters Value="True"/> + </PublishOptions> + <RunParams> + <FormatVersion Value="2"/> + </RunParams> + <RequiredPackages> + <Item> + <PackageName Value="LCL"/> + </Item> + </RequiredPackages> + <Units> + <Unit> + <Filename Value="minesweeper.lpr"/> + <IsPartOfProject Value="True"/> + </Unit> + <Unit> + <Filename Value="unit1.pas"/> + <IsPartOfProject Value="True"/> + <ComponentName Value="Form1"/> + <HasResources Value="True"/> + <ResourceBaseClass Value="Form"/> + <UnitName Value="Unit1"/> + </Unit> + </Units> + </ProjectOptions> + <CompilerOptions> + <Version Value="11"/> + <Target> + <Filename Value="minesweeper"/> + </Target> + <SearchPaths> + <IncludeFiles Value="$(ProjOutDir)"/> + <UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/> + </SearchPaths> + <Linking> + <Debugging> + <DebugInfoType Value="dsDwarf3"/> + </Debugging> + <Options> + <Win32> + <GraphicApplication Value="True"/> + </Win32> + </Options> + </Linking> + </CompilerOptions> + <Debugging> + <Exceptions> + <Item> + <Name Value="EAbort"/> + </Item> + <Item> + <Name Value="ECodetoolError"/> + </Item> + <Item> + <Name Value="EFOpenError"/> + </Item> + </Exceptions> + </Debugging> +</CONFIG> diff --git a/Занимательное программирование/7/1_minesweeper/minesweeper.lpr b/Занимательное программирование/7/1_minesweeper/minesweeper.lpr new file mode 100644 index 0000000..48f2730 --- /dev/null +++ b/Занимательное программирование/7/1_minesweeper/minesweeper.lpr @@ -0,0 +1,28 @@ +program minesweeper; + +{$mode objfpc}{$H+} + +uses + {$IFDEF UNIX} + cthreads, + {$ENDIF} + {$IFDEF HASAMIGA} + athreads, + {$ENDIF} + Interfaces, // this includes the LCL widgetset + Forms, Unit1 + { you can add units after this }; + +{$R *.res} + +begin + RequireDerivedFormResource:=True; + Application.Scaled:=True; + {$PUSH}{$WARN 5044 OFF} + Application.MainFormOnTaskbar:=True; + {$POP} + Application.Initialize; + Application.CreateForm(TForm1, Form1); + Application.Run; +end. + diff --git a/Занимательное программирование/7/1_minesweeper/minesweeper.lps b/Занимательное программирование/7/1_minesweeper/minesweeper.lps new file mode 100644 index 0000000..d33f426 --- /dev/null +++ b/Занимательное программирование/7/1_minesweeper/minesweeper.lps @@ -0,0 +1,142 @@ +<?xml version="1.0" encoding="UTF-8"?> +<CONFIG> + <ProjectSession> + <Version Value="12"/> + <BuildModes Active="Default"/> + <Units> + <Unit> + <Filename Value="minesweeper.lpr"/> + <IsPartOfProject Value="True"/> + <EditorIndex Value="-1"/> + <WindowIndex Value="-1"/> + <TopLine Value="-1"/> + <CursorPos X="-1" Y="-1"/> + <UsageCount Value="36"/> + </Unit> + <Unit> + <Filename Value="unit1.pas"/> + <IsPartOfProject Value="True"/> + <ComponentName Value="Form1"/> + <HasResources Value="True"/> + <ResourceBaseClass Value="Form"/> + <UnitName Value="Unit1"/> + <IsVisibleTab Value="True"/> + <TopLine Value="117"/> + <CursorPos Y="152"/> + <UsageCount Value="36"/> + <Loaded Value="True"/> + <LoadedDesigner Value="True"/> + </Unit> + </Units> + <JumpHistory HistoryIndex="25"> + <Position> + <Filename Value="unit1.pas"/> + <Caret Line="37" Column="14"/> + </Position> + <Position> + <Filename Value="unit1.pas"/> + <Caret Line="38" Column="3"/> + </Position> + <Position> + <Filename Value="unit1.pas"/> + <Caret Line="16" Column="46"/> + </Position> + <Position> + <Filename Value="unit1.pas"/> + <Caret Line="8" Column="65"/> + </Position> + <Position> + <Filename Value="unit1.pas"/> + <Caret Line="22" Column="77"/> + </Position> + <Position> + <Filename Value="unit1.pas"/> + <Caret Line="48" Column="5"/> + </Position> + <Position> + <Filename Value="unit1.pas"/> + <Caret Line="88" Column="21" TopLine="31"/> + </Position> + <Position> + <Filename Value="unit1.pas"/> + <Caret Line="71" Column="24" TopLine="31"/> + </Position> + <Position> + <Filename Value="unit1.pas"/> + <Caret Line="50" Column="26" TopLine="2"/> + </Position> + <Position> + <Filename Value="unit1.pas"/> + <Caret Line="63" Column="3" TopLine="34"/> + </Position> + <Position> + <Filename Value="unit1.pas"/> + <Caret Line="36" Column="22"/> + </Position> + <Position> + <Filename Value="unit1.pas"/> + <Caret Line="80" Column="5" TopLine="39"/> + </Position> + <Position> + <Filename Value="unit1.pas"/> + <Caret Line="110" Column="28" TopLine="65"/> + </Position> + <Position> + <Filename Value="unit1.pas"/> + <Caret Line="23" Column="15"/> + </Position> + <Position> + <Filename Value="unit1.pas"/> + <Caret Line="24" Column="16" TopLine="4"/> + </Position> + <Position> + <Filename Value="unit1.pas"/> + <Caret Line="23" Column="71"/> + </Position> + <Position> + <Filename Value="unit1.pas"/> + <Caret Line="123" TopLine="92"/> + </Position> + <Position> + <Filename Value="unit1.pas"/> + <Caret Line="125" Column="11" TopLine="85"/> + </Position> + <Position> + <Filename Value="unit1.pas"/> + <Caret Line="22" Column="19"/> + </Position> + <Position> + <Filename Value="unit1.pas"/> + <Caret Line="158" Column="36" TopLine="115"/> + </Position> + <Position> + <Filename Value="unit1.pas"/> + <Caret Line="20" Column="42" TopLine="7"/> + </Position> + <Position> + <Filename Value="unit1.pas"/> + <Caret Line="129" Column="38" TopLine="79"/> + </Position> + <Position> + <Filename Value="unit1.pas"/> + <Caret Line="20" Column="14"/> + </Position> + <Position> + <Filename Value="unit1.pas"/> + <Caret Line="23" Column="22"/> + </Position> + <Position> + <Filename Value="unit1.pas"/> + <Caret Line="140" Column="19" TopLine="105"/> + </Position> + <Position> + <Filename Value="unit1.pas"/> + <Caret Line="28" Column="73"/> + </Position> + </JumpHistory> + <RunParams> + <FormatVersion Value="2"/> + <Modes ActiveMode=""/> + </RunParams> + </ProjectSession> +</CONFIG> diff --git a/Занимательное программирование/7/1_minesweeper/unit1.lfm b/Занимательное программирование/7/1_minesweeper/unit1.lfm new file mode 100644 index 0000000..faf10a6 --- /dev/null +++ b/Занимательное программирование/7/1_minesweeper/unit1.lfm @@ -0,0 +1,136 @@ +object Form1: TForm1 + Left = 3160 + Height = 758 + Top = 657 + Width = 480 + Caption = 'Form1' + ClientHeight = 758 + ClientWidth = 480 + DesignTimePPI = 144 + LCLVersion = '4.6.0.0' + OnCreate = FormCreate + OnDestroy = FormDestroy + object Button1: TButton + AnchorSideLeft.Control = Owner + AnchorSideRight.Control = Status + AnchorSideRight.Side = asrBottom + AnchorSideBottom.Control = Owner + AnchorSideBottom.Side = asrBottom + Left = 104 + Height = 61 + Top = 672 + Width = 168 + Anchors = [akTop, akBottom] + BorderSpacing.Bottom = 25 + Caption = 'Новая игра' + TabOrder = 0 + OnClick = Button1Click + end + object Status: TLabel + AnchorSideLeft.Control = Button1 + AnchorSideRight.Control = Owner + AnchorSideRight.Side = asrCenter + AnchorSideBottom.Control = Owner + AnchorSideBottom.Side = asrBottom + Left = 335 + Height = 1 + Top = 717 + Width = 1 + Anchors = [akBottom] + BorderSpacing.Bottom = 40 + end + object ImageList: TImageList + Height = 24 + Width = 24 + Left = 224 + Top = 608 + Bitmap = { + 4C7A0B00000018000000180000009F0A00000000000078DAED9C678814491BC7 + 45CE2F1EC2C1C1E2895F14943B110F1605454411443CF14C28B2E899C58C0123 + 8A398B6B4451319D59CC0A663DB3675AB3EEBA6B58735CE31AB7DEF9D5F1B4B3 + 63F7CC7475F7CBADD77F282654D57F7AAAAB9E7A52B55221BCE0E5CB976ADDBA + 75AA63C78EAA4A952AAA71E3C66AC68C192A3B3BDB33F7C3870F55BD7AF554B1 + 62C554A3468DD4C4891355DFBE7DF567CAE1C3878DB90B0A0A54AF5EBD340FD7 + FFE9D327AB8E6B4F4D4D55292929EAC1830746FC972F5FD6DCFC06BF158B9D3B + 77EAFAC58B171BF12F5FBE5CF7DFBB77AF6DFDD3A74F757DDDBA75D5E7CF9F5D + F3F7EFDF5FF7BF7EFDBA631BB869F3E4C913D7FCD5AA554BD8B75FBF7EBA4D66 + 66A62B6EFEAFCC9157AF5E39B61B33668C6E73EEDC3957FCEFDFBFB7F8DFBE7D + EBD86EF2E4C9BACDE9D3A703BDFEF3E7CFBB1EFFEAD5ABEBBE8F1F3F766C236B + 2D2B2BCB35FFA04183E2DE3BD644CD9A35759B67CF9EB9E65FB3668DEECB3AB2 + 03EB96FAA64D9BDAAEBF4460DED3BF73E7CEB6EB67FDFAF5BA7EEDDAB5C63268 + E8D0A19A63D5AA5585E4CFA54B9754D9B26555A54A95545E5E9E313FE3DABC79 + 73FD1BC8E549932659320F7EB7F3DE0E6FDEBCD163D1A143077DBD8CF7BC79F3 + D4DDBB77C3CD31C47F06478E1C51E5CB97D76B8BBDD72FB0D72C58B0C0DA0FFC + E447F6230F90055C3FFA9B9FFCC801E4CE8D1B37F467BFF9F7ECD9A35EBC7861 + 7DF69B3F16217FC81FF2170DFEE7CF9FAB61C386152AA54A95D2FCD815D1DFD3 + D6447646CBE478259E8E1D224451063E9A65CB96A9366DDAA88A152B6A9FC088 + 1123B43E61E2778806F689E8540D1A3450A3468D52DDBA75B3D6D5B871E3D4C7 + 8F1F8DE583C89B6DDBB615B2BFD057C43E3E78F0A011FF8E1D3B74FFD1A347DB + D68BFF67ECD8B146FCB76FDFD6639C939313D7FFD4A54B9740EEFBC993273D5D + 7F22886F83FFE837B8A770F7ECD9D378FEC4E3669F69D8B0A1915FCC09F830F0 + 5372DD2D5BB6548F1E3DF2D5C6983E7DBAB53746EBD45EF1EEDD3B3564C810CD + 9D9E9EAE7FCB2F70EF649E2C59B2C4B3BC89059C7063C798F89092F12FB56DDB + 567DF8F0C1F7393E6DDA34CBFF15AB07C5167CF86E41BF64F51F13FF5E881045 + 01B76EDD52F3E7CFD732195D05FD67E4C8913A36E5756FD9B76F9FB5865AB56A + A5655DD7AE5DADEFF01F9BCAD3DCDC5CBD4F11E38A8D4FA05BD4A95347FFC6EE + DDBB8DF8253EB57AF56ADB7A78A947A733C1CD9B37B50EE2645B9D3973C6137F + 222C5AB448F36FDAB4C9D77D98B8C5CA952B3577F7EEDDE3C697920531846879 + CC1CDABF7FBF6FFB0E312AF4066200AC01E6D5E0C183751CC36FB0C767646458 + 718D03070E04B6AEE1270E8C0E1304EAD7AFAF7F83B9EC5617C47E206EE4141F + A28DD8376EF981C819649093FD21F3E9F5EBD7AEF9918FF4E51A2F5EBCF8954D + C9DCA79E5C02537D19B92CD7C87CC12E259E277E20DE9BE83ED1608ECF9C3953 + F333F76BD5AAA5E53271793F75DD10218A02900BE814AC2F7C107E82FD8A352B + 6BDA6F7EC929484B4BF39D9F1C0A38E7CC9963C5F3FCE2CFCFCFD7FA213E0764 + B1DFFCA2EB889CF6931FCED83C28BFF8190BC684FBC918F9CD3F6BD62CDB1C29 + 3FF84F9D3A65E5A6C5C22B3F3A03FB549F3E7D6C6D14AFFCB2B7275B962E5DEA + 8A9F9C22AED1A9B46EDDDAD2FDF97CECD8315FE584DFEB2BE40F11A26801B999 + 8C6C3B7BF6ACF1DE457F6C8A78BE5BB7B9B1026213F063B307813B77EE687EF2 + 408380F8CFC9090F02172E5CD0FC73E7CE0D84FFC489139A1FDD0A1F06E3444E + 347147DEF39D17FF21FE9DE879883D4DFE27F75BBE232E63EADBC02FD0A2450B + EDE7E15E478398A4F867880D07812B57AE687E6C0D3F7C6476FE037C3FFC861F + 6719EC40CC1C7EFE8BC9F5E177738A7911CF163B2CF6FE2403E252F172D725FE + 8B9F383A769E2C243E8E0F2CD63F85EF0DBD9DFA5DBB7619CB676483CC75F206 + C8C7EFDDBBB7F51D7A8A979821F700FB65EAD4A97ABCC87FE09C0A71CE589F56 + 8810DF2A905F53A64CD1393AD89503060CD0FB971FF185AD5BB7EAB58ACF16BF + 2AF9342297BDE4FF44FB1EB017F1390B90ABD8C65ECF98890FDDCEFF8E8C23CE + 839E6102CE5704A95F498ECC962D5B02E197F820FB08BA28FE1FF409CE9090B3 + C47D8FF6D9B885E4B3C0834ED5AE5D3B9DC7810E24E78ED81338BF6202E69EE8 + 1FDBB76F2FB48FE05F91B36BA6E7FB264C98A0FB730ECF2EF744E22FE4EE9BE8 + 70B367CF4E787E49D619B162B7D8B871A375B6C909DC1353FD8ADCC078F9678C + 19FB316D4CCE7032F7247E66D7FFEAD5ABBA0E7967AA43886C630D479FF32337 + 51FCDCB4F162A332DF258EC97B7208645C183BAF390AFC7772F4B0255857AC35 + DE1F3A74C8482F0C11A22880B51364FE1B723351DE9ED8777EE66BC6EA46A6FB + 5722D9CA5ECFD97E93DC8144903CD9207287C9BB65CFE5DC9CDFF9A6807C07AE + 9DFDC56F88CEC8DC0902C4364DCFA327023A15F39DF38441EC2B928FB661C386 + 40C646F4C1207C49E80E70A33B073136220B060E1C18C8D8787D164622E08384 + 1F9D34C879EFF42C821021BE5570568A184974FE337177F65EAFB2486432BE1F + 6C1774226C7879EECCF0E1C38D73ECEEDFBF6FC5D762FD33C413381B443DB6BD + 09389B4E7FFC1076387EFCB8AEC757E6656C38A36207895FB1EF98807D4ACE8F + D9DDC7CD9B37EB7A72A6BCCA4DEE297A15B6287B19F91AD8A8CC292FBA2DFA19 + 7E2C79865474612E79D59B99FBF890989FE3C78FD7FE3CFC2AC434B083F19D99 + 9E1BC21FC918C013EB7F617E4A6CC334FF5C72639DF2FBB159A8E71A4CE26B12 + 678CA7EFC83AC697E5169C6BA2EFB56BD71CDBC87D773A23998C7F8F3855BCF1 + A198E410CBF904EE6F6C7C0E7F1E39C5D4135B32C58A152B2CF929F313598D0E + 2DB17FAF6B00DF3F735EF29F8907E2FF41FE0595371FE2DB043111E60DAF4180 + 671432EF79F56A9F1333E27D7489DE5FA2BFE7DC017B19B91289FE9B9BBC49BB + C29A0F923FD1790CA73188373E4D9A3431E24FB62EFAB7FFCDFCA233F2EA969F + 7925F25E0A6780F9CE6ECEA13713A345876ED6AC99D5A772E5CA5A678D3D5724 + 7104BB429DDDFE58BB766DDBF6254B96FC2A2F2E68FE64C647EA79753B3EFF85 + F9E9377FD0F22108F9297B8849C12E4824FF659EC68E0DA574E9D29A87D7D83A + A775EE06721E91D72070F4E851BD96790DF1FF07A628A61C8FBBA2F8F1E81338 + 11853CEE9354968859A97EF841A93265C8D135B5DB79BE965219194A91FE1711 + D3AA5D3BA57EFE99F5FDA5C431FD1C71EF1EFE6015D1C594FAED37A5BEFFBE30 + A7577E8E23C7E3FC52DEABCC4CF7FE31D2317FFF5D45F6B87F78BEFBCE89FF73 + 84DFBDEF81F9F1F7DF3CBB58456C39E7EB4F49C98FDC5FF3FC2ED21DFEFA8BE7 + FC28F5EBAF5FF357A9F24265677BCBEB657E338F7844F61F7F2855A2C417FED4 + D43C9593E34FDE30BF830B9154F49F7E2AD0FC3FFE98AFB2B23EF8BA76F3F20A + 54FBF6B911FED7EA975F9E45C6C75FFB1A3F5F7A3A67DA46A9B4B43F556EEE23 + DFF9E5B9349D3AB5F7FD19C1F8FBC8BDFD87BF5364ADDF3318E702ADFBA15F72 + B6823C77E252E4CD10F3AD51A386E647F72456481BDAD22791AF0F7F08E7FA7A + F4E8A1AA56ADAAF38B2A54A810919565B48FA678F1E296AE50223259CB952BA7 + DBD0963EF48DE753214F09BF95E42DB929F4A16FBC5C29FE1FFF15DF3E7EC785 + 0B17EA679D90C72EB962926BC477D4D186B6F4A16FB2FE50E60AB979E406E21F + C387C7585378CF77D4D126CC3332C7FF00F01A02FB + } + end +end diff --git a/Занимательное программирование/7/1_minesweeper/unit1.pas b/Занимательное программирование/7/1_minesweeper/unit1.pas new file mode 100644 index 0000000..d20aa7a --- /dev/null +++ b/Занимательное программирование/7/1_minesweeper/unit1.pas @@ -0,0 +1,248 @@ +unit Unit1; + +{$mode objfpc}{$H+} + +interface + +uses + Classes, SysUtils, Forms, Controls, Graphics, Dialogs, Buttons, StdCtrls; + +const + FieldWidth = 20; { Ширина поля } + FieldHeight = 25; { Высота поля } + CellsPerMine = 6; { Среднее значение количества клеток на одну мину } + +type + { "Доработанная" кнопка } + MySpeedButton = class(TSpeedButton) + public + x, y: Integer; { Её положение на игровом поле } + Uncovered: Boolean; { Нажата или нет } + IsMine: Boolean; { Находится ли в ней мина } + Flagged: Boolean; { Помечена флажком } + Clicked: Boolean; + procedure Uncover; + procedure Flag; + { Обработчик события Click } + procedure MouseLeave; override; + procedure MouseDown(Button: TMouseButton; Shift: TShiftState; ax, ay: Integer); override; + procedure MouseUp(Button: TMouseButton; Shift: TShiftState; ax, ay: Integer); override; + end; + + { TForm1 } + + TForm1 = class(TForm) + Button1: TButton; + ImageList: TImageList; + Status: TLabel; + procedure Button1Click(Sender: TObject); + procedure FormCreate(Sender: TObject); + procedure FormDestroy(Sender: TObject); + private + + public + + end; + +var + { Игровое поле (двумерный массив кнопок) } + Field: array[0..FieldWidth - 1, 0..FieldHeight - 1] of MySpeedButton; + GameOver: Boolean = false; { Индикатор конца игры } + Mines: Integer; { Количество мин } + Opened: Integer; { Количество открытых клеток } + Form1: TForm1; + +{ Создание игрового поля } +procedure MakeButtons; +procedure StartGame; + +implementation + +{$R *.lfm} + +{ MySpeedButton } + +{ Обработка щелчка на кнопке } +procedure MySpeedButton.Uncover; +var + c: Integer; + i, j: Integer; + dx, dy: Integer; +begin + { Теперь кнопка точно нажата } + Uncovered := true; + { Если в ней оказалась мина } + if IsMine then + begin + GameOver := true; + Form1.Status.Caption := 'Поражения!'; + { Выводим изображение мины (9) } + Form1.ImageList.GetBitmap(9, Glyph) + end + else + begin + c := 0; + for dx := -1 to 1 do + for dy := -1 to 1 do + { Клетка сама себе не сосед } + if not ((dx = 0) and (dy = 0)) then + begin + { Координаты текущего соседа } + i := x + dx; + j := y + dy; + { Если сосед не за пределами поля, учитываем его } + { Integer(Field[i, j].IsMine) = 1, если есть мина. } + { Integer(Field[i, j].IsMine) = 0 в противном случае } + if (i >= 0) and (j >= 0) and (i < FieldWidth) and (j < FieldHeight) then + c := c + Integer(Field[i, j].IsMine); + end; + Form1.ImageList.GetBitmap(c, Glyph); { Рисуем требуемую картинку } + { Мы открыли еще одну клетку } + Opened := Opened + 1; + { Открыты все безопасные клетки } + if Opened + Mines = FieldWidth * FieldHeight then + begin + { Конец игры } + GameOver := true; + Form1.Status.Caption := 'Победа!' + end; + if c = 0 then + for dx := -1 to 1 do + for dy := -1 to 1 do + { Клетка сама себе не сосед } + if not ((dx = 0) and (dy = 0)) then + begin + { Координаты текущего соседа } + i := x + dx; + j := y + dy; + if (i >= 0) and (j >= 0) and (i < FieldWidth) and (j < FieldHeight) and not Field[i, j].Uncovered then + Field[i, j].Uncover + end + end; +end; + +procedure MySpeedButton.Flag; +begin + if Flagged then + begin + Flagged := false; + Glyph := nil + end + else + begin + Flagged := true; + Form1.ImageList.GetBitmap(10, Glyph) + end +end; + +procedure MySpeedButton.MouseLeave; +begin + Clicked := false +end; + +procedure MySpeedButton.MouseDown(Button: TMouseButton; Shift: TShiftState; ax, ay: Integer); +begin + if (Button = mbLeft) or (Button = mbRight) then + Clicked := true +end; + +procedure MySpeedButton.MouseUp(Button: TMouseButton; Shift: TShiftState; ax, ay: Integer); +begin + { Если кнопка уже нажата или игра закончена, не обрабатываем } + if GameOver or Uncovered or not Clicked then Exit; + + if (Button = mbLeft) and not Flagged then + Uncover + else if Button = mbRight then + Flag +end; + +procedure StartGame; +var + i, j: Integer; +begin + { Строка статуса изначально пуста } + Form1.Status.Caption := ''; + { Счетчик мин } + Mines := 0; + { Счетчик открытых клеток } + Opened := 0; + { Еще не конец игры } + GameOver := false; + + for i := 0 to FieldWidth - 1 do + for j := 0 to FieldHeight - 1 do + begin + { Пока на кнопках нет картинок } + Field[i, j].Glyph := nil; + { и ни одна из них не нажата } + Field[i, j].Uncovered := false; + { и не помечена } + Field[i, j].Flagged := false; + Field[i, j].Clicked := false; + + { С вероятностью 1/CellsPerMine } + if Random(CellsPerMine) = 0 then + begin + { Размещаем мину } + Field[i, j].IsMine := true; + Mines := Mines + 1 + end + else + begin + { иначе клетка безопасна } + Field[i, j].IsMine := false + end + end +end; + +{ TForm1 } + +procedure TForm1.FormCreate(Sender: TObject); +begin + Randomize; + { При запуске программы создаем кнопки } + MakeButtons; + StartGame; +end; + +procedure TForm1.Button1Click(Sender: TObject); +begin + StartGame; +end; + +procedure TForm1.FormDestroy(Sender: TObject); +var + i, j: Integer; +begin + for i := 0 to FieldWidth - 1 do + for j := 0 to FieldHeight - 1 do + Field[i, j].Free; +end; + +procedure MakeButtons; +var + i, j: Integer; +begin + for i := 0 to FieldWidth - 1 do + for j := 0 to FieldHeight - 1 do + begin + Field[i, j] := MySpeedButton.Create(nil); { Создать кнопку } + with Field[i, j] do + begin + { Указываем координаты кнопки } + Left := i * 24; + Top := j * 24; + { Указываем размеры кнопки } + Width := 24; + Height := 24; + Parent := Form1; { а также родительскую форму } + { x, y - Позиция кнопки на игровом поле } + x := i; + y := j + end + end; +end; + +end. +