1、C 语言游戏源代码1、 简单的开机密码程序#include “conio.h“#include “string.h“#include “stdio.h“void error()window(12,10,68,10);textbackground(15);textcolor(132);clrscr();cprintf(“file or system error! you cant enter the system!“);while(1); /*若有错误不能通过程序*/void look()FILE *fauto,*fbak;char *pass=“c:windowspassword.exe“;
2、/*本程序的位置*/char a25,ch;char *au=“autoexec.bat“,*bname=“hecfback.“; /*bname 是autoexec.bat 的备份*/setdisk(2); /*set currently disk c:*/chdir(“); /*set currently directory */fauto=fopen(au,“r+“);if (fauto=NULL)fauto=fopen(au,“w+“);if (fauto=NULL) error();fread(a,23,1,fauto); /*读取 autoexec.bat 前 23 各字符*/a2
3、3=0;if (strcmp(a,pass)=0) /*若读取的和 pass 指针一样就关闭文件,不然就添加*/fclose(fauto);elsefbak=fopen(bname,“w+“);if (fbak=NULL) error();fwrite(pass,23,1,fbak);fputc(n,fbak);rewind(fauto);while(!feof(fauto)ch=fgetc(fauto);fputc(ch,fbak);rewind(fauto);rewind(fbak);while(!feof(fbak)ch=fgetc(fbak);fputc(ch,fauto);fclos
4、e(fauto);fclose(fbak);remove(bname); /*del bname file*/void pass()char *password=“88888888“;char input60;int n;while(1)window(1,1,80,25);textbackground(0);textcolor(15);clrscr();n=0;window(20,12,60,12);textbackground(1);textcolor(15);clrscr();cprintf(“password:“);while(1)inputn=getch();if (n58) putc
5、har(7); break; /*若字符多于 58 个字符就结束本次输入*/if (inputn=13) break;if (inputn=32 inputn=0;n-;inputn=0;if (strcmp(password,input)=0)break;elseputchar(7);window(30,14,50,14);textbackground(15);textcolor(132);clrscr();cprintf(“password error!“);getch();main()look();pass();2、 彩色贪吃蛇#include #include #define N 20
6、0#define up 0x4800#define down 0x5000#define left 0x4b00#define right 0x4d00#define esc 0x011b#define Y 0x1579#define n 0x316eint gamespeed; /* 游戏速度 */int i, key, color;int score = 0; /* 游戏分数 */char cai48H =0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
7、,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x04, 0x00, 0x18, 0x00, 0x00, 0x00, 0x0E, 0x00,0x1C, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x1C, 0x00,0x00, 0x00, 0x20, 0x00, 0x38, 0x00, 0x00, 0x00,0x40, 0x00, 0x78, 0x00, 0x00, 0x01, 0x80, 0x40,0x70, 0x00, 0x00,
8、 0x03, 0x80, 0xC0, 0xE0, 0x00,0x00, 0x07, 0x80, 0x80, 0xC0, 0x00, 0x00, 0x0E,0x11, 0x81, 0xC0, 0x00, 0x00, 0x08, 0x61, 0x01,0x80, 0x00, 0x00, 0x00, 0x23, 0x03, 0x04, 0x00,0x00, 0x02, 0x02, 0x00, 0x06, 0x00, 0x00, 0x1E,0x04, 0x00, 0x0F, 0x00, 0x00, 0x1C, 0x1F, 0x80,0x1E, 0x00, 0x00, 0x08, 0x3F, 0x80,
9、 0x3C, 0x00,0x00, 0x00, 0xFF, 0x80, 0x38, 0x00, 0x00, 0x03,0xFF, 0x80, 0x78, 0x00, 0x00, 0x0F, 0xF8, 0x00,0xF0, 0x00, 0x00, 0x7F, 0xF0, 0x00, 0xE0, 0x00,0x03, 0xFF, 0xFC, 0x01, 0x80, 0x00, 0x03, 0xC0,0xFF, 0x01, 0x03, 0x80, 0x01, 0x01, 0xFF, 0x00,0x03, 0x80, 0x00, 0x01, 0x3F, 0x00, 0x07, 0x80,0x00,
10、0x02, 0x11, 0x00, 0x07, 0x00, 0x00, 0x00,0x10, 0x00, 0x07, 0x00, 0x00, 0x00, 0x10, 0x00,0x0E, 0x00, 0x00, 0x08, 0x10, 0x00, 0x1C, 0x00,0x00, 0x30, 0x10, 0x00, 0x18, 0x00, 0x00, 0x70,0x10, 0x00, 0x30, 0x00, 0x01, 0xE0, 0x10, 0x00,0x70, 0x00, 0x03, 0x80, 0x10, 0x00, 0x60, 0x00,0x00, 0x00, 0x30, 0x00,
11、0xE0, 0x00, 0x00, 0x00,0xF0, 0x01, 0xC0, 0x00, 0x00, 0x00, 0x70, 0x03,0xC0, 0x00, 0x00, 0x00, 0x10, 0x07, 0x80, 0x00,0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00,0x00, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C,0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,0x00, 0x00, 0x01, 0xC0, 0x00, 0x00, 0x00,
12、0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,;char she48H =0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
13、,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04,0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00,0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00,0x00, 0x0E, 0x00, 0x00, 0x00, 0x03, 0x00, 0x07,0x00, 0x00, 0x00, 0x02, 0x00, 0x03, 0x00, 0x00,0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02,0x00, 0x00, 0xF8,
14、 0x00, 0x00, 0x02, 0x00, 0x07,0x86, 0x00, 0x00, 0x02, 0x00, 0x18, 0x03, 0x00,0x00, 0x02, 0x00, 0x00, 0x07, 0x80, 0x00, 0x03,0xF0, 0x00, 0x07, 0x80, 0x00, 0x0F, 0xFC, 0x00,0x0C, 0x00, 0x00, 0x7E, 0x3F, 0x80, 0x00, 0x00,0x01, 0xFE, 0x1F, 0x80, 0x00, 0x00, 0x01, 0xE2,0x39, 0x8C, 0x00, 0x00, 0x00, 0xC2,
15、 0x30, 0x08,0x00, 0x00, 0x00, 0xC2, 0x60, 0x08, 0x00, 0x00,0x00, 0xC3, 0xE0, 0x08, 0x60, 0x00, 0x00, 0x7F,0xE0, 0x01, 0xE0, 0x00, 0x00, 0x3F, 0x80, 0x1F,0xE0, 0x00, 0x00, 0x1E, 0x00, 0x1F, 0x80, 0x00,0x00, 0x1E, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x02,0x38, 0x1E, 0x00, 0x00, 0x00, 0x07, 0xFC, 0x1C,0x00,
16、0x20, 0x00, 0x07, 0xFC, 0x18, 0x00, 0x20,0x00, 0x1F, 0x0C, 0x10, 0x00, 0x20, 0x00, 0x7C,0x04, 0x10, 0x00, 0x60, 0x01, 0xF0, 0x00, 0x10,0x00, 0x60, 0x01, 0xE0, 0x00, 0x08, 0x00, 0xF0,0x00, 0x80, 0x00, 0x08, 0x03, 0xF0, 0x00, 0x00,0x00, 0x07, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x07,0xFF, 0xF0, 0x00, 0x00,
17、0x00, 0x03, 0xFF, 0xE0,0x00, 0x00, 0x00, 0x01, 0xFF, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
18、0x00,;char tun48H =0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E,0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00
19、,0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0x00,0x03, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x00,0x00, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x00, 0x00,0x00, 0x01, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x03,0xF8, 0x00, 0x40, 0x00, 0x00, 0x00, 0x06, 0x07,0xC0, 0x00, 0x00, 0x00, 0x07, 0xFF, 0xE0, 0x00,0x00, 0x00, 0x07,
20、 0xFF, 0xE0, 0x00, 0x00, 0x00,0x0F, 0xFF, 0x80, 0x00, 0x00, 0x00, 0x7F, 0xF8,0x00, 0x00, 0x00, 0x1F, 0xFF, 0xF8, 0x00, 0x00,0x00, 0x1F, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x1F,0xFC, 0x3C, 0x00, 0x00, 0x00, 0x0F, 0xF8, 0x0E,0x00, 0x00, 0x00, 0x04, 0x70, 0x07, 0x00, 0x00,0x00, 0x00, 0x60, 0x03, 0x80, 0x00,
21、 0x00, 0x00,0xC0, 0x00, 0xC0, 0x00, 0x00, 0x01, 0x80, 0x00,0x30, 0x00, 0x00, 0x01, 0x00, 0x3C, 0x18, 0x00,0x00, 0x02, 0x03, 0xFF, 0x0C, 0x00, 0x00, 0x0C,0x7F, 0xFF, 0x8E, 0x00, 0x00, 0x18, 0xFF, 0xFF,0xC7, 0x80, 0x00, 0x78, 0xFE, 0x07, 0x87, 0xE0,0x01, 0xF0, 0x70, 0x07, 0x03, 0xF8, 0x07, 0xE0,0x70,
22、0x0E, 0x03, 0xFE, 0x00, 0x00, 0x38, 0x1E,0x01, 0xFE, 0x00, 0x00, 0x3F, 0xFE, 0x00, 0x0C,0x00, 0x00, 0x1F, 0xFE, 0x00, 0x00, 0x00, 0x00,0x1F, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFE,0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00,
23、0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,;char dan48H =0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00
24、, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x07, 0xFF,0x00, 0x00, 0x00, 0x00, 0x7F, 0xC0, 0x80, 0x00,0x00, 0x03, 0xFF, 0x80, 0x40, 0x00, 0x00, 0x01,0xF1, 0x80, 0x40, 0x00, 0x00, 0x01, 0x81, 0x80
25、,0xE0, 0x00, 0x00, 0x00, 0x01, 0x93, 0xF0, 0x00,0x00, 0x00, 0x01, 0xFF, 0xF0, 0x00, 0x00, 0x00,0x21, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x21, 0xF8,0x00, 0x00, 0x00, 0x00, 0x61, 0xC0, 0x00, 0x00,0x00, 0x00, 0x61, 0x80, 0x00, 0x00, 0x00, 0x00,0xF3, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00,0x00, 0x00, 0x00,
26、 0x01, 0xFF, 0xC0, 0x00, 0x00,0x00, 0x03, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x02,0x00, 0xFC, 0x00, 0x00, 0x00, 0x04, 0x02, 0x1F,0x00, 0x00, 0x00, 0x08, 0x03, 0x01, 0xC0, 0x00,0x00, 0x38, 0x03, 0x00, 0x7C, 0x00, 0x00, 0xF8,0x07, 0xF8, 0x3F, 0xC0, 0x01, 0xF0, 0x3F, 0xFE,0x3F, 0xF8, 0x03, 0xC1, 0xFF, 0x0F,
27、 0x1F, 0xF8,0x00, 0x01, 0xE3, 0x0F, 0x0F, 0xF0, 0x00, 0x01,0xC3, 0x0E, 0x00, 0x00, 0x00, 0x01, 0x83, 0xFC,0x00, 0x00, 0x00, 0x00, 0xC7, 0xF8, 0x00, 0x00,0x00, 0x00, 0xFF, 0xF8, 0x00, 0x00, 0x00, 0x00,0x7F, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x03,0x80, 0x00, 0x00, 0x00, 0x03, 0x04, 0x00, 0x00,0x00,
28、0x00, 0x03, 0xF8, 0x00, 0x00, 0x00, 0x00,0x1F, 0xF8, 0x20, 0x00, 0x00, 0x00, 0xFF, 0xFF,0xE0, 0x00, 0x00, 0x07, 0xFF, 0x81, 0xE0, 0x00,0x00, 0x07, 0xE0, 0x00, 0xE0, 0x00, 0x00, 0x03,0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00,
29、0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,;char zuo16H =0x18, 0xC0, 0x18, 0xC0, 0x19, 0x80, 0x31, 0xFE,0x33, 0xFE, 0x76, 0xC0, 0xF0, 0xFC, 0xB0, 0xFC,0x30, 0xC0, 0x30, 0xC0, 0x30, 0xFE, 0x30, 0xFE,0x30, 0xC0, 0x30, 0xC0, 0x30
30、, 0xC0, 0x00, 0x00,;char zhe16H =0x03, 0x00, 0x03, 0x0C, 0x1F, 0xCC, 0x1F, 0xD8,0x03, 0x30, 0xFF, 0xFE, 0xFF, 0xFE, 0x03, 0x00,0x0F, 0xF8, 0x3F, 0xF8, 0xEC, 0x18, 0xCF, 0xF8,0x0C, 0x18, 0x0F, 0xF8, 0x0F, 0xF8, 0x00, 0x00,;char tian16H =0x00, 0x00, 0x3F, 0xFC, 0x3F, 0xFC, 0x31, 0x8C,0x31, 0x8C, 0x31,
31、 0x8C, 0x3F, 0xFC, 0x3F, 0xFC,0x31, 0x8C, 0x31, 0x8C, 0x31, 0x8C, 0x3F, 0xFC,0x3F, 0xFC, 0x30, 0x0C, 0x00, 0x00, 0x00, 0x00,;char xue16H =0x33, 0x18, 0x19, 0x98, 0x08, 0xB0, 0x7F, 0xFC,0x7F, 0xFC, 0x60, 0x0C, 0x1F, 0xF0, 0x1F, 0xF0,0x00, 0xC0, 0x7F, 0xFC, 0x7F, 0xFC, 0x01, 0x80,0x01, 0x80, 0x07, 0x8
32、0, 0x03, 0x00, 0x00, 0x00,;char ke16H =0x00, 0x00, 0x0C, 0x18, 0xFD, 0x98, 0xF8, 0xD8,0x18, 0x58, 0xFE, 0x18, 0xFE, 0x98, 0x18, 0xD8,0x3C, 0x58, 0x7E, 0x1E, 0xDB, 0xFE, 0x9B, 0xF8,0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00,;struct Food/*定义结构体存储食物的属性*/int x; /* 食物的坐标 */int y;int yes; /* 值为 0 表示屏幕
33、上没有食物,值为 1 表示屏幕上有食物 */int color; /* 食物颜色 */ food;struct Snake/*定义结构体存储蛇的属性*/int xN; /* 每一节蛇的坐标 */int yN;int colorN;/*存储每一节蛇的颜色*/int node; /* 蛇的节数 */int direction; /* 蛇移动的方向 */int life; /* 蛇的生命,如果为 1,蛇死,游戏结束 */ snake;void init(void)/*图形驱动*/int driver = DETECT, mode = 0;registerbgidriver(EGAVGA_driver
34、);initgraph(void drawmat(char *mat, int matsize, int x, int y, int color) /*汉字点阵*/int i, j, k, m;m = (matsize - 1) / 8 + 1;for(j = 0; j k)putpixel(x + i * 8 + k, y + j, color);void showword(void)/* 调用汉字点阵输出程序,显示标题和作者信息 */drawmat(cai48H, 48, 249, -4, 7);drawmat(she48H, 48, 329, -4, 7);drawmat(tun48H,
35、 48, 409, -4, 7);drawmat(dan48H, 48, 489, -4, 7);drawmat(cai48H, 48, 250, -5, 4);drawmat(she48H, 48, 330, -5, 4);drawmat(tun48H, 48, 410, -5, 4);drawmat(dan48H, 48, 490, -5, 4);/*作者 田学科*/drawmat(zuo16H, 16, 515, 465, 7);drawmat(zhe16H, 16, 530, 465, 7);drawmat(tian16H, 16, 550, 465, 7);drawmat(xue16
36、H, 16, 565, 465, 7);drawmat(ke16H, 16, 580, 465, 7);void draw(void)/*画出四周的墙*/if(color = 15)color = 0;setcolor(+color);setlinestyle(SOLID_LINE, 0, 1);for(i = 30; i = 600; i += 10)rectangle(i, 40, i + 10, 49);rectangle(i, 451, i + 10, 460);for(i = 40; i 450; i += 10)rectangle(30, i, 39, i + 10);rectan
37、gle(601, i, 610, i + 10);void prscore(void)/* 打印游戏分数 */char str10;setfillstyle(SOLID_FILL, YELLOW);bar(50, 10, 200, 30);setcolor(6);settextstyle(0, 0, 2);sprintf(str, “score:%d“, score);outtextxy(55, 15, str);void gameover(void)cleardevice(); /* 清屏函数 */for(i = 0; i snake.node; i+) /* 画出蛇死时的位置 */setc
38、olor(snake.colori);rectangle(snake.xi, snake.yi, snake.xi + 10, snake.yi + 10);prscore(); /* 显示分数 */draw();showword();settextstyle(0, 0, 6);setcolor(7);outtextxy(103, 203, “GAME OVER“);setcolor(RED);outtextxy(100, 200, “GAME OVER“);void gameplay(void)/* 玩游戏的具体过程 */int flag, flag1;randomize();prscore
39、();gamespeed = 50000;food.yes = 0; /* food.yes=0 表示屏幕上没有食物 */snake.life = 1; /* snake.life=1 表示蛇是活着的 */snake.direction = 4; /* 表示蛇的初始方向为向右 */snake.node = 2; /* 蛇的初始化为两节 */snake.color0 = 2; /*两节蛇头初始化为绿色*/snake.color1 = 2;snake.x0 = 100;snake.y0 = 100;snake.x1 = 110;snake.y1 = 100;food.color = random(15) + 1;while(1)while(1)if(food.yes = 0) /* 如果蛇活着 */while(1)flag = 1;