自己用c++ 写的贪吃蛇(*^__^*) 嘻嘻……
不废话 先上图源码
怎么发上去 再来一次吧 ...还差个东西 在发上 我是VIP,我骄傲! 看了楼主,引起共鸣,贡献一下我的贪吃蛇代码,大神勿喷
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<windows.h>
#include<time.h>
//蛇
struct snake
{
int x;
int y;
}sna;
int len=2; //蛇长
//绘制地图
int map={0};
void gameover(int a,int b);//-----------------------------------------------------
//食物生成
void food()
{
int x,y;
while(1)
{
x=rand()%14+0;
y=rand()%14+0;
if(map==0)
{
map=19;
break;
}
}
}
//初始化
void beg()
{
//食物初始化
food();
//墙体初始化
for(int i=0;i<15;i+=14)
for(int j=0;j<15;j++)
map=10;
for(i=1;i<14;i++)
{
map=10;
map=10;
}
//蛇体初始化
map=6;
map=6;
sna.x=1;
sna.y=2;
sna.x=1;
sna.y=1;
}
//地图物体绘制
void outmap()
{
system("cls");
for(int i=0;i<15;i++,printf("\n"))
for(int j=0;j<15;j++)
if(map==0)
printf("");
else if(map==10)
printf("□");
else if(map==6)
printf("○");
else if(map==19)
printf("¤");
}
//蛇的移动
void move(int a,int b)
{
gameover(a,b);
if(map.x+a].y+b]==19)
{
map.x+a].y+b]=6;
len++;
food();
}
map.x].y]=0;
for(int i=1;i<len;i++)
{
sna.x=sna.x;
sna.y=sna.y;
}
map.x+=a].y+=b]=6;
map.x].y]=6;
}
void gameover(int a,int b)
{
if(map.x+a].y+b]==10 || //撞墙
map.x+a].y+b]==6) //撞自己
{
system("cls");
printf("%s","you lose");
exit(0);
}
}
//开始界面
void title(char &c)
{
printf("%s","welcome to snake game\n");
printf("%s","a.开始游戏\n");
printf("%s","b.退出游戏\n");
char a=getch();
switch(a)
{
case 'a':c='a';break;
case 'b':exit(1);
}
}
void main()
{
char c='b';
int a=0;
int b=1;
int begin,now;
while(c!='a')
{
title(c);
system("cls");
}
beg();
while(1)
{
begin=clock();
while(now=clock()-begin<500)
{
if(kbhit())
{
c=getch();
if(c=='w')
{
a=-1;
b=0;
}
if(c=='s')
{
a=1;
b=0;
}
if(c=='a')
{
a=0;
b=-1;
}
if(c=='d')
{
a=0;
b=1;
}
}
}
outmap();
move(a,b);
}
} 10%几率有1个鱼币的奖励,我来试试运气,嘿嘿 激动人心,无法言表!我只说两句…… 真是难得给力的帖子啊。 好的,看看!厉害,! 楼主加油,鱼C加油!我们都看好你哦! wosibingo 发表于 2014-3-17 15:52 static/image/common/back.gif
看了楼主,引起共鸣,贡献一下我的贪吃蛇代码,大神勿喷
我原先也是想用一个二维数组做地图。结构体做蛇的。但是不知道为什么。在传送参数的时候老是出问题。
后来知道了个改变光标的api函数。然后。。。(省略五万字,其中的辛酸你可懂)现在还有个bug 就是在选择速度的时候没有检查。事后才发现的⊙﹏⊙b汗。 淡定,淡定,淡定……没兴趣。 穆逸 发表于 2014-3-18 21:11 static/image/common/back.gif
我原先也是想用一个二维数组做地图。结构体做蛇的。但是不知道为什么。在传送参数的时候老是出问题。
后 ...
写这东西真的要经历各种辛酸(我想应该和楼主的心情差不多吧)不过写出来了倍儿有成就感,现在在为新目标奋斗 感觉不错,支持一下... 试试运气,顺便学习学习 大哥,问一下,这个程序里面有很多库函数的应用。。你是怎么知道这些函数的用处的?是一个一个找的吗?还是有其它什么方法?我就是因为不了解这些函数,才觉得程序读起来费力。。 {:1_1:}我这水平中奖无数次,不差这一次!强烈支持楼主ing…… 小干 发表于 2014-3-20 13:42 static/image/common/back.gif
大哥,问一下,这个程序里面有很多库函数的应用。。你是怎么知道这些函数的用处的?是一个一个找的吗?还是 ...
我是有这个用处时,就去查查看有没有这个api或者库函数 我是VIP,我骄傲! 真是难得给力的帖子啊。
页:
[1]
2