分享
 
 
 

上海黑暗之龙--麻将原代码

王朝other·作者佚名  2008-06-01
窄屏简体版  字體: |||超大  

部分图片未上传

/*天宇软件

作者:上海黑暗之龙

2002/10/30

麻将原代码*/

#include "dos.h"

#include "stdio.h"

#include "graphics.h"

#include "bios.h"

#include "conio.h"

#include "stdlib.h"

unsigned char far *video_buffer=(char far *)0xA0000000L;

#define VGA256 0x13 /*图形模式13h*/

#define TEXT_MODE 0x03 /*普通文本模式*/

#define SETVGA Set_Video_Mode(VGA256)

#define OUTVGA Set_Video_Mode(TEXT_MODE)

#define BYTE unsigned char

#define Word unsigned int

#define DWORD unsigned int

#define ESC 283

#define LEFT 19200

#define RIGHT 19712

#define H 9064

#define ENTER 7181

unsigned long int z=54400,zz=0,zy=0,zyy=0,z1=0,zl=10140;

int key=0,keyy=0,sing=0,sing1=0,second=0,threes=0;

strUCt chi

{

int lg;

int lgg;

}ch[13];

struct mj

{ char *name; /*名字*/

int data1; /*是否已出,无用了*/

int data2; /*是否在手中,1为自己,2为对方*/

int number; /*同一个花色的第几张,共4张*/

}m[136]={"1.bmp",0,0,1,"1.bmp",0,0,2,"1.bmp",0,0,3,"1.bmp",0,0,4,"2.bmp",0,0,1,

"2.bmp",0,0,2,"2.bmp",0,0,3,"2.bmp",0,0,4,"3.bmp",0,0,1,"3.bmp",0,0,2,

"3.bmp",0,0,3,"3.bmp",0,0,4,"4.bmp",0,0,1,"4.bmp",0,0,2,"4.bmp",0,0,3,

"4.bmp",0,0,4,"5.bmp",0,0,1,"5.bmp",0,0,2,"5.bmp",0,0,3,"5.bmp",0,0,4,

"6.bmp",0,0,1,"6.bmp",0,0,2,"6.bmp",0,0,3,"6.bmp",0,0,4,"7.bmp",0,0,1,

"7.bmp",0,0,2,"7.bmp",0,0,3,"7.bmp",0,0,4,"8.bmp",0,0,1,"8.bmp",0,0,2,

"8.bmp",0,0,3,"8.bmp",0,0,4,"9.bmp",0,0,1,"9.bmp",0,0,2,"9.bmp",0,0,3,

"9.bmp",0,0,4,"10.bmp",0,0,1,"10.bmp",0,0,2,"10.bmp",0,0,3,"10.bmp",0,0,4,

"11.bmp",0,0,1,"11.bmp",0,0,2,"11.bmp",0,0,3,"11.bmp",0,0,4,"12.bmp",0,0,1,

"12.bmp",0,0,2,"12.bmp",0,0,3,"12.bmp",0,0,4,"13.bmp",0,0,1,"13.bmp",0,0,2,

"13.bmp",0,0,3,"13.bmp",0,0,4,"14.bmp",0,0,1,"14.bmp",0,0,2,"14.bmp",0,0,3,

"14.bmp",0,0,4,"15.bmp",0,0,1,"15.bmp",0,0,2,"15.bmp",0,0,3,"15.bmp",0,0,4,

"16.bmp",0,0,1,"16.bmp",0,0,2,"16.bmp",0,0,3,"16.bmp",0,0,4,"17.bmp",0,0,1,

"17.bmp",0,0,2,"17.bmp",0,0,3,"17.bmp",0,0,4,"18.bmp",0,0,1,"18.bmp",0,0,2,

"18.bmp",0,0,3,"18.bmp",0,0,4,"19.bmp",0,0,1,"19.bmp",0,0,2,"19.bmp",0,0,3,

"19.bmp",0,0,4,"20.bmp",0,0,1,"20.bmp",0,0,2,"20.bmp",0,0,3,"20.bmp",0,0,4,

"21.bmp",0,0,1,"21.bmp",0,0,2,"21.bmp",0,0,3,"21.bmp",0,0,4,"22.bmp",0,0,1,

"22.bmp",0,0,2,"22.bmp",0,0,3,"22.bmp",0,0,4,"23.bmp",0,0,1,"23.bmp",0,0,2,

"23.bmp",0,0,3,"23.bmp",0,0,4,"24.bmp",0,0,1,"24.bmp",0,0,2,"24.bmp",0,0,3,

"24.bmp",0,0,4,"25.bmp",0,0,1,"25.bmp",0,0,2,"25.bmp",0,0,3,"25.bmp",0,0,4,

"26.bmp",0,0,1,"26.bmp",0,0,2,"26.bmp",0,0,3,"26.bmp",0,0,4,"27.bmp",0,0,1,

"27.bmp",0,0,2,"27.bmp",0,0,3,"27.bmp",0,0,4,"28.bmp",0,0,1,"28.bmp",0,0,2,

"28.bmp",0,0,3,"28.bmp",0,0,4,"29.bmp",0,0,1,"29.bmp",0,0,2,"29.bmp",0,0,3,

"29.bmp",0,0,4,"30.bmp",0,0,1,"30.bmp",0,0,2,"30.bmp",0,0,3,"30.bmp",0,0,4,

"31.bmp",0,0,1,"31.bmp",0,0,2,"31.bmp",0,0,3,"31.bmp",0,0,4,"32.bmp",0,0,1,

"32.bmp",0,0,2,"32.bmp",0,0,3,"32.bmp",0,0,4,"33.bmp",0,0,1,"33.bmp",0,0,2,

"33.bmp",0,0,3,"33.bmp",0,0,4,"34.bmp",0,0,1,"34.bmp",0,0,2,"34.bmp",0,0,3,

"34.bmp"};

struct every

{ int *k; /*名字*/

int oneorfour; /*同一张牌的第几张*/

int number; /*第几张牌136*/

int p;

int g;

int c;

int d[2];

};

struct me

{ int m; /*定义有几张牌,开始有13张随着游戏的进行,会越来越小*/

int p; /*乓对方*/

int c; /*吃对方*/

int g; /*杠*/

struct every pp[14]; /*存放手上的牌*/

}me;

struct computer

{ int m;

int p;

int c;

int g;

struct every pp[14];

}computer,comp;

/* 设置调色板 */

void Set_Palette(int Color,BYTE r,BYTE g,BYTE b)

{

outportb(0x3c8,Color); /*0x3c8写端口 写色号*/

outportb(0x3c9,r); /*0x3c9数据端口 R、G、B的比例*/

outportb(0x3c9,g);

outportb(0x3c9,b);

}

/*0x3c7读端口 0x3c6计算机调色板寄存器调用端口*/

/* 设置显示模式的函数 */

void Set_Video_Mode(int mode)

{

union REGS inregs,outregs; /*定义输入和返回寄存器*/

inregs.h.ah=0; /*ah存放功能号0h表示进入视频模式*/

inregs.h.al=(unsigned char)mode; /*al存放要设定的视频模式*/

int86(0x10,&inregs,&outregs); /*通过10h中断设定显示模式int86()包含在dos.h*/

}

void v_line(int y0,int y1,int x,unsigned int color)

{ unsigned int address,n,temp;

if(y0>y1)

{

temp=y1;

y1=y0;

y0=temp;

}

address=320*y0+x;

for(n=0;n<=y1-y0;n++)

{

video_buffer[address]=color;

address+=320;

}

}

void h_line(int x0,int x1,int y,unsigned int color)

{ unsigned int address,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;

}

}

void p_pixel(int x,int y,unsigned int color)

{ video_buffer[y*320+x]=color;

}

void s_square(int x,int y,int side,int color)

{

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);

}

void r_rectangle(int x1,int y1,int x2,int y2,int color)

{

h_line(x1,x2,y1,color);

h_line(x1,x2,y2,color);

v_line(y1,y2,x1,color);

v_line(y1,y2,x2,color);

}

void fillRectangle(int x1,int y1,int x2,int y2,int color)

{

int i;

for(i=y1;i<=y2;i++)

{

h_line(x1,x2,i,color);

}

}

void showbmp(int l)

{ FILE *bmp;

int i,x,y;

BYTE palette[256][3];

bmp=fopen(me.pp[l].k,"rb");

fseek(bmp,54,SEEK_SET);

for(i=0;i<256;i++)

{

palette[i][2]=fgetc(bmp)>>2;

palette[i][1]=fgetc(bmp)>>2;

palette[i][0]=fgetc(bmp)>>2;

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);

}

void showbmpd(int l)

{ FILE *bmp;

int i,x,y;

BYTE palette[256][3];

bmp=fopen(me.pp[l].k,"rb");

fseek(bmp,54,SEEK_SET);

for(i=0;i<256;i++)

{

palette[i][2]=fgetc(bmp)>>2;

palette[i][1]=fgetc(bmp)>>2;

palette[i][0]=fgetc(bmp)>>2;

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+zyy,fgetc(bmp));

fclose(bmp);

}

void showybmp(int ll)

{ FILE *bmp;

int i,x,y;

BYTE palette[256][3];

bmp=fopen(computer.pp[ll].k,"rb");

fseek(bmp,54,SEEK_SET);

for(i=0;i<256;i++)

{

palette[i][2]=fgetc(bmp)>>2;

palette[i][1]=fgetc(bmp)>>2;

palette[i][0]=fgetc(bmp)>>2;

fgetc(bmp);

Set_Palette(i,palette[i][0],palette[i][1],palette[i][2]);

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有