玩游戏吗😂

2020-03-16  本文已影响0人  闸合

备忘录里的,我都忘了是啥的代码了🤕

#include<graphics.h>

#include<stdio.h>

#include<conio.h>

#include<time.h>

struct XY

{

int x;

int y;

struct XY *next;

};

enum direction

{

up, down, left, right

};

void main()

{

srand((unsigned)time(nullptr));

initgraph(800, 600, NOMINIMIZE);

setbkcolor(BROWN);

cleardevice();

setfillcolor(LIGHTGRAY);

solidrectangle(60, 60, 540, 540);

setcolor(YELLOW);

settextstyle(25, 0, _T("楷体"));

outtextxy(600, 100, _T("喜欢就抢制作"));

outtextxy(580, 140, _T("WSAD控制上下左右"));

outtextxy(580, 180, _T("需要英文小写WSAD"));

outtextxy(600, 220, _T("QQ:1319910854"));

char c;

int map[15][15] = { 0 };

struct XY sn = { 1,5,nullptr };

struct XY save = sn;

struct XY *psn = &sn;

struct XY food = { 0,0 ,nullptr};

enum direction move = right;

bool flag = false;

setfillcolor(GREEN);

solidcircle(60 + 16 + 32 * sn.x, 60 + 16 + 32 * sn.y, 15);

map[sn.x][sn.y] = 1;

while (true)

{

while (!flag)

{

food.x = rand() % 15;

food.y = rand() % 15;

if (map[food.x][food.y] == 0)

{

map[food.x][food.y] = 2;

flag = true;

}

}

if (_kbhit())

{

c = _getch();

switch (c)

{

case 'w': move = up;

break;

case 's': move = down;

break;

case 'a': move = left;

break;

case 'd': move = right;

break;

default:

break;

}

}

save = sn;

switch (move)

{

case up: sn.y--;

break;

case down: sn.y++;

break;

case left: sn.x--;

break;

case right: sn.x++;

break;

default:

break;

}

if (sn.x > -1 && sn.x<15 && sn.y>-1 && sn.y < 15)

{

psn = (struct XY*)malloc(sizeof(struct XY));

psn->x = save.x;

psn->y = save.y;

psn->next = save.next;

sn.next = psn;

switch (map[sn.x][sn.y])

{

case 0:

{

map[sn.x][sn.y] = 1;

struct XY *s;

psn = &sn;

while (psn->next->next != nullptr)

psn = psn->next;

s = psn->next;

psn->next = nullptr;

map[s->x][s->y] = 0;

free(s);

break;

}

case 1:

{

break;

}

case 2:

{

map[sn.x][sn.y] = 1;

flag = false;

break;

}

default:

break;

}

setfillcolor(LIGHTGRAY);

solidrectangle(60, 60, 540, 540);

setfillcolor(GREEN);

psn = &sn;

while (true)

{

solidcircle(60 + 16 + 32 * psn->x, 60 + 16 + 32 * psn->y, 15);

if (psn->next == nullptr)

break;

else

psn = psn->next;

}

solidcircle(60 + 16 + 32 * sn.x, 60 + 16 + 32 * sn.y, 15);

setfillcolor(RED);

if (flag)

{

solidcircle(60 + 16 + 32 * food.x, 60 + 16 + 32 * food.y, 15);

}

}

else

{

break;

}

Sleep(500);

}

setcolor(YELLOW);

settextstyle(50, 0, _T("楷体"));

outtextxy(200, 300, _T("游戏结束"));

outtextxy(100, 380, _T("按任意键结束游戏"));

system("pause");

closegraph();


生活不易

早点休息

❤️

上一篇 下一篇

猜你喜欢

热点阅读