c语言轰炸代码 (c语言打出文案的代码)

“既可以是好玩的游戏,又可以是炫酷的表白程序”

谁说程序员不浪漫?表白程序连连看

想学习编程加群 571545210

/*--------------------------------连连看----------------------------------------------------------------

夏七 2016 12 8

项目 连连看

版本1.0

-------------------------------------------------------------------------------------------------------*/

#include<stdio.h>

#include<graphics.h>

#include<time.h>

#include<windows.h>

#include<mmsystem.h>

#pragma comment(lib, "WINMM.LIB")

/*

思路部分

1.外部实现部分

2.内部实现

数组存放 大小为M*N 暂定8*6

赋值为随机数 保证相同的为偶数

-----外部扫描绘图

-----获取鼠标点击 两次 可选 点击变色 相同坐标图片取消

-----可选功能 联线

-----两次如果坐标不同 图像相同 那么贴另外一张图 否则取消

数组全部为空 结束游戏

*/

#define M 8

#define N 6

HWND hWnd;

void game();

void draw(int map[][N],IMAGE img[]);

void getpoint(int &i, int &j,int map[][N]);

void play(int map[][N], IMAGE img[],int win);

void love();

//-----------------------------------------------程序的入口-------------------------------------------------------------------

int main(){

//initgraph(640,480);//太大了

game();

//love();

getchar();

closegraph();

return 0;

}

void game()

{

initgraph(640,480);

hWnd = GetHWnd();//这里用于后面的messagebox

int map[M][N] = { 0 };

//随机填充

int x1, y1, x2, y2;

int win = M*N;//用来统计数组是否是满的 用来判断数组是否为空及游戏是否结束

srand((unsigned)time(NULL));

//生成随机两个坐标

while (win > 0)

{

x1 = rand() % M;

x2 = rand() % M;

y1 = rand() % N;

y2 = rand() % N;

if ((x1 != x2 || y1 != y2) && map[x1][y1] == 0 && map[x2][y2] == 0)

{

map[x2][y2] = rand() % 5 + 1;//6是图片的个数

map[x1][y1] = map[x2][y2];

win -= 2;//两个已经赋值

}

}

IMAGE img[7];

loadimage(&img[0], "0.jpg", 80, 80);

loadimage(&img[1], "1.jpg", 80, 80);

loadimage(&img[2], "2.jpg", 80, 80);

loadimage(&img[3], "3.jpg", 80, 80);

loadimage(&img[4], "4.jpg", 80, 80);

loadimage(&img[5], "5.jpg", 80, 80);

loadimage(&img[6], "背景.jpg", 640,480);

/*loadimage(&img[7], L"0.jpg", 80, 80);

loadimage(&img[8], L"0.jpg", 80, 80);

loadimage(&img[0], L"0.jpg", 80, 80);*/

//绘图函数

//获取鼠标位置

play(map,img,win);

getchar();

}

void draw(int map[][N],IMAGE img[])

{

putimage(0,0, &img[6]);

for (int i = 0; i <= M; i++)

{

for (int j = 0; j <= N; j++)

{

switch (map[i][j])

{

case 0:putimage(80 * i, 80 * j, &img[0]); break;

case 1:putimage(80 * i, 80 * j, &img[1]); break;

case 2:putimage(80 * i, 80 * j, &img[2]); break;

case 3:putimage(80 * i, 80 * j, &img[3]); break;

case 4:putimage(80 * i, 80 * j, &img[4]); break;

case 5:putimage(80 * i, 80 * j, &img[5]); break;

//case 6:putimage(80 * i, 80 * j, &img[6]); break;

//case 2:putimage(80 * i, 80 * j, &img[7]); break;

default:break;

}

}

}

}

void play(int map[][N],IMAGE img[],int win)

{

int x1, x2, y1, y2;

while (1)

{

draw(map, img);

getpoint(x1, y1,map);

getpoint(x2, y2,map);

Sleep(100);

if (x1 == x2&&y1 == y2)

{

//去掉标记

draw(map, img);

}

else if (map[x1][y1] == map[x2][y2])

{

//画线

setlinecolor(BLUE);

line(80*x1+40, 80*y1+40, 80*x2+40, 80*y1+40);

line(80*x2+40, 80*y1+40, 80*x2+40, 80*y2+40);

Sleep(100);

map[x1][y1] = 0;

map[x2][y2] = 0;

win += 2;

}

if (win == M*N)

{

//赢了

draw(map, img);

//表白部分

love();

MessageBox(hWnd, "我都是最棒的", "每一天", MB_OK);

return;

}

}

}

void getpoint(int &i, int &j,int map[][N])

{

//获取一次鼠标信息

MOUSEMSG msg;

while (1)

{

msg = GetMouseMsg();

switch (msg.uMsg)

{

case WM_LBUTTONDOWN:

//返回鼠标位置对应的坐标

i = msg.x / 80;

j = msg.y / 80;

//标记

if (map[i][j] == 0)

{

continue;

}

setlinecolor(BLUE);

rectangle(80 * i, 80 * j, 80 * i + 80, 80 * j + 80);

return;

}

}

}

//表白函数部分 单独写函数吧T^T

void love()

{

setbkmode(TRANSPARENT);

settextstyle(30,0, "黑体");

settextcolor(LIGHTMAGENTA);

//outtextxy(0, 0, L"山");

//Sleep(200);

//outtextxy(40, 0, L"有");

//Sleep(200);

//outtextxy(80, 0, L"木");

//Sleep(200);

//outtextxy(120, 0, L"兮");

//Sleep(200);

//outtextxy(160, 0, L"木");

//Sleep(200);

//outtextxy(200, 0, L"有");

//Sleep(200);

//outtextxy(240, 0, L"枝");

//Sleep(200);

//outtextxy(280, 0, L"心");

//Sleep(200);

//outtextxy(320, 0, L"悦");

//Sleep(200);

//outtextxy(360, 0, L"君");

//Sleep(200);

//outtextxy(400, 0, L"兮");

//Sleep(200);

//outtextxy(440, 0, L"君");

//Sleep(200);

//outtextxy(480, 0, L"不");

//Sleep(200);

//outtextxy(520, 0, L"知");

//Sleep(200);

//outtextxy(0, 40, L"玲珑*子骰**安红豆,入骨相思知不知");

char love[18][50] = { "见与不见","你见或不见我","我就在那里","不悲不喜","你念或者不念我","情就在那里","不来不去","你爱或者不爱我","爱就在那里","不增不减","你跟或不跟我",

"我的手就在你的手里","不舍不弃","来我怀里","或者让我住进你的心里","漠然相爱寂静欢喜" };

char lo[3] = { '\0' };

mciSendString("open love.mp3 alias MyLove", 0, 0, 0);

mciSendString("play MyLove", 0, 0, 0);

for (int i = 0; i < 18; i++){

for (int j = 0; j < 50; j = j + 2){

if (love[i][j] == '\0'){

break;

}

lo[0] = love[i][j];

lo[1] = love[i][j + 1];

lo[2] = '\0';

outtextxy(15 * j, 30 * i, lo);

Sleep(200);

}

}

mciSendString("open love.mp3 alias MyLove", 0, 0, 0);

mciSendString("play MyLove", 0, 0, 0);

}

建议加qq群 学习编程 571545210

这个是我们在群里跟着老师学的,今天分享给大家,如果大家想学习编程可以加群一起学习交流,共同进步。