#include<stdio.h>
#include<graphics.h>
#include<mmsystem.h>
#pragma comment (lib, "Winmm.lib")
#define row 520
#define col 800
typedef struct node {
IMAGE jpg;
IMAGE jpg1;
IMAGE jpg2[2];
IMAGE jpg3[2];
IMAGE jpg4[2];
}node;
typedef struct kill {
int w;
int w1;
int q;
int q1;
int e;
int e1;
int r;
int r1;
int t;
int t1;
int y;
int y1;
int u;
int u1;
int i;
int i1;
int o;
int o1;
}hollw;
node a;
hollw b;
void ym();
void xs();
void ws();
void qw();
int main() {
initgraph(row, col);
xs();
ym();
while (1) {
ExMessage m;
peekmessage(&m, EX_MOUSE);
switch (m.message) {
case WM_LBUTTONDOWN:
ws();
qw();
break;
}
}
getchar();
return 0;
}
void ym() {
loadimage(&a.jpg1, "bg.jpg");
loadimage(&a.jpg2[0], "uiPlane1.jpg");
loadimage(&a.jpg2[1], "uiPlane0.jpg");
loadimage(&a.jpg3[1], "bullet0.jpg");
loadimage(&a.jpg3[0], "bullet1.jpg");
loadimage(&a.jpg4[0], "坏机.jpg");
loadimage(&a.jpg4[1], "uiPlane01.jpg");
mciSendString("open level.mp3", 0, 0, 0);
mciSendString("play level.mp3", 0, 0, 0);
b.q = 220;
b.q1 = 740;
b.w = -col;
b.w1 = 0;
b.e = b.q+30;
b.e1 = b.q1;
b.r = 0;
b.r1 = 0;
b.t = 225;
b.t1 = 0;
b.y = 460;
b.y1 = 0;
b.u = b.r + 30;
b.u1 = b.r1;
b.i = b.t + 30;
b.i1 = b.t1;
b.o = b.y + 30;
b.o1 = b.y1;
}
void xs() {
loadimage(&a.jpg, "首页.jpg");
putimage(0, 0, &a.jpg);
}
void ws() {
BeginBatchDraw();
putimage(0, b.w1, &a.jpg1);
putimage(0, b.w, &a.jpg1);
putimage(b.q, b.q1, &a.jpg2[1], SRCPAINT);
putimage(b.q, b.q1, &a.jpg2[0], SRCAND);
putimage(b.e, b.e1, &a.jpg3[1], SRCPAINT);
putimage(b.e, b.e1, &a.jpg3[0], SRCAND);
putimage(b.u, b.u1, &a.jpg3[1], SRCPAINT);
putimage(b.u, b.u1, &a.jpg3[0], SRCAND);
putimage(b.i, b.i1, &a.jpg3[1], SRCPAINT);
putimage(b.i, b.i1, &a.jpg3[0], SRCAND);
putimage(b.o, b.o1, &a.jpg3[1], SRCPAINT);
putimage(b.o, b.o1, &a.jpg3[0], SRCAND);
putimage(b.r, b.r1, &a.jpg4[1], SRCPAINT);
putimage(b.r, b.r1, &a.jpg4[0], SRCAND);
putimage(b.t, b.t1, &a.jpg4[1], SRCPAINT);
putimage(b.t, b.t1, &a.jpg4[0], SRCAND);
putimage(b.y, b.y1, &a.jpg4[1], SRCPAINT);
putimage(b.y, b.y1, &a.jpg4[0], SRCAND);
EndBatchDraw();
}
void qw() {
b.u1 += 3;
if (b.u1 > 800) {
b.u1 = b.r1;
b.u = b.r + 30;
}
b.i1 += 3;
if (b.i1 > 800) {
b.i1 = b.t1;
b.i = b.t + 30;
}
b.o1 += 3;
if (b.o1 > 800) {
b.o1 = b.y1;
b.o = b.y + 30;
}
b.r1++;
if (b.r1 > 800) {
b.r1 = 0;
}
b.t1++;
if (b.t1 > 800) {
b.t1 = 0;
}
b.y1++;
if (b.y1 > 800) {
b.y1 = 0;
}
b.e1-=3;
if (b.e1 < 0) {
b.e1 = b.q1;
b.e = b.q + 30;
}
b.w++;
b.w1++;
if (b.w > col) {
b.w = -col;
}
if (b.w1 > col) {
b.w1 = -col;
}
Sleep(10);
ExMessage mm;
peekmessage(&mm, EX_KEY);
switch (mm.message) {
case WM_KEYDOWN:
switch (mm.vkcode) {
case VK_LEFT:
b.q -= 3;
if (b.q < 0) {
b.q = 0;
}
break;
case VK_UP:
b.q1 -= 3;
if (b.q1 < 0) {
b.q1 = 0;
}
break;
case VK_RIGHT:
b.q += 3;
if (b.q > 465) {
b.q = 465;
}
break;
case VK_DOWN:
b.q1 += 3;
if (b.q1 > 740) {
b.q1 = 740;
}
break;
}
break;
}
}