c语言编译出错问题
--------------------Configuration:第2章-Win32Debug--------------------Compiling...第2章.c...
--------------------Configuration: 第2章 - Win32 Debug--------------------
Compiling...
第2章.c
第2章.c(49) : error C2065: 'ball_x' : undeclared identifier
第2章.c(50) : error C2065: 'ball_y' : undeclared identifier
第2章.c(54) : error C2065: 'wight' : undeclared identifier
第2章.c(57) : warning C4013: 'sleep' undefined; assuming extern returning int
执行 cl.exe 时出错.
第2章.obj - 1 error(s), 0 warning(s)#include "stdio.h"
#include "stdlib.h"
#include "conio.h"
#include "cwindow.h"
//全局变量
int i,j;
int high,width; //游戏画面大小
int bird_x,bird_y; //小球的坐标
int ball_vx,ball_vy; //小球的速度
void gotoxy(int x,int y) //将光标移动到(x,y)位置
{
HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
COORD pos;
pos.X = x;
pos.Y = y;
SetConsoleCursorPosition(handle,pos);
}
void startup() //数据的初始化
{
high = 15;
width = 20;
bird_x = 0;
bird_y = width/2;
ball_vx = 1;
ball_vy = 1;
}
void show() //显示画面
{
gotoxy(0,0); //光标移动到原点位置,以下重画清屏
for(i=0;i<high;i++)
{
for(j=0;j<width;j++)
{
if((i == bird_x) && (j == bird_y))
printf("0"); //输出小球
else
printf(" "); //输出空格
}
printf("\n");
}
}
void updateWithoutInput() //与用户输入无关的更新
{
出错 ball_x = ball_x + ball_vx;
出错 ball_y = ball_y + ball_vy;
if ((ball_x==0)||(ball_x==high-1))
ball_vx = -ball_vx;
出错 if ((ball_y==0)||(ball_y==wight-1))
ball_vy = -ball_vy;
出错 sleep(50);
}
void updateWithInput() //与用户输入无关的更新
{
}
int main()
{
startup(); //数据的初始化
while(1) //游戏循环执行
{
show(); //显示画面
updateWithoutInput(); //与用户输入无关的更新
updateWithInput(); //与用户输入无关的更新
}
return 0;
} 展开
Compiling...
第2章.c
第2章.c(49) : error C2065: 'ball_x' : undeclared identifier
第2章.c(50) : error C2065: 'ball_y' : undeclared identifier
第2章.c(54) : error C2065: 'wight' : undeclared identifier
第2章.c(57) : warning C4013: 'sleep' undefined; assuming extern returning int
执行 cl.exe 时出错.
第2章.obj - 1 error(s), 0 warning(s)#include "stdio.h"
#include "stdlib.h"
#include "conio.h"
#include "cwindow.h"
//全局变量
int i,j;
int high,width; //游戏画面大小
int bird_x,bird_y; //小球的坐标
int ball_vx,ball_vy; //小球的速度
void gotoxy(int x,int y) //将光标移动到(x,y)位置
{
HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
COORD pos;
pos.X = x;
pos.Y = y;
SetConsoleCursorPosition(handle,pos);
}
void startup() //数据的初始化
{
high = 15;
width = 20;
bird_x = 0;
bird_y = width/2;
ball_vx = 1;
ball_vy = 1;
}
void show() //显示画面
{
gotoxy(0,0); //光标移动到原点位置,以下重画清屏
for(i=0;i<high;i++)
{
for(j=0;j<width;j++)
{
if((i == bird_x) && (j == bird_y))
printf("0"); //输出小球
else
printf(" "); //输出空格
}
printf("\n");
}
}
void updateWithoutInput() //与用户输入无关的更新
{
出错 ball_x = ball_x + ball_vx;
出错 ball_y = ball_y + ball_vy;
if ((ball_x==0)||(ball_x==high-1))
ball_vx = -ball_vx;
出错 if ((ball_y==0)||(ball_y==wight-1))
ball_vy = -ball_vy;
出错 sleep(50);
}
void updateWithInput() //与用户输入无关的更新
{
}
int main()
{
startup(); //数据的初始化
while(1) //游戏循环执行
{
show(); //显示画面
updateWithoutInput(); //与用户输入无关的更新
updateWithInput(); //与用户输入无关的更新
}
return 0;
} 展开
1个回答
展开全部
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <windows.h>
//全局变量
int i, j;
int high, width; //游戏画面大小
int bird_x, bird_y; //小球的坐标
int ball_vx, ball_vy; //小球的速度
void gotoxy(int x, int y) //将光标移动到(x,y)位置
{
HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
COORD pos;
pos.X = x;
pos.Y = y;
SetConsoleCursorPosition(handle, pos);
}
void startup() //数据的初始化
{
high = 15;
width = 20;
bird_x = 0;
bird_y = width / 2;
ball_vx = 1;
ball_vy = 1;
}
void show() //显示画面
{
gotoxy(0, 0); //光标移动到原点位置,以下重画清屏
for (i = 0; i < high; i++)
{
for (j = 0; j < width; j++)
{
if ((i == bird_x) && (j == bird_y))
printf("0"); //输出小球
else
printf(" "); //输出空格
}
printf("\n");
}
}
void updateWithoutInput() //与用户输入无关的更新
{
bird_x = bird_x + ball_vx;
bird_y = bird_y + ball_vy;
if ((bird_x == 0) || (bird_x == high - 1))
ball_vx = -ball_vx;
if ((bird_y == 0) || (bird_y == width - 1))
ball_vy = -ball_vy;
Sleep(50);
}
void updateWithInput() //与用户输入无关的更新
{
}
int main()
{
startup(); //数据的初始化
while (1) //游戏循环执行
{
show(); //显示画面
updateWithoutInput(); //与用户输入无关的更新
updateWithInput(); //与用户输入无关的更新
}
return 0;
}
在vs2017下过
追问
感谢,我犯了一个错误:把bird_x打成ball_x了,
然后按你打的sleep改成Sleep就编译成功了,蟹蟹
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询