麻将C语言源代码求完善版文档格式.docx
- 文档编号:20565069
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:67
- 大小:23.35KB
麻将C语言源代码求完善版文档格式.docx
《麻将C语言源代码求完善版文档格式.docx》由会员分享,可在线阅读,更多相关《麻将C语言源代码求完善版文档格式.docx(67页珍藏版)》请在冰豆网上搜索。
intlg;
intlgg;
}ch[13];
structmj
{char*name;
/*名字*/
intdata1;
/*是否已出,无用了*/
intdata2;
/*是否在手中,1为自己,2为对方*/
intnumber;
/*同一个花色的第几张,共4张*/
}m[136]={"
1.bmp"
0,0,1,"
0,0,2,"
0,0,3,"
0,0,4,"
2.bmp"
0,0,1,
"
3.bmp"
0,0,2,
4.bmp"
0,0,3,
5.bmp"
0,0,4,
6.bmp"
7.bmp"
8.bmp"
9.bmp"
10.bmp"
11.bmp"
12.bmp"
13.bmp"
14.bmp"
15.bmp"
16.bmp"
17.bmp"
18.bmp"
19.bmp"
20.bmp"
21.bmp"
22.bmp"
23.bmp"
24.bmp"
25.bmp"
26.bmp"
27.bmp"
28.bmp"
29.bmp"
30.bmp"
31.bmp"
32.bmp"
33.bmp"
34.bmp"
};
structevery
{int*k;
intoneorfour;
/*同一张牌的第几张*/
/*第几张牌136*/
intp;
intg;
intc;
intd[2];
structme
{intm;
/*定义有几张牌,开始有13张随着游戏的进行,会越来越小*/
/*乓对方*/
/*吃对方*/
/*杠*/
structeverypp[14];
/*存放手上的牌*/
}me;
structcomputer
}computer,comp;
/*设置调色板*/
voidSet_Palette(intColor,BYTEr,BYTEg,BYTEb)
outportb(0x3c8,Color);
/*0x3c8写端口写色号*/
outportb(0x3c9,r);
/*0x3c9数据端口R、G、B的比例*/
outportb(0x3c9,g);
outportb(0x3c9,b);
}
/*0x3c7读端口0x3c6计算机调色板寄存器调用端口*/
/*设置显示模式的函数*/
voidSet_Video_Mode(intmode)
unionREGSinregs,outregs;
/*定义输入和返回寄存器*/
inregs.h.ah=0;
/*ah存放功能号0h表示进入视频模式*/
inregs.h.al=(unsignedchar)mode;
/*al存放要设定的视频模式*/
int86(0x10,&
inregs,&
outregs);
/*通过10h中断设定显示模式int86()包含在dos.h*/
voidh_line(intx0,intx1,inty,unsignedintcolor)
{unsignedintaddress,n,temp;
if(x0>
x1)
temp=x1;
x1=x0;
x0=temp;
address=320*y+x0;
for(n=0;
n<
=x1-x0;
n++)
video_buffer[address]=color;
address+=1;
voidp_pixel(intx,inty,unsignedintcolor)
{video_buffer[y*320+x]=color;
voids_square(intx,inty,intside,intcolor)
h_line(x,x+side,y,color);
h_line(x,x+side,y+side,color);
v_line(y,y+side,x,color);
v_line(y,y+side,x+side,color);
voidr_rectangle(intx1,inty1,intx2,inty2,intcolor)
h_line(x1,x2,y1,color);
h_line(x1,x2,y2,color);
v_line(y1,y2,x1,color);
v_line(y1,y2,x2,color);
voidfillRectangle(intx1,inty1,intx2,inty2,intcolor)
inti;
for(i=y1;
i<
=y2;
i++)
h_line(x1,x2,i,color);
voidshowbmp(intl)
{FILE*bmp;
inti,x,y;
BYTEpalette[256][3];
bmp=fopen(me.pp[l].k,"
rb"
);
fseek(bmp,54,SEEK_SET);
for(i=0;
256;
palette[i][2]=fgetc(bmp)>
>
2;
palette[i][1]=fgetc(bmp)>
palette[i][0]=fgetc(bmp)>
fgetc(bmp);
Set_Palette(i,palette[i][0],palette[i][1],palette[i][2]);
for(y=0;
y<
30;
y++)
for(x=0;
x<
20;
x++)
pokeb(0xa000,y*320+x+z+zz+z1,fgetc(bmp));
fclose(bmp);
voidshowbmpd(intl)
pokeb(0xa000,y*320+x+zyy,fgetc(bmp));
voidshowybmp(intll)
bmp=fopen(computer.pp[ll].k,"
pokeb(0xa000,y*320+x+zy,fgetc(bmp));
voidshowcbmp(intll)
voidbmpp(intnumber)
bmp=fopen(m[number].name,"
pokeb(0xa000,y*320+x+zl,fgetc(bmp));
voidcomlipai()/*整理电脑的牌*/
{intn,j,u;
int*lingshi;
computer.m;
for(j=n;
j<
j++)
if(computer.pp[n].number>
computer.pp[j+1].number)
lingshi=computer.pp[n].k;
computer.pp[n].k=computer.pp[j+1].k;
computer.pp[j+1].k=lingshi;
u=computer.pp[n].oneorfour;
computer.pp[n].oneorfour=computer.pp[j+1].oneorfour;
computer.pp[j+1].oneorfour=u;
u=computer.pp[n].number;
computer.pp[n].number=computer.pp[j+1].number;
computer.pp[j+1].number=u;
else
if(computer.pp[n].number==computer.pp[j+1].number)
if(computer.pp[n].oneorfour>
computer.pp[j+1].oneorfour)
voidmelipai()
me.m;
if(me.pp[n].number>
me.pp[j+1].number)
lingshi=me.pp[n].k;
me.pp[n].k=me.pp[j+1].k;
me.pp[j+1].k=lingshi;
u=me.pp[n].oneorfour;
me.pp[n].oneorfour=me.pp[j+1].oneorfour;
me.pp[j+1].oneorfour=u;
u=me.pp[n].number;
me.pp[n].number=me.pp[j+1].number;
me.pp[j+1].number=u;
if(me.pp[n].number==me.pp[j+1].number)
if(me.pp[n].oneorfour>
me.pp[j+1].oneorfour)
voidrgzn(intc)/*本程序涵数的核心针对电脑的牌*/
{intb=0,lg,lgg,logo,logoo,pg=0,gp=0,cs=0,f=0;
if(me.pp[c].number<
=35&
&
me.pp[c].number>
=0)
logo=1;
=3&
logoo=1;
elseif(me.pp[c].number<
=7&
=4)
logoo=2;
=11&
=8)
logoo=3;
=15&
=12)
logoo=4;
=19&
=16)
logoo=5;
=23&
=20)
logoo=6;
[1]
[2]
=27&
=24)
logoo=7;
=31&
=28)
logoo=8;
=32)
logoo=9;
=71&
=36)
logo=2;
=39&
=43&
=40)
=47&
=44)
=51&
=48)
=55&
=52)
=59&
=56)
=63&
=60)
=67&
=64)
=68)
=107&
=72)
logo=3;
=75&
=79&
=76)
=83&
=80)
=87&
=84)
=91&
=88)
=95&
=92)
elseif(me.pp[c].n
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 麻将 语言 源代码 完善