⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 setting.pas

📁 实现黑白棋的游戏
💻 PAS
字号:
//设置单元 setting.pas
//BY Lishun,1999,all rights reserved

unit setting;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Buttons, ExtCtrls, inifiles, all;

type
  Tsetfrm = class(TForm)
    RadioGroup2: TRadioGroup;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    BitBtn4: TBitBtn;
    ColorDialog1: TColorDialog;
    Panel1: TPanel;
    CheckBox1: TCheckBox;
    CheckBox2: TCheckBox;
    CheckBox3: TCheckBox;
    Label1: TLabel;
    ComboBox1: TComboBox;
    CheckBox4: TCheckBox;
    RadioGroup4: TRadioGroup;
    CheckBox5: TCheckBox;
    Label2: TLabel;
    boxlevel: TComboBox;
    procedure BitBtn4Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure CheckBox3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  setfrm: Tsetfrm;
  tempindex: integer;

implementation

uses main, Udm;

{$R *.DFM}

procedure Tsetfrm.BitBtn4Click(Sender: TObject);
begin
  if colordialog1.Execute then
    bkcolor := colordialog1.color;
  mainfrm.panel1.color := bkcolor;
  mainfrm.gauge1.ForeColor := bkcolor;
  mainfrm.gauge2.ForeColor := bkcolor;
end;

procedure Tsetfrm.BitBtn1Click(Sender: TObject);
begin
  boxlevel.ItemIndex := 4;
  radiogroup2.ItemIndex := 0;
  radiogroup4.ItemIndex := 0;
  combobox1.ItemIndex := 1;
  bkcolor := clgreen;
  checkbox1.Checked := true;
  checkbox2.Checked := true;
  checkbox3.Checked := true;
  checkbox4.Checked := true;
  mainfrm.panel1.color := bkcolor;
end;

procedure Tsetfrm.BitBtn2Click(Sender: TObject);
var
  inifile: tinifile;
  turnchange: boolean;
begin
  if cammode then
  begin
    mainfrm.ini;
    ichess[4][4] := none;
    ichess[4][5] := none;
    ichess[5][4] := none;
    ichess[5][5] := none;
  end;
  if tempindex <> radiogroup4.ItemIndex then
    turnchange := true
  else
    turnchange := false;
  inifile := Tinifile.create(path + 'setting.ini');
  level := boxlevel.itemindex + 1;
  style := radiogroup2.itemindex + 1;
  compcolor := radiogroup4.itemindex + 1;
  if compcolor = black then
    mancolor := white
  else
    mancolor := black;
  if combobox1.ItemIndex = 0 then
  begin
    speed := speedslow;
    mainfrm.menuslow.Click;
  end
  else if combobox1.ItemIndex = 1 then
  begin
    speed := speednormal;
    mainfrm.MenuNormal.Click;
  end
  else
  begin
    speed := speedfast;
    mainfrm.MenuFast.Click;
  end;
  if checkbox1.Checked then
    ram := true
  else
    ram := false;
  if checkbox2.Checked then
    showhintflag := true
  else
    showhintflag := false;
  if checkbox3.Checked then
    usebook := true
  else
    usebook := false;
  if checkbox4.Checked then
    balance := true
  else
    balance := false;
  if checkbox5.Checked then
    auto := true
  else
    auto := false;
  inifile.Writeinteger('setting', 'level', level);
  inifile.Writeinteger('setting', 'style', style);
  inifile.Writeinteger('setting', 'bkcolor', bkcolor);
  inifile.Writeinteger('setting', 'compcolor', compcolor);
  inifile.Writeinteger('setting', 'changespeed', speed);
  inifile.Writebool('setting', 'random', ram);
  inifile.Writebool('setting', 'showhintflag', showhintflag);
  inifile.Writebool('setting', 'usebook', usebook);
  inifile.Writebool('setting', 'balance', balance);
  inifile.Writebool('setting', 'autorun', auto);
  inifile.Free;
  mainfrm.Refresh;
  mainfrm.FormActivate(self);
  close;
  if gamerunning then
    if turnchange then
    begin
        whogo := '电脑';
        mainfrm.compgo;
    end;
end;

procedure Tsetfrm.BitBtn3Click(Sender: TObject);
begin
  close;
end;

procedure Tsetfrm.FormShow(Sender: TObject);
begin
  boxlevel.itemindex := level - 1;
  radiogroup2.itemindex := style - 1;
  radiogroup4.itemindex := compcolor - 1;
  if ram then
    checkbox1.Checked := true
  else
    checkbox1.Checked := false;
  if showhintflag then
    checkbox2.Checked := true
  else
    checkbox2.Checked := false;
  if usebook then
    checkbox3.Checked := true
  else
    checkbox3.Checked := false;
  if speed = speedslow then
    combobox1.ItemIndex := 0
  else if speed = speednormal then
    combobox1.ItemIndex := 1
  else
    combobox1.ItemIndex := 2;
  if balance then
    checkbox4.Checked := true
  else
    checkbox4.Checked := false;
  if auto then
    checkbox5.Checked := true
  else
    checkbox5.Checked := false;
  if checkbox3.Checked = false then
  begin
    checkbox4.Checked := false;
    checkbox4.Enabled := false;
  end;
  tempindex := radiogroup4.ItemIndex;
end;

procedure Tsetfrm.CheckBox3Click(Sender: TObject);
begin
  if checkbox3.Checked then
    checkbox4.Enabled := true
  else
  begin
    checkbox4.Enabled := false;
    checkbox4.Checked := false;
  end;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -