软件测试课程设计,老师让写一个贪吃蛇,Em......,快要交了,查了查网上的代码,仿照着写了一个,一个下午加一个晚上的时间,感觉还不错哈哈哈(主要是学到了一些新的函数嘿嘿嘿)
首先我们的学会用几个函数,如下:
1.将光标移动到指定位置
基本方法是通过封装 windows 头文件里的 SetConsoleCursorPosition 函数实现
//转移光标到目标位置
void goTo( int x , int y , int z ) {
HANDLE hout = GetStdHandle( STD_OUTPUT_HANDLE );
COORD cor;
cor.X = y;
cor.Y = x;
SetConsoleCursorPosition( hout,cor );
SetColor( hout,z );
}
2.设置字体的颜色,及上面代码中 SetColor 函数
同样利用了 windows 头文件里面的函数 SetConsoleTextAttribute
/***************************************
* 设置字符,背景颜色
* SetConsoleTextAttribute( hout,0xXX )
* 第一个X为背景色,第二个X为前景色
* 0 = 黑 1 = 蓝 2 = 绿 3 = 浅绿
* 4 = 红 5 = 紫 6 = 黄 7 = 白
* 8 = 灰 9 = 淡蓝 A = 淡绿 B = 淡浅绿
* C = 淡红 D = 淡紫 E = 淡黄 F = 亮白
***************************************/
#define SetColor SetConsoleTextAttribute
3.键盘输入控制方向
if( GetKey(VK_SPACE) ) {
pause();
} else if( GetKey(VK_UP) ) {
status='L';
} else if( GetKey(VK_DOWN) ) {
status='R';
} else if( GetKey(VK_LEFT) ) {
status='U';
} else if( GetKey(VK_RIGHT) ) {
status='D';
}
//游戏暂停
void pause(){
while(1){
goTo( 21,75,7 );
printf( "Press SPACE to continue" );
Sleep(sleepTime);
if( GetKey(VK_SPACE) )
break;
}
}
//判断方向
switch( dir ) {
case 'D':
h->x = head->x;
h->y = head->y + 1;
break;
case 'L':
h->x = head->x - 1;
h->y = he