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

📄 unit1.pas

📁 双人对战 俄罗斯访快
💻 PAS
📖 第 1 页 / 共 2 页
字号:
   inc(cury1);
    end ;
   Boxmove(curx1,cury1,paintbox1.Canvas,image1.Picture,mbox1,mmap1,0) ;
   paintbox1paint(sender);
   DXInput1.States := DXInput1.States -[isButton5];
  end; 
 
  end;

procedure drawlittle(can:Tcanvas;box:TBOxBlock);
var
i,j:integer;
begin
for j:=0 to BoxNUm+1 do
  for i:=0 to BoxNum+1 do
    DrawRectB(can,(i)*15,(j)*15,form1.Panel1.Color);
for i:=1 to BoxNum do
 DrawRectG(can,(box.block[i].x+1)*15,(Box.block[i].Y+1 )*15,form1.Image1.Picture);
end;
procedure ranmap(k:integer;var map:tmapblock;m:integer=1);
var i,j,r1:integer;
begin
randomize;
for  i:=25-k to 24 do
for  j:=1 to 15  do
 begin
 r1:= random(15);
 map[r1+1,i].b:=false;
 end;

 for  i:=25-k to 24 do
 for  j:=1 to 15  do
 begin
 r1:= random(15);
 map[r1+1,i].b:=true;
 end;
 if  m=1 then
 form1.PaintBox1paint(nil)
 else
 form1.PaintBox2paint(nil);
end;


procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if not cango(curx1,cury1+1,mbox1,mmap1) then
  Dxtimer1timer(sender,0);
//  if not cango(curx1,cury1+2,mbox1,mmap1) then
 // Dxtimer1timer(sender,0);
if not Boxmove(curx1,cury1,paintbox1.Canvas,image1.Picture,mbox1,mmap1,0) then
begin
 Dxtimer1timer(sender,0);
   inc(count1);
    if Menusound.Checked then
      begin
       PlaySound(PChar('stop'), hInstance, snd_ASync or snd_Resource);
      end;
    application.ProcessMessages;
   if cury1<=3 then
        begin
         timer1.Enabled:=false;
      timer3.Enabled:=false;
      form1.DXTimer1.Enabled:=false;
        over1:=3;
       timer5.Enabled:=true;
       // gameover();
         exit;
         end;

    if count1-count2=8  then
   begin

       if ElineE(mmap2,1,eline2) then
        begin
        ranmap(1,mmap2,2) ;
         count1:=6;
         count2:=4;
        end
        else
        begin        
         timer1.Enabled:=false;
        timer3.Enabled:=false;
        form1.DXTimer1.Enabled:=false;
         over2:=3;
        timer5.Enabled:=true;
       // gameover;
         exit;
        end;
     end;
BoxToMap(Mmap1,mbox1,curx1,cury1);
flineblock(Mmap1,line1);
elineblock(mmap1,line1,mmap2,2,eline2);
 drawblock(curx1,cury1,paintbox1.Canvas,mbox1,image1.Picture,mmap1);
  DrawMap(paintbox1.Canvas,image1.Picture,mmap1);
curx1:=0;
cury1:=0;
mbox1:=nextbox1;
nextbox1:=nextbox[next1];
drawlittle(paintbox3.Canvas,nextbox1);
inc(next1);
if next1=201 then next1:=1 ;
curx1:=8;
cury1:=1;

end;

end;

procedure TForm1.Timer2Timer(Sender: TObject);
begin
if nexts=201 then
begin
nexts:=1 ;
timer2.Enabled:=false;
exit;
end;
productboxblock(nextbox[nextS],mboxstale);
inc(nexts);
end;

procedure TForm1.Timer3Timer(Sender: TObject);
var i:integer;
begin
  if not cango(curx2,cury2+1,mbox2,mmap2) then
  Dxtimer1timer(sender,0);
  //if not cango(curx2,cury2+2,mbox2,mmap2) then
//  Dxtimer1timer(sender,0);
if not Boxmove(curx2,cury2,paintbox2.Canvas,image1.Picture,mbox2,mmap2,0) then
begin
Dxtimer1timer(sender,0);
   inc(count2);
    if Menusound.Checked then
      begin
       PlaySound(PChar('stop'), hInstance, snd_ASync or snd_Resource);
      end;
    application.ProcessMessages;
   if cury2<=3 then
        begin
   timer1.Enabled:=false;
      timer3.Enabled:=false;
      form1.DXTimer1.Enabled:=false;
        over2:=3;
        timer5.Enabled:=true;
       //  gameover;
         exit;
         end;

    if count2-count1=8  then
   begin

       if ElineE(mmap1,1,eline1) then
        begin
        ranmap(1,mmap1,1) ;
         count2:=6;
         count1:=4;
        end
        else
        begin
         timer1.Enabled:=false;
      timer3.Enabled:=false;
      form1.DXTimer1.Enabled:=false;
       over1:=3;
       timer5.Enabled:=true;
       // over2:=1;
       //  gameover;
         exit;
        end;
     end;
BoxToMap(Mmap2,mbox2,curx2,cury2);
flineblock(Mmap2,line2);
elineblock(mmap2,line2,mmap1,1,eline1);
 drawblock(curx2,cury2,paintbox2.Canvas,mbox2,image1.Picture,mmap2);
 DrawMap(paintbox2.Canvas,image1.Picture,mmap2);
curx2:=0;
cury2:=0;
mbox2:=nextbox2;
nextbox2:=nextbox[next2];
drawlittle(paintbox4.Canvas,nextbox2);
inc(next2);
if next2=201 then next2:=1 ;
curx2:=8;
cury2:=1;
end;
end;

procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
//Dxtimer1timer(sender,0);
//timer1can:=false;
//  timer3can:=false;
end;

procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
// timer1can:=true;
 // timer3can:=true;
//  timer1timer(sender);
 // timer3timer(sender);
end;

procedure TForm1.Timer4Timer(Sender: TObject);
var co:tcolor;
begin
co:=RGB(Random(205)+50,Random(205)+50,Random(205)+50);
label1.Font.Color:=co;
label2.Font.Color:=co;
label3.Font.Color:=co;
label4.Font.Color:=co;
if (not menupause.Enabled  ) and  menucontinue.Enabled  then
begin
drawlittle(paintbox3.Canvas,Nextbox1);
drawlittle(paintbox4.Canvas,Nextbox2);
end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
form1.Label5.Visible:=false;
  form1.Label6.Visible:=false;
  form1.Label7.Visible:=false;
   form1.Label8.Visible:=false;
end;

procedure TForm1.MenuReplayClick(Sender: TObject);
begin
win1:=0;
lost1:=0;
win2:=0;
lost2:=0;
form1.Label1.Caption:='won  '+ inttostr(win1);
form1.Label2.Caption:='lost  '+ inttostr(lost1);
form1.Label3.Caption:='won  '+ inttostr(win2);
form1.Label4.Caption:='lost  '+ inttostr(lost2);
menustartclick(nil);
end;

procedure TForm1.MenuPauseClick(Sender: TObject);
begin
if not timer4.Enabled then exit;
timer1.Enabled:=false;
timer3.Enabled:=false;
dxtimer1.Enabled:=false;
menucontinue.Enabled:=true;
menupause.Enabled:=false;
end;

procedure TForm1.MenuContinueClick(Sender: TObject);
begin
if not timer4.Enabled then exit;
timer1.Enabled:=true;
timer3.Enabled:=true;
dxtimer1.Enabled:=true;
menucontinue.Enabled:=false;
menupause.Enabled:=true;
end;

procedure TForm1.ApplicationEvents1Activate(Sender: TObject);
begin
menucontinueclick(sender);
end;

procedure TForm1.ApplicationEvents1Deactivate(Sender: TObject);
begin
menupauseclick(sender);
end;

procedure TForm1.Timer5Timer(Sender: TObject);
begin
gameover;
timer5.Enabled:=false;
end;

procedure TForm1.MenuExitClick(Sender: TObject);
begin
close;
end;

procedure TForm1.MenuGameClick(Sender: TObject);
begin
menupauseclick(sender);
end;

procedure TForm1.MenuOptionClick(Sender: TObject);
begin
menupauseclick(sender);
end;

procedure TForm1.MenuMusicClick(Sender: TObject);
begin
menupauseclick(sender);
end;

procedure TForm1.MenuAboutClick(Sender: TObject);
begin
menupauseclick(sender);
end;

procedure TForm1.MenuSoundClick(Sender: TObject);
begin
menusound.Checked:= NOT menusound.Checked;
end;

procedure TForm1.MenuKeyboardClick(Sender: TObject);
begin
form2.ShowModal;
end;

procedure TForm1.ApplicationEvents1Minimize(Sender: TObject);
begin
menupauseclick(sender);
end;

procedure TForm1.ApplicationEvents1Restore(Sender: TObject);
begin
menucontinueclick(sender);
end;

procedure TForm1.N3Click(Sender: TObject);
begin
showmessage('作者火血狼感谢钧钧小姐的大力支持!');
end;

procedure TForm1.N2Click(Sender: TObject);
begin
 menupauseclick(sender);
end;

end.

⌨️ 快捷键说明

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