挂海论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
 友情提示:文字/图片广告均非网站意见,请担保交易勿直接付款,由此产生的责任自负
玩游戏来117游戏网(H5不下载也能玩手游传奇,吃鸡,竞技都有)不懂社区·好资源不错过·各位资源站大佬欢迎来采集搬运IOS签名/udid证书出售/送证书加群1040456405 ██【我要租此广告位】██
... .
查看: 2973|回复: 6
打印 上一主题 下一主题

[VC] 贪吃蛇源码,要的来拿呗

[复制链接]
3正式会员
217/300

217

积分

119

主题

8

听众
已帮网友解决0 个问题
好评
0
贡献
98
海币
1773
交易币
0
跳转到指定楼层
楼主
发表于 2015-2-1 16:54:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提醒:若下载的软件是收费的"请不要付款",可能是骗子,请立即联系本站举报,执意要付款被骗后本站概不负责。(任何交易请走第三方中介,请勿直接付款交易以免被骗!切记).

友情提示:文字/图片广告均非本站意见,请担保交易勿直接付款,由此产生的责任自负!!!↑↑


/*********************
*****最简单贪吃蛇****
-------------------------------------
****by_狂奔小兔****
********************/
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#define H 15
#define W 30
#define N 10
void move();
void start();
void draw();
void getturn();
void turn(char direction);
void judge();
void getfood();
void over();
int a, b, x, y, l = 0, n, i, j;
int x1, y1;
char *head, *tail, *tt, map[H][W];
char *belly[H * W], *food;
char left, right, front, back;
int main()
{
         start();
}

void start()
{
         for (i = 0; i != H; ++i)
                 for (j = 0; j != W; ++j)
                 {
                         if ((i == 0) || (i == H - 1) || (j == 0) || (j == W - 1))
                                 map[j] = '9';
                         else
                                 map[j] = '0';
                 }
         x = W / 2, y = H / 2;
         head = &map[y][x + 1];
         belly[l] = &map[y][x];
         tail = &map[y][x - 1];
         *head = '1';
         *belly[0] = '2';
         *tail = '3';
         left = 'w', right = 's';
         front = 'd', back = 'a';
         turn(front);
         getfood();
                 draw();
         while (1)
         {
                 usleep(1000000/N);
                 getturn();
                 move();
                 judge();
                 clrscr();
                 draw();
         }
}

void getturn()
{
         char t, t1;
         while (kbhit())
         {
                 t = getch();
                 if (t == left)
                 {
                         turn(left);
                         left = back;
                         back = right;
                         right = front;
                         front = t;
                         goto gett;
                 }
                 else if (t == right)
                 {
                         turn(right);
                         right = back;
                         back = left;
                         left = front;
                         front = t;
                         goto gett;
                 }
         }
         turn(front);
   gett:;
         while (kbhit())
                 t = getch();
}

void getfood()
{
         do
         {
                 x1 = random() % (W - 2) + 1;
                 y1 = random() % (H - 2) + 1;
         }
         while (map[y1][x1] != '0');
         food = &map[y1][x1];
         *food = '4';
}

void turn(char direction)
{
         switch (direction)
         {
         case 'w':
                 --y;
                 break;
         case 's':
                 ++y;
                 break;
         case 'a':
                 --x;
                 break;
         case 'd':
                 ++x;
                 break;
         }

}

void move()
{
         tt = belly[l];
         for (i = l; i != 0; --i)
                 belly = belly[i - 1];
         belly[0] = head;
         head = &map[y][x];
         *belly[0] = '2';
}

void judge()
{
         switch (*head)
         {
         case '2':;
         case '9':
                 over();
                 break;
         case '4':
                 getfood();
                 ++l;
                 belly[l] = tt;
                 break;
         case '0':
                 *head = '1';
                 *tail = '0';
                 tail = tt;
                 *tail = '3';
                 break;
         }
}

void draw()
{
         for (i = 0; i != H; ++i)
         {
                 for (j = 0; j != W; ++j)
                         switch (map[j])
                         {
                         case '0':
                                 printf(" ");
                                 break;
                         case '9':
                                 printf("#");
                                 break;
                         case '1':
                                 printf("O");
                                 break;
                         case '2':
                                 printf("o");
                                 break;
                         case '3':
                                 printf(".");
                                 break;
                         case '4':
                                 printf("♥");
                                 break;
                         }
                 printf("\n");
         }
}

void over()
{
         printf("\tGame over!!!\n");
         printf("\t\tAgain?\n");
         getch();
         clrscr();
         start();
}


联系我时,请说是在 挂海论坛 上看到的,谢谢!



上一篇:C语音入门教程-从简单到复杂全套高清语音教程-共68集
下一篇:c语言视频教程全套 2015最新录制教程
免责声明:
1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关。一切关于该内容及资源商业行为与www.52ghai.com无关。

2、本站提供的一切资源内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。

3、本站信息来自第三方用户,非本站自制,版权归原作者享有,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

4、如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵犯你版权的,请邮件与我们联系删除(邮箱:xhzlw@foxmail.com),本站将立即改正。

3正式会员
128/300

128

积分

51

主题

5

听众
已帮网友解决0 个问题
好评
0
贡献
77
海币
6700
交易币
0
沙发
发表于 2015-3-14 05:38:33 | 只看该作者
LZ帖子不给力,勉强给回复下吧

37

积分

18

主题

3

听众
已帮网友解决0 个问题
好评
0
贡献
19
海币
1106
交易币
0
板凳
发表于 2015-4-8 02:15:00 | 只看该作者
介是神马?!!

74

积分

41

主题

5

听众
已帮网友解决0 个问题
好评
0
贡献
33
海币
1712
交易币
0
地板
发表于 2015-4-11 22:34:08 | 只看该作者
好好的帖子,必须得顶起
4中级会员
330/600

330

积分

138

主题

6

听众
已帮网友解决0 个问题
好评
0
贡献
192
海币
673
交易币
0
5#
发表于 2015-6-25 08:02:51 | 只看该作者
着玩意还是很有用处的。。。

15

积分

11

主题

4

听众
已帮网友解决0 个问题
好评
0
贡献
4
海币
153
交易币
0
6#
发表于 2015-6-30 07:30:47 | 只看该作者
好像现在 越来越给力了   呵呵

2

积分

2

主题

3

听众
已帮网友解决0 个问题
好评
0
贡献
0
海币
907
交易币
0
7#
发表于 2015-7-19 14:57:05 | 只看该作者
非常感谢楼主分享
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

免责声明|Archiver|手机版|小黑屋|挂海论坛

GMT+8, 2025-4-5 01:58 , Processed in 0.095008 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.2

本站资源来自互联网用户收集发布,如有侵权请邮件与我们联系处理。xhzlw@foxmail.com

快速回复 返回顶部 返回列表