c++语言编写贪吃蛇,用C++写个简单的贪吃蛇游戏

得分:15

ca56232b3bbedf9a539d07f37fffb99a.gif

3144d8b7615c79d9f638db40d5689d26.gif

a218af6549b45ee526caf607ebff1358.gif

0f8df0e29816ae721419de940fb833d1.gif

#include

#include

#include

#include

#include

const int LENGTH = 25;//最大的图

class SNAKE

{

public:

SNAKE():size(10),s1(1),s2(1){}

int step();

int init();

int show();

int change();

private:

int size;

int table[LENGTH][LENGTH];

int s1, s2;//初始位置

int x, y;//食物

};

int SNAKE::init()

{

int i=0, j=0;

for(i=0; i<=size; ++i)

for( j=0; j<=size; ++j )

table[i][j] = 0;

for( i=0; i<=size; ++i )

{

table[0][i] = 1;

table[i][size] = 1;

table[i][0] = 1;

table[size][i] = 1;

}

return 0;

}

int SNAKE::change()

{

x = rand()%(size-1) + 1;

y = rand()%(size-1) + 1;

table[x][y] = 2;

return 0;

}

int SNAKE::step()

{

int m;

while( s2!=y || s1!=x )

{

system("cls");

table[s1][s2] = 'S';

show();

m = getch();

if( m=='w' )

{

table[s1][s2] = 0;

--s1;

if( s1==0 )

{

s1 = size-1;

}

table[s1][s2] = 'S';

}

else if( m=='s' )

{

table[s1][s2] = 0;

++s1;

if( s1==size )

{

s1 = 1;

}

table[s1][s2] = 'S';

}

else if( m=='a' )

{

table[s1][s2] = 0;

--s2;

if( s2==0 )

{

s2 = size-1;

}

table[s1][s2] = 'S';

}

else if( m=='d' )

{

table[s1][s2] = 0;

++s2;

if( s2==size )

{

s2 = 1;

}

table[s1][s2] = 'S';

}

system("cls");

show();

}

return 0;

}

int SNAKE::show()

{

int i, j;

for(i=0; i<=size; ++i)

{

for( j=0; j<=size; ++j )

printf("%c", table[i][j]);

printf("\n");

}

return 0;

}

int main()

{

SNAKE s;

s.init();

srand(time(0));

s.change();

while(1)

{

if(!s.step())

{

s.change();

}

}

return 0;

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值