精华内容
下载资源
问答
  • 2018-10-13 17:26:48

    gotoxy函数可以使光标移动到指定位置,但是,C++标准库中没有
    这个函数,所以我们只能自己定义。
    定义它需要用到一个叫做SetMouseControlCursor的东西,就是移动光标。
    这是它定义完的样子:

    void gotoxy(int x, int y) {
    	COORD pos;
    	pos.X=x;
    	pos.Y=y;
    	SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);
    }
    

    输入了x和y以后就能把光标移到(x, y)的位置。

    更多相关内容
  • 关于gotoxy函数

    千次阅读 2021-01-29 00:07:18
    关于gotoxy函数 用法: #include<conio.h> 功能: 将光标移动到屏幕指定位置,用于屏幕输出 屏幕左上角定义为光标的坐标原点,横向X轴,纵向Y轴 函数原型声明: void gotoxy(int x, int y); 注意 它并不是一个...

    关于gotoxy函数

    用法:

    #include<conio.h>

    功能:

    将光标移动到屏幕指定位置,用于屏幕输出

    屏幕左上角定义为光标的坐标原点,横向X轴,纵向Y轴

    函数原型声明:

    void gotoxy(int x, int y);

    注意

    它并不是一个C和C++标准库函数中的函数,很多编译器中没有提供这个函数。

    不过可以利用Windows提供的API函数自定义这个函数。(别忘了包含头文件<windows.h>)

    一个版本:

    void gotoxy(short x, short y){
    	COORD coord = {x, y};
      SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
    }
    

    p.s. COORD是windows API中定义的一种结构体类型,表示控制台屏幕上的坐标

    第二句获取控制台输出句柄,设置控制台光标位置

    展开全文
  • // 得分 void gotoxy(int x,int y)//类似于清屏函数,光标移动到原点位置进行重画 { HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE); COORD pos; pos.X = x; pos.Y = y; SetConsoleCursorPosition(handle,pos); ...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

    #include

    #include

    #include

    #include

    // 全局变量

    int position_x,position_y; // 飞机位置

    int bullet_x,bullet_y; // 子弹位置

    int enemy_x,enemy_y; // 敌机位置

    int high,width; // 游戏画面尺寸

    int score; // 得分

    void gotoxy(int x,int y)//类似于清屏函数,光标移动到原点位置进行重画

    {

    HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);

    COORD pos;

    pos.X = x;

    pos.Y = y;

    SetConsoleCursorPosition(handle,pos);

    }

    void startup() // 数据初始化

    {

    high = 20;

    width = 30;

    position_x = high/2;

    position_y = width/2;

    bullet_x = -2;

    bullet_y = position_y;

    enemy_x = 0;

    enemy_y = position_y;

    score = 0;

    }

    void show() // 显示画面

    {

    gotoxy(0,0); // 光标移动到原点位置进行重画清屏

    int i,j;

    for (i=0;i

    {

    for (j=0;j

    {

    if ((i==position_x) && (j==position_y))

    printf("*"); // 输出飞机*

    else if ((i==enemy_x) && (j==enemy_y))

    printf("@"); // 输出敌机@

    else if ((i==bullet_x) && (j==bullet_y))

    printf("|"); // 输出子弹|

    else

    printf(" "); // 输出空格

    }

    printf("\n");

    }

    printf("得分:%d\n",score);

    }

    void updateWithoutInput() // 与用户输入无关的更新

    {

    if (bullet_x>-1)

    bullet_x--;

    if ((bullet_x==enemy_x) && (bullet_y==enemy_y)) // 子弹击中敌机

    {

    score++; // 分数加1

    enemy_x = -1; // 产生新的飞机

    enemy_y = rand()%width;

    bullet_x = -2; // 子弹无效

    }

    if (enemy_x>high) // 敌机跑出显示屏幕

    {

    enemy_x = -1; // 产生新的飞机

    enemy_y = rand()%width;

    }

    // 用来控制敌机向下移动的速度。每隔几次循环,才移动一次敌机

    // 这样修改的话,用户按键交互速度还是保持很快,但我们NPC的移动显示可以降速

    static int speed = 0;

    if (speed<20)

    speed++;

    if (speed == 20)

    {

    enemy_x++;

    speed = 0;

    }

    }

    void updateWithInput() // 与用户输入有关的更新

    {

    char input;

    if(kbhit()) // 判断是否有输入

    {

    input = getch(); // 根据用户的不同输入来移动,不必输入回车

    if (input == 'a')

    position_y--; // 位置左移

    if (input == 'd')

    position_y++; // 位置右移

    if (input == 'w')

    position_x--; // 位置上移

    if (input == 's')

    position_x++; // 位置下移

    if (input == ' ') // 发射子弹

    {

    bullet_x = position_x-1; // 发射子弹的初始位置在飞机的正上方

    bullet_y = position_y;

    }

    }

    }

    int main()

    {

    startup(); // 数据初始化

    while (1) // 游戏循环执行

    {

    show(); // 显示画面

    updateWithoutInput(); // 与用户输入无关的更新

    updateWithInput(); // 与用户输入有关的更新

    }

    }

    展开全文
  • C语言: gotoxy函数

    千次阅读 2016-06-08 08:00:00
    void gotoxy(int x, int y) //gotoxy 源代码 { COORD pos; pos.X = x - 1; pos.Y = y - 1; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos); } 头文件 #includ
    void  gotoxy( int  x,  int  y)  //gotoxy 源代码
    {
    COORD pos;
    pos.X = x - 1;
    pos.Y = y - 1;
    SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos);
    }

    头文件

    #include<windows.h>


    看到有小伙伴看这个,解释说明一下。

    将上面源码直接复制到需要的代码上方,比如放在main函数上面 ,然后就可以用gotoxy 函数了,

    x,y 分别代表当前控制台窗口的 坐标。以左上为原点,X往右为正半轴,Y轴往下为正半轴,

    gotoxy 实现光标的移动。

    还有问题的记得评论说哈, 不定期看自己博客。


    展开全文
  • Linux C语言中gotoxy函数

    2019-09-28 11:35:46
    在Linux中很多函数都不能使用,gotoxy就是其中的一个 实现方法: 1 2 3 4 voidgotoxy(intx,inty) { printf("%c[%d;%df",0x1B,y,x); }  解析: ANSI转义序列,很多类unix的终端...
  • 【C语言】在VC中使用gotoxy函数实现光标的移动

    万次阅读 多人点赞 2015-05-25 19:44:26
    最近写一个程序,里面有涉及光标的移动,在课本的后面发现在conio.h中有个gotoxy函数刚好符合我的要求,于是就写了个简单的代码测试了一下。 #include #include int main(int argc,char *argv[]) { gotoxy(5,5)...
  • #include void gotoxy(int x, int y) { COORD coord; coord.X = x;coord.Y = y; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord); ...
  • int gotoxy(int x, int y) { COORD pos = {x,y}; HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE); // 获取标准输出设备句柄 SetConsoleCursorPosition(hOut, pos); } int main(void) { int i, j, a; a = 10; ...
  • C语言—gotoxy()函数

    2022-02-07 23:50:42
    移动光标函数: void gotoxy(int x,int y) { COODR pos; pos.X=x; //横坐标赋值 pos.Y=y; //纵坐标赋值 SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos); //设置光标位置 }
  • C++实现gotoxy函数

    千次阅读 2011-07-23 07:55:52
    C++实现gotoxy函数gotoxy本来为TC的GDI函数,在TC上加入相关的头文件,就可以直接调用了。但是这种函数在C++是不能直接调用的。下面就是转载自网上的一段函数,来模拟gotoxy函数关键字:界面设计 dos c++ tc GDI ...
  • #include#include#includevoid gotoxy(int x, int y){COORD coord = {x,y};SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);}int main(){int i,j,x,y;//clrscr();system("cls");printf("\n\n ***...
  • gotoxy(10,20); printf("Hello!"); 意思是光标移动到10.20时输出Hello!吗? 还是Hello!输出到10.20位置?
  • Windos下的gotoxy 函数

    2012-06-14 11:41:00
    void gotoxy(int x,int y)//位置函数 { COORD pos; pos.X=x; pos.Y=y; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),pos); } void color(int a)//颜色函数 { SetConsoleTextAttribute...
  • gotoxy函数和HideCursor()函数

    千次阅读 2020-04-04 21:18:59
    这两个函数感觉还比较有用所以记下来 1.和system(“cls”)类似不过这个清屏不闪 void gotoxy(int x, int y) //光标移动到x,y位置 { COORD pos = {x,y}; HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);// ...
  • 想问下大佬们,我想打印一个边框为什么成这样子了?
  • void gotoxy(int x, int y) { COORD pos = { x,y }; HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);// 获取标准输出设备句柄 SetConsoleCursorPosition(hOut, pos);//两个参数分别是指定哪个窗体࿰...
  • c语言中 gotoxy() 函数的使用

    万次阅读 多人点赞 2018-01-10 21:05:32
    #include #include void gotoxy(int x, int y) { COORD pos = {x,y}; HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE);// 获取标准输出设备句柄 SetConsoleCursorPosition(hOut, pos);//两个参数

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,550
精华内容 1,420
关键字:

gotoxy函数