zapałki

unit uFrmMain; interface uses SysUtils, Windows, Classes, Forms, Dialogs, StdCtrls, Spin, Buttons, Controls, ExtCtrls; type TCzyjaPrzegrana = (cpGracz, cpKomputer); TfrmMain = class(TForm) gbRegulyGry: TGroupBox; lblIleZapalek: TLabel; lblIloscBranych: TLabel; seIleZapalek: TSpinEdit; seIloscBranych: TSpinEdit; gbGra: TGroupBox; lblIloscNaStole: TLabel; gdGra_Gracz: TGroupBox; grGra_Komputer: TGroupBox; lblWzietych_Gracz: TLabel; lblWzietych_Komputer: TLabel; seWzietych_Gracz: TSpinEdit; edWzietych_Komputer: TEdit; btnStart: TSpeedButton; btnOProgramie: TSpeedButton; lblKtoPierwszy: TLabel; rbKtoPierwszy_Gracz: TRadioButton; rbKtoPierwszy_Komputer: TRadioButton; btnBierz: TSpeedButton; btnCelGry: TSpeedButton; btnKoniec: TSpeedButton; stIloscNaStole: TStaticText; Bevel1: TBevel; Bevel2: TBevel; procedure btnStartClick(Sender: TObject); procedure btnOProgramieClick(Sender: TObject); procedure btnBierzClick(Sender: TObject); procedure btnCelGryClick(Sender: TObject); procedure btnKoniecClick(Sender: TObject); procedure seWzietych_GraczChange(Sender: TObject); private procedure MojRuch; procedure Przegrana(const Czyja: TCzyjaPrzegrana); procedure Aktywacja(const Gra: Boolean = true); public end; var frmMain: TfrmMain; implementation uses uFrmAbout; {$R *.DFM} procedure TfrmMain.MojRuch; //funkcja ruchu komputera var NaStole, DoWziecia: Integer; Begin NaStole:=StrToInt(stIloscNaStole.Caption); //zamieniamy tekst na liczbę DoWziecia:=(NaStole-1) mod (seIloscBranych.Value+1); //tutaj wylicza If DoWziecia=0 Then DoWziecia:=Random(seIloscBranych.Value)+1; //tutaj losuje, bo nie jest istotne ile weźmie edWzietych_Komputer.Text:=IntToStr(DoWziecia); //wyświetlamy ilosć wziętych w kontrolce zamieniając liczbę na tekst Dec(NaStole,DoWziecia); //zmniejszamy ilosc zapałek na stole o ilość wziętych przez komputer stIloscNaStole.Caption:=IntToStr(NaStole); //na stole pozostało mniej... uaktualniamy tekst if NaStole1 then //jeśli pozostało więcej niż 1 to... MojRuch; //ruch komputera end; procedure TfrmMain.btnCelGryClick(Sender: TObject); begin Application.MessageBox(PChar('Cele gry:'#13+ 'Na stole kładzie się ustaloną przez gracza liczbę zapałek. Każdy gracz podczas swojego ruchu bierze od jednej do ustalonej liczby zapałek na raz. Ruchy graczy są naprzemienne. Przegrywa ten gracz, który zmuszony będzie zabrać ze stołu ostatnią zapałkę.'#13+ 'Możliwe jest ustalenie ilości zapałek leżących na stole oraz ilości zapałek, którą można wzią za jednym razem. Dla ułatwienia można zdecydować, kto pierwszy ma rozpocząć grę. Od tego prawie wszystko zależy!'#13+ 'Podczas jednej tury można pobrać od 1 do ustalonej liczby zapałek. Po wpisaniu liczby w odpowiednie pole należy kliknąć przycisk "Bierz". Komputer bardzo szybko :-) podejmie decyzję, a liczba wziętych przez niego zapałek ukarze się w prawym okienku.'#13+ #9#9'POWODZENIA!!!'), 'Cel gry',MB_ICONINFORMATION+MB_OK); //wyświetli komunikat end; procedure TfrmMain.btnKoniecClick(Sender: TObject); begin Close; end; procedure TfrmMain.seWzietych_GraczChange(Sender: TObject); // to funkcja obsługi zdarzenia dodatkowo zabezpiecza przed przekroczeniem dopuszczalnego zakresu // (jeśli MinValue = MaxValue, to komponent nie pilnuje wartości) begin if seWzietych_Gracz.MinValue>seWzietych_Gracz.Value then seWzietych_Gracz.Value:=seWzietych_Gracz.MinValue else if seWzietych_Gracz.MaxValue<seWzietych_Gracz.Value then seWzietych_Gracz.Value:=seWzietych_Gracz.MaxValue; end; end.

dzien dobry chcialbym wam sie przedstawic mam na imie jarek mam 98 lat mieszkam w domu obok sasiada z zona i 5 dzieci w wieku 5-4 lat kocham je baudzo mocno