📄 huform.cpp
字号:
sum_sc+=paishu[18]*n;
}
if(winner->ziminggang())
{ int n=winner->ziminggang();
Label1->Caption=Label1->Caption+n+"字明杠 "+"\n";
Label2->Caption=Label2->Caption+paishu[19]*n+"\n";
sum_sc+=paishu[19]*n;
}
if(winner->ziangang())
{ int n=winner->ziangang();
Label1->Caption=Label1->Caption+n+"字暗杠 "+"\n";
Label2->Caption=Label2->Caption+paishu[20]*n+"\n";
sum_sc+=paishu[20]*n;
}
if(winner->minggang())
{ int n=winner->minggang();
Label1->Caption=Label1->Caption+n+"明杠 "+"\n";
Label2->Caption=Label2->Caption+paishu[21]*n+"\n";
sum_sc+=paishu[21]*n;
}
if(winner->angang())
{ int n=winner->angang();
Label1->Caption=Label1->Caption+n+"暗杠 "+"\n";
Label2->Caption=Label2->Caption+paishu[22]*n+"\n";
sum_sc+=paishu[22]*n;
}
if(qiangganghu)
{
Label1->Caption=Label1->Caption+"抢杠和 "+"\n";
Label2->Caption=Label2->Caption+paishu[15]+"\n";
sum_sc+=paishu[15];
}
if(gangshangkaihua)
{
Label1->Caption=Label1->Caption+"杠上开花 "+"\n";
Label2->Caption=Label2->Caption+paishu[12]+"\n";
sum_sc+=paishu[12];
}
Label1->Caption=Label1->Caption+"\n\n总牌数 "+sum_sc+"\n";
int pai[4];
man * pm;
Label4->Caption="";
for(int i=0;i<4;i++)
{
pai[i]=0;
if(i==win)continue;
switch(i)
{
case 0:
pm=&down;
break;
case 1:
pm=&left;
break;
case 2:
pm=&up;
break;
case 3:
pm=&right;
break;
}
Label4->Caption=Label4->Caption+playername[i]+(i==master?AnsiString("(庄家)"):AnsiString(""))+" ";
if(pm->fa())
{ int n=pm->fa();
Label4->Caption=Label4->Caption+n+"发财 ";
Label4->Caption=Label4->Caption+paishu[16]*n+" ";
pai[i]+=paishu[16]*n;
}
if(pm->zimingke())
{ int n=pm->zimingke();
Label4->Caption=Label4->Caption+n+"字明刻 ";
Label4->Caption=Label4->Caption+paishu[17]*n+" ";
pai[i]+=paishu[17]*n;
}
if(pm->ziminggang())
{ int n=pm->ziminggang();
Label4->Caption=Label4->Caption+n+"字明杠 ";
Label4->Caption=Label4->Caption+paishu[19]*n+" ";
pai[i]+=paishu[19]*n;
}
if(pm->ziangang())
{ int n=pm->ziangang();
Label4->Caption=Label4->Caption+n+"字暗杠 ";
Label4->Caption=Label4->Caption+paishu[20]*n+" ";
pai[i]+=paishu[20]*n;
}
if(pm->minggang())
{ int n=pm->minggang();
Label4->Caption=Label4->Caption+n+"明杠 ";
Label4->Caption=Label4->Caption+paishu[21]*n+" ";
pai[i]+=paishu[21]*n;
}
if(pm->angang())
{ int n=pm->angang();
Label4->Caption=Label4->Caption+n+"暗杠 ";
Label4->Caption=Label4->Caption+paishu[22]*n+" ";
pai[i]+=paishu[22]*n;
}
Label4->Caption=Label4->Caption+"总 "+pai[i]+"\n";
}
Label5->Caption="";
for(int i=0;i<4;i++)
{ ret[i]=0;
if(i==win)continue;
if(iszimo)
{
if(win==master||i==master)
ret[i]=(sum_sc+pai[i])*(-2);
else
ret[i]=(sum_sc+pai[i])*(-1);
}
else
{
if(i==lose&&(i==master||win==master))
ret[i]=(sum_sc+pai[i])*(-2);
else if(i==lose)
ret[i]=(sum_sc+pai[i])*(-1);
}
Label5->Caption=Label5->Caption+ret[i]+"\n";
//ret[win]+=ret[i];
}
for(int i=0;i<4;i++)
if(i!=win)
ret[win]+=ret[i];
ret[win]=0-ret[win];
Label4->Caption=Label4->Caption+playername[win]+(win==master?AnsiString("(庄家)"):AnsiString(""))+"\n";
Label5->Caption=Label5->Caption+ret[win]+"\n";
this->Resize();
}
void __fastcall Thupai::Button1Click(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
void __fastcall Thupai::FormResize(TObject *Sender)
{
//Label2->Left=Label1->Left+Label1->Width+30;
ClientWidth=555;
//Label3->Left=(ClientWidth-Label1->Width)/2;
Label4->Top=Label1->Height+Label1->Top+20;
Label5->Top=Label4->Top;
ClientHeight=Label4->Height+Label4->Top+70;
Label1->Left=(ClientWidth-Label1->Width-Label2->Width)/3;
Label2->Left=ClientWidth-Label1->Left-Label2->Width;
Button1->Top=ClientHeight-50;
Button1->Left=(ClientWidth-Button1->Width)/2;
Label3->Left=(ClientWidth-Label3->Width)/2;
Label4->Left=(ClientWidth-Label4->Width-Label5->Width)/3;
Label5->Left=ClientWidth-Label4->Left-Label5->Width;
}
//---------------------------------------------------------------------------
static TRect picrect(mjpai mj)
{
if(mj>=11&&mj<=19)
return Rect((mj-11)*25,0,24+(mj-11)*25,34);
else if(mj>=31&&mj<=39)
return Rect((mj-31)*25,35,24+(mj-31)*25,69);
else if(mj>=51&&mj<=59)
return Rect((mj-51)*25,70,24+(mj-51)*25,104);
else if(mj==91)
return Rect(0,105,24,139);
else if(mj==81)
return Rect(25,105,49,139);
else if(mj==71)
return Rect(50,105,74,139);
else if(mj==100)
return Rect(175,105,199,139);
return Rect(0,0,0,0);
}
void Thupai::drawwinner()const
{
int showedcount,handcount;
TImage *imming,*iman;
showedcount=winner->zushowed.getkuaicount();
handcount=winner->zuhand.getcount();
switch(image)
{
case 1:
imming=Form1->imdownming1o;
iman=Form1->imdownan1o;
break;
case 2:
imming=Form1->imdownming2o;
iman=Form1->imdownan2o;
break;
}
int i; int current=10,c=0,j;
for(i=0;i<showedcount;i++)
if(winner->zushowed.iske(i)||winner->zushowed.isshun(i))
{
for(j=0;j<3;j++)
{
mjpai mj;
mj=winner->zushowed.getmj(c++);
Canvas->CopyRect(Rect(current,15,current+25,15+35),
imming->Canvas, picrect(mj));
current+=25;
}
current +=5;
}
else if(winner->zushowed.isgang(i))
{
for(j=0;j<4;j++)
{
//mage *temp=isgang(i)==1?
mjpai mj;
mj=winner->zushowed.getmj(c++);
if(winner->zushowed.isgang(i)==1)//明杠
if(j==2)
Canvas->CopyRect(Rect(current,15-13,current+25,15+35-13),
imming->Canvas, picrect(mj));
else
Canvas->CopyRect(Rect(current,15,current+25,15+35),
imming->Canvas, picrect(mj));
else
if(j==2)
Canvas->CopyRect(Rect(current,15-13,current+25,15+35-13),
imming->Canvas, picrect(mj));
else
Canvas->CopyRect(Rect(current,15,current+25,15+35),
imming->Canvas, picrect(100));
if(j!=1)
current+=25;
}
current +=5;
}
else if(winner->zushowed.whatcolor(i)==5)
{
mjpai mj;
mj=winner->zushowed.getmj(c++);
Canvas->CopyRect(Rect(current,15,current+25,15+35),
imming->Canvas, picrect(mj));
current+=25;
current+=5;
}
//current +=15;
current=10;
for(i=0;i<handcount;i++)
{
mjpai mj;
mj=winner->zuhand.getmj(i);
Canvas->CopyRect(Rect(current,
60-5,current+25,60+35-5), iman->Canvas,
picrect(mj));
current+=25;
}
current+=5;
if(winner->painewget!=0)
Canvas->CopyRect(Rect(current,
60-5,current+25,60+35-5), iman->Canvas,
picrect(winner->painewget));
}
void __fastcall Thupai::FormPaint(TObject *Sender)
{
drawwinner();
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -