麻将C语言源代码求完善版文档格式.docx

上传人:b****6 文档编号:20565069 上传时间:2023-01-24 格式:DOCX 页数:67 大小:23.35KB
下载 相关 举报
麻将C语言源代码求完善版文档格式.docx_第1页
第1页 / 共67页
麻将C语言源代码求完善版文档格式.docx_第2页
第2页 / 共67页
麻将C语言源代码求完善版文档格式.docx_第3页
第3页 / 共67页
麻将C语言源代码求完善版文档格式.docx_第4页
第4页 / 共67页
麻将C语言源代码求完善版文档格式.docx_第5页
第5页 / 共67页
点击查看更多>>
下载资源
资源描述

麻将C语言源代码求完善版文档格式.docx

《麻将C语言源代码求完善版文档格式.docx》由会员分享,可在线阅读,更多相关《麻将C语言源代码求完善版文档格式.docx(67页珍藏版)》请在冰豆网上搜索。

麻将C语言源代码求完善版文档格式.docx

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1