亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? u_point24.~pas

?? 用delphi做的速算24點撲克。實現功能齊全
?? ~PAS
?? 第 1 頁 / 共 2 頁
字號:
unit U_Point24;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, Menus,Math;

type
    TmathVar = set of Char;
  TFrm_Point = class(TForm)
    Image1: TImage;
    Image2: TImage;
    Image3: TImage;
    Image4: TImage;
    E_Point: TEdit;
    Btn_Calc: TButton;
    Menu_Point: TMainMenu;
    F1: TMenuItem;
    N_Start: TMenuItem;
    N_GameRu: TMenuItem;
    N_Exit: TMenuItem;
    Label1: TLabel;
    Label2: TLabel;
    Lab_Time: TLabel;
    Tim_Point: TTimer;
    But_ReSet: TButton;
    //讀取第一個運算符的位置以得到表達式的第一個數字
    function AnyFirstPos(Str: string): Integer;
        //讀取最后一個運算符的位置以得到表達式的最后一個數字
    function AnyLastPos(Str: string): Integer;
    //判斷最先出現的符號是+號、-號、*號還是/號
    function AnyFirstF(Str:String):Char;
    //此計算用于計算不帶()號的加、減、乘、除運算
    function SubCompute(Str:String):integer;
    //用于計算表達式的結果
    function TotalCompute(Str:String):integer;
    Function isInputValid():Boolean;
    procedure FormCreate(Sender: TObject);
    procedure N_StartClick(Sender: TObject);
    procedure N_GameRuClick(Sender: TObject);
    procedure N_ExitClick(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure But_ReSetClick(Sender: TObject);
    procedure Tim_PointTimer(Sender: TObject);
    procedure E_PointKeyPress(Sender: TObject; var Key: Char);
    procedure Btn_CalcClick(Sender: TObject);
    procedure E_PointKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    RanDomData : array of Integer; //存放四個隨機數
    SpendTime : Integer;
    
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Frm_Point: TFrm_Point;
  mathVar : TmathVar = ['0','1','2','3','4','5','6','7','8','9','(',')',
               '+','-','*','/',#13,#8];{#13 回車 #8 退格}
implementation

uses U_Help;

{$R *.dfm}

{===================================初始化================================}
// 程序啟動時圖片框讀取背景圖片
procedure TFrm_Point.FormCreate(Sender: TObject);
begin
    Image1.Picture.LoadFromFile('pic\bg.bmp');
    Image2.Picture.LoadFromFile('pic\bg.bmp');
    Image3.Picture.LoadFromFile('pic\bg.bmp');
    Image4.Picture.LoadFromFile('pic\bg.bmp');
end;

//菜單
   //開始游戲
{隨機讀取4張牌同時啟動計時器}
procedure TFrm_Point.N_StartClick(Sender: TObject);
var
    i : Integer;
begin
    SpendTime := 0;
    Btn_Calc.Enabled := True;
    Tim_Point.Enabled := True;
    Randomize;//初始化隨機數
    SetLength(RanDomData, 4);
    for i := 0 to 3 do
    begin
        RanDomData[i] := Random(13) + 1;
    end;
    Image1.Picture.LoadFromFile('pic\' + IntToStr(RanDomData[0]) + '.bmp');
    Image2.Picture.LoadFromFile('pic\' + IntToStr(RanDomData[1]) + '.bmp');
    Image3.Picture.LoadFromFile('pic\' + IntToStr(RanDomData[2]) + '.bmp');
    Image4.Picture.LoadFromFile('pic\' + IntToStr(RanDomData[3]) + '.bmp');
end;
   //游戲規則
procedure TFrm_Point.N_GameRuClick(Sender: TObject);
begin  //啟動幫助
    Frm_Help.Show;
end;
   //退出
procedure TFrm_Point.N_ExitClick(Sender: TObject);
begin
    close;
end;

procedure TFrm_Point.FormCloseQuery(Sender: TObject;
  var CanClose: Boolean);
begin
    if Application.MessageBox('是否要退出游戲?', '系統詢問',
                             MB_OKCANCEL + MB_ICONQUESTION) = IDOK then
    begin
        CanClose := true;
    end
    else
    begin
        CanClose := False;
    end;
end;

procedure TFrm_Point.But_ReSetClick(Sender: TObject);
begin
    But_ReSet.Caption := '重新發牌';
    N_Start.Caption := '重新游戲';
    N_Start.Click;
    E_Point.Clear;
end;

procedure TFrm_Point.Tim_PointTimer(Sender: TObject);
begin
    SpendTime := SpendTime + 1;
    Lab_Time.Caption := IntToStr(SpendTime);
end;

procedure TFrm_Point.E_PointKeyPress(Sender: TObject; var Key: Char);
begin
    if Btn_Calc.Enabled and (not (key in mathVar)) then
    begin
        Application.MessageBox('請輸入合法字符!', '系統提示',
                                MB_OK + MB_ICONWARNING);
        key := #0;
    end;
end;
{=========================================================================}
   //計算
procedure TFrm_Point.Btn_CalcClick(Sender: TObject);
var
    resu:integer;
    answer:String;
begin
    if E_Point.Text = '' then
    begin
        Application.MessageBox('請輸入數學表達式!', '系統提示',
                                MB_OK + MB_ICONINFORMATION);
        exit;
    end;
   resu := 0;
   Tim_Point.Enabled:=False;
   try
       if (not IsInputValid()) then
       begin
         Application.MessageBox('您輸入的數至少有一個不是系統所發4張撲克中的一個',
                    '輸入錯誤',MB_OK+MB_ICONERROR);
         Tim_Point.Enabled:= True;
         exit;
       end;
       resu:=TotalCompute(E_Point.Text);

   except
        Application.MessageBox('您的輸入有誤','輸入錯誤',
                                MB_OK+MB_ICONWARNING);
        Tim_Point.Enabled:= True;
        exit;
   end;

   if (Abs(resu-24)<0.001) then
   begin
        Application.MessageBox('您真行,我服了您!','對了',
                                    MB_OK+MB_ICONINFORMATION);
        N_Start.Click;
        E_Point.Clear;
   end
   else
   begin
        answer:='您輸入的表達式的計算結果為'+IntToStr(Resu)+'!';
        Application.MessageBox(PChar(answer),'錯了',MB_OK+MB_ICONERROR);
        Tim_Point.Enabled:= True;
   end;

end;
{=========================================================================}
    //讀取第一個運算符的位置以得到表達式的第一個數字
function TFrm_Point.AnyFirstPos(Str: string): Integer;
var
SubPos:integer;
PluPos:integer;
MulPos:integer;
DivPos:integer;
FirstPos:integer;
begin
   //定位字符串中最先一個運算符的位置
   SubPos:=Pos('-',Str);
   PluPos:=Pos('+',Str);
   MulPos:=Pos('*',Str);
   DivPos:=Pos('/',Str);
   FirstPos:=200;
   if (SubPos=0) then //如果沒有-號
        SubPos:=200; //將SubPos設置成一個不可能的值
   if (PluPos=0) then //如果沒有+號
        PluPos:=200; //將PluPos設置成一個不可能的值
   if (MulPos=0) then //如果沒有*號
        MulPos:=200; //將MulPos設置成一個不可能的值
   if (DivPos=0) then //如果沒有/號
        DivPos:=200; //將DivPos設置成一個不可能的值

    if(FirstPos > SubPos) then
      FirstPos := SubPos;
    if (FirstPos > PluPos) then
      FirstPos := PluPos;
    if (FirstPos>MulPos) then
      FirstPos := MulPos;
    if (FirstPos > DivPos) then
      FirstPos:=DivPos;

    Result := FirstPos; //結束函數,返回位置
end;
    //讀取最后一個運算符的位置以得到表達式的最后一個數字
function TFrm_Point.AnyLastPos(Str: string): Integer;
var
SubPos:integer;
PluPos:integer;
MulPos:integer;
DivPos:integer;
Pos:Integer;
begin
   //定位字符串中最后一個運算符的位置
   SubPos:=LastDelimiter('-',Str);
   PluPos:=LastDelimiter('+',Str);
   MulPos:=LastDelimiter('*',Str);
   DivPos:=LastDelimiter('/',Str);
   Pos:=SubPos;
   if (Pos<PluPos) then
        Pos:=PluPos;
   if (Pos<MulPos) then
        Pos:=MulPos;
   if (Pos<DivPos) then
        Pos:=DivPos;
   Result:=Pos; //結束函數,返回位置
end;
//判斷最先出現的符號是+號、-號、*號還是/號
function TFrm_Point.AnyFirstF(Str: String): Char;
var
SubPos:integer;
PluPos:integer;
MulPos:integer;
DivPos:integer;
Operator:char;
tempPos:integer;
begin
   SubPos:=Pos('-',Str);
   PluPos:=Pos('+',Str);
   MulPos:=Pos('*',Str);
   DivPos:=Pos('/',Str);

   if (SubPos=0) then //如果沒有-號
        SubPos:=200; //將SubPos設置成一個不可能的值
   if (PluPos=0) then //如果沒有+號

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产成人自拍| 亚洲福利视频三区| 亚洲成人综合视频| 一区二区三区.www| 丁香六月久久综合狠狠色| 91福利资源站| 中文字幕欧美激情一区| 日韩和的一区二区| 成人美女视频在线看| 91精品国产综合久久福利软件| 中文字幕在线不卡一区二区三区| 日韩精品国产欧美| 国产一区二区三区电影在线观看 | 国产麻豆欧美日韩一区| 精品裸体舞一区二区三区| 久久久久综合网| 亚洲一二三四在线| av成人动漫在线观看| 久久这里只有精品视频网| 一区二区三区四区在线免费观看 | 伊人夜夜躁av伊人久久| 韩国v欧美v亚洲v日本v| 欧美一区二区三区在线看| 亚洲精品午夜久久久| 不卡欧美aaaaa| 26uuu成人网一区二区三区| 日韩在线一区二区| 欧美羞羞免费网站| 久久色在线视频| 日本三级亚洲精品| 欧美日本国产一区| 日本美女一区二区三区视频| 在线欧美日韩国产| 国产精品欧美精品| 岛国av在线一区| 国产日韩精品一区| 99国产精品久久久久久久久久| 26uuu国产一区二区三区| 奇米影视一区二区三区| 56国语精品自产拍在线观看| 亚洲成a人片在线不卡一二三区| 99久久久久免费精品国产| 国产精品网曝门| 国产999精品久久久久久绿帽| 国产午夜精品福利| 成人免费视频一区| 中文字幕一区二区三| 99久久精品国产一区二区三区 | 18成人在线视频| av动漫一区二区| 中文字幕人成不卡一区| 在线免费不卡电影| 香蕉av福利精品导航| 欧美伊人精品成人久久综合97 | 国产一区在线不卡| 国产精品久久久久久久午夜片| 夫妻av一区二区| 国产精品网站在线观看| 色菇凉天天综合网| 国产精品久久久久久久久久免费看 | 中文字幕在线观看一区二区| 99久精品国产| 三级欧美在线一区| 亚洲精品在线电影| 国产sm精品调教视频网站| 亚洲伊人色欲综合网| 91精品国产91综合久久蜜臀| 日韩电影免费在线观看网站| 亚洲永久精品国产| 国产精品私房写真福利视频| 国产精品综合一区二区| 欧美国产一区视频在线观看| 91美女在线看| 五月婷婷色综合| 久久久久久免费毛片精品| 欧美大片在线观看| av在线综合网| 久久精品国产精品亚洲综合| 日本一区二区免费在线| 欧美在线观看一区二区| 岛国精品在线观看| 日韩av一区二| 久久―日本道色综合久久| 91国偷自产一区二区开放时间| 亚洲v日本v欧美v久久精品| 国产欧美日韩另类视频免费观看| 欧洲日韩一区二区三区| 久久99久久99精品免视看婷婷| 亚洲精品久久7777| 久久久亚洲精品石原莉奈| 国产乱国产乱300精品| 日韩国产高清影视| 日韩美女视频一区二区| 国产日本一区二区| 欧美精品三级在线观看| 北条麻妃一区二区三区| 国产资源在线一区| 亚洲va国产va欧美va观看| 亚洲免费毛片网站| 日本一区二区三区视频视频| 欧美精品v国产精品v日韩精品| 99在线精品观看| 九九国产精品视频| 亚洲成人福利片| 亚洲综合色丁香婷婷六月图片| 欧美精品一区二区三区在线| 91片在线免费观看| 91小视频在线| av中文字幕一区| 91美女视频网站| 99久久久免费精品国产一区二区| 看电影不卡的网站| 久久精品久久99精品久久| 调教+趴+乳夹+国产+精品| 亚洲成人激情自拍| 国产精品九色蝌蚪自拍| 日本一区二区三区dvd视频在线| 精品剧情在线观看| 日本韩国一区二区三区视频| 成人av网站免费| 欧美日韩夫妻久久| 97久久超碰国产精品电影| 成人免费看的视频| 极品美女销魂一区二区三区 | 欧美日韩一区久久| 91蝌蚪porny九色| 丁香六月综合激情| 99麻豆久久久国产精品免费 | 国内精品免费**视频| 日本亚洲三级在线| 国产乱码精品一区二区三区忘忧草 | 91精品福利视频| 99国产精品久久久久久久久久| 91久久奴性调教| 欧美日韩在线播放三区四区| 91久久精品一区二区| 在线观看日产精品| 色综合天天视频在线观看| 欧美日韩一区二区三区视频| 欧美另类变人与禽xxxxx| 欧美精品一区视频| 欧美国产精品v| 婷婷中文字幕综合| 蜜桃精品视频在线观看| 国产福利一区二区三区在线视频| 国产91精品精华液一区二区三区| 粉嫩aⅴ一区二区三区四区| 在线视频国内自拍亚洲视频| 欧美日韩大陆一区二区| 欧美成人高清电影在线| 欧美激情综合五月色丁香| 成人免费视频在线观看| 午夜精品久久久久久| 精品一区二区三区在线观看国产| 国产成人av影院| 99re亚洲国产精品| 欧美日韩精品三区| 精品播放一区二区| 亚洲人成精品久久久久| 国产精品国产馆在线真实露脸| 久久久99精品免费观看| 亚洲人成在线播放网站岛国| 中文字幕一区二区三区在线播放| 中文字幕一区二区三区四区| 亚洲国产精品久久久久秋霞影院| 国产成人免费视频网站高清观看视频 | 蜜桃视频第一区免费观看| 国产福利一区二区三区视频在线 | 欧美人成免费网站| www成人在线观看| 一区二区三区电影在线播| 久久狠狠亚洲综合| 欧美色综合网站| 久久影院电视剧免费观看| 一级特黄大欧美久久久| 国产激情91久久精品导航| 欧美日韩中文字幕一区二区| 亚洲国产高清aⅴ视频| 日韩高清不卡在线| 色天天综合色天天久久| 精品国产乱码久久久久久久| 一区二区在线免费| 成人小视频在线| 精品国产乱码久久久久久老虎| 亚洲最大成人综合| 国产乱码精品一区二区三区av| 欧美日韩一区二区三区在线| 国产亚洲短视频| 老司机一区二区| 欧美日韩高清一区| 又紧又大又爽精品一区二区| 国产精品一区二区视频| 日韩一区二区三区电影在线观看| 亚洲男帅同性gay1069| 国产suv一区二区三区88区| 欧美日韩黄色一区二区| 亚洲男女毛片无遮挡| 国产一本一道久久香蕉| 日韩欧美区一区二| 成人激情黄色小说|