Fejlesztői blog

keresési kérelmeket

ryanashki Delft program Delphi fogócska játék címke Delphi fogócska algoritmus játékok Delphi címke Delphi tag Delphi egyszerű játék a Delphi tag aogoritm delphi játékok titok játékok tag találni, és hogy a lépések számát a játékban tag Delphi Delphi petnashki hogyan Delphi programot játszani tag DEPHI n1click címke programkód Delphi Delphi címke tag algoritmus játék címke delphi fogócska algoritmus játék tag, a tag Delphi játék titkait, hogy dolgozzon ki egy játékot kérelmet a Delphi lábujj tag Ashka Delphi játékok Delphi Delphi egyszerű játék, hogyan kell létrehozni a különböző lejátszási címke delphi7 tag Program tag Delphi Delphi 7 játék, hogyan kell játszani a címkét a nyolc algoritmus

Felhívom figyelmedet a "Play of the Spot" program prototípusának. A prototípus azért, mert bár a program maga a játék algoritmusának teljes végrehajtása, egy spot, de nyilvánvalóan nincs elég. olyan funkciók, amelyek a programot kényelmesebbé teszik a felhasználó számára, nos, keményebben kell dolgoznia a megjelenésen.

Még néhány szó. Ennek az algoritmusnak a végrehajtásában a szabványos TButton-típust használták fel a játék chipek megjelenítéséhez. Használhat egy másik vizuális komponenst a csempeforgács megjelenítéséhez. Ehhez elegendő a sorban

típus Tfish = TButton; a TButton helyett adja meg a szükséges típust.

Szeretném azonnal megmutatni, hogyan fog kinézni a "Fiddles" játék prototípusa

Fejlesztői blog

De ez a fájl feldolgozása után játék lett, lásd: Saját programok

Fejlesztői blog

A program kiderült, hogy könnyen skálázható (így tervezték), így a mező méretét bárki is meghatározhatja, nem csak a 4x4-es zsetonszámmal. Például egy 10x10 mező létrehozásához meg kell változtatnia a két konstans értékét:

const. NXM = 10; M = 100;

Töltse le az archívumot a forrással, amit itt lehet ***.
Rendezzük el, válasszuk ki a forrást, ha valami nem egyértelmű - kérdezz. Sok szerencsét.
PS. Kattintson a mozgatni kívánt chipre.

egység fő; az interfész Windows, Üzenetek, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Menus; típus TForm1 = osztály (TForm) MainMenu1: TMainMenu; N1: TMenuItem; N2: TMenuItem; FormCreate eljárás (Feladó: TObject); eljárás FormShow (Sender: TObject); eljárás N1Click (Sender: TObject); eljárás N2Click (Sender: TObject); privát eljárás ButClicked (Sender: TObject); eljárás CreatFishkas (); eljárás KillOldFihkas (); függvény pozíció (const x, y: egész): egész; eljárás victopia (); nyilvános végén; típus Tfish = TButton; // jelölje meg a zsetonjaink típusát, nem tetszik a bud - adj meg egy másik const W = 80; // chipszélesség D = 10; // az L = D + W chipek közötti távolság; // az "x" távolság a zsetonok esetében NXM = 4; // a 4x4 N = 1 mező nagysága; M = 16; // a POLET = 10 chipek mérete; POLEL = 10; // a chip mező kezdeti pozíciói az előtagra = "Fishka"; var Form1: TForm1; btn: a Tfish [N..M] tömbje; sorseAr: tömb [N..M] logikai; nullaX, nullaY: egész; XYmatrix: tömb [1..M, 1..2] egész szám; végrehajtás // formaméret eljárás FormSize; Kezdje az 1. formátumot.Width: = (POLEL * 2) + (L * NXM); Form1.Height: = (L * NXM) + POLET + 50; végén; eljárás TForm1.FormCreate (Feladó: TObject); var i, ty, lx: egész szám; véletlenszerűen kezdenek; i: = 0; // töltse ki a tömböket koordinátorokkal, amelyek véletlenszerűen fel // chipek az új játék kezdetén ty: = POLET; lx: = POLEL; az i: = N-M esetén XYmatrix kezdődik [i, 1]: = lx; XYmatrix [i, 2]: = ty; lx: = lx + L; ha i mod NXM = 0, akkor kezdődik ty: = ty + L; lx: = POLEL; végén; végén; FormSize (); végén; eljárás TForm1.FormShow (Sender: TObject); kezdd CreatFishkas (); végén; // kattintson a menüpontra - "új játék" eljárás TForm1.N1Click (Sender: TObject); KillOldFihka (); FormSize (); CreatFishkas (); végén; <сбрасывает все элементы массива в true, массив отвечает за неповторяющиеся порядковые номера фишек которые выбираются случайным образом нужно при иницилизации новой игры> függvény dump (): logikai; var i: egész szám; kezdődik i: = 0; i: = N a M-re a sorseAr [i]: = true; ; végén; // közvetlenül a mintavétel algoritmusa nem ismétlődő értékek véletlenszerűen működnek choose (): egész; var i: egész szám; kezdődik i: = 0; eredmény: = véletlen (M) + 1; míg sorseAr [eredmény] = hamis eredmény: = véletlen (M) + 1; sorseAr [eredmény]: = false; végén; eljárás TForm1.CreatFishkas; // ÚJ GAME, létrehozva egy játékmezőt var i, ty, lx, ch: egész szám; véletlenszerűen kezdenek; dump (); // But.Enabled: = false; BitBtn1.Enabled: = igaz; BitBtn2.Enabled: = igaz; ty: = POLET; lx: = POLEL; i: = N-M-be kezd btn [i]: = Tfish.Create (Self); btn [i] Szélesség: = W; btn [i] Magasság: = W; btn [i]. Font méret: = 26; btn [i] .Font.Style: = [fsBold]; ch: = választani (); // véletlen szám 1-16, a számok nem ismételik meg a btn [i] .Left: = XYmatrix [ch, 1]; // szerezzük be a koordinátát X btn [i] .Top: = XYmatrix [ch, 2]; // kapjuk meg a y btn [i] .Tag: = ch koordinátát; // a címkében megtartjuk a chip aktuális pozícióját btn [i] .Name: = prefix + inttostr (i); ha i <> M ezután kezdődik gmb [i] .Caption: = inttostr (i); btn [i] .OnClick: = ButClicked; végén más kezdődik // gomb üres, és anélkül, hogy kaption felvezető OnClick gmb [i] .Caption: = ''; nullaX: = btn [i] .Left; nullaY: = btn [i] .Top; végén; btn [i] .Parent: = önmagát; végén; végén; // határozza meg a helyzetet, amely a funkció jelenleg annak koordenatam funkciója TForm1.position (const X, Y: integer): integer; var i: egész szám; kezdődik i: = 0; eredmény: = -32; i: = N M DO kezdeni, ha ((XYmatrix [i, 1] = x) és (XYmatrix [i, 2] = Y)), akkor kezdődik eredmény: = i; break; végén; végén; végén; // kevert chipek az új pozícióba eljárás TForm1.ButClicked (Sender: TObject); var X, Y, ps: egész szám; kezdődik X: = Tfish (Sender) .left; Y: = Tfish (Feladó) .Top; if ((X = Zerox + L) és (Y = zeroY)) vagy ((X = Zerox - L) és (Y = zeroY)) vagy ((X = Zerox) és (Y = zeroY + L)) vagy ( (X = Zerox) és (Y = zeroY - L)), azután indítsa Tfish (küldő) .Left: = Zerox; Tfish (Sender) .Top: = nullaY; Tfish (FindComponent (prefix + inttostr (M))) bal: = X ;. Tfish (FindComponent (prefix + inttostr (M))) tetején: = Y ;. ps: = pozíció (zeroX, nullaY); ha ps <> -32 majd Tfish (Sender) .Tag: = ps egyéb ShowMessage ("Hiba a program logikájában, COORDENATES"); nullaX: = X; nullaY: = Y; victopia (); // check - VICTORY vagy play on end; végén; // check - VICTORY vagy a következő játék. eljárás TForm1.victopia; var i: egész szám; b: logikai; kezdődik b: = igaz; i: = 0; az i: = N - M - 1 esetén elkezdődik, ha a struktúra (Tfish (FindComponent (prefix + inttostr (i))) <> Tfish (FindComponent (prefix + inttostr (i))). A címke kezd b: = false; break; végén; végén; ha b majd ShowMessage ("Ön fehérített"); végén; eljárás TForm1.KillOldFihkas; // elpusztítja a gomb-zsetonokat, el kell indítania az új játékot var i: integer; kezdődik i: = N-M-ig FreeAndNil (btn [i]); végén; eljárás TForm1.N2Kattintson (Feladó: TObject); indítsa el az Alkalmazást.Függelék (); végén; végén.

Kapcsolódó cikkek