| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 6157 人关注过本帖
标题:控制台清屏闪烁的厉害
只看楼主 加入收藏
StarFall
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:193
专家分:553
注 册:2012-10-1
收藏
得分:0 
好像<window.h>有个函数是可以移动光标的。

去追寻更高的技术领域。永不停止。
2012-11-26 13:59
ch307458491
Rank: 1
等 级:新手上路
帖 子:27
专家分:2
注 册:2012-10-4
收藏
得分:0 
回复 9楼 cnfarer
我查了很久    能举几个简单的api么
2012-11-26 16:25
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:0 
话说有个easyX库,应用于vc的graphics头文件


[fly]存在即是合理[/fly]
2012-11-26 16:28
Mrrr
Rank: 2
等 级:论坛游民
帖 子:15
专家分:72
注 册:2012-9-4
收藏
得分:20 
程序代码:
#include <stdio.h>
#include<conio.h>
#include<windows.h>
#include<time.h>
#include<stdlib.h>
#include<iostream>
int Tui(int (*arr)[20],int *x,int *y,int n);
void Move(int x,int y)
{
    HANDLE hOut=GetStdHandle(STD_OUTPUT_HANDLE);
    COORD pos= {x, y};
    SetConsoleCursorPosition(hOut, pos);
}

void Put(int (*arr)[20])//打印地图
{
    int x=1,y=1;
    int i,j;
            arr[x][y]=2;
        for (i=0;i<20;i++)
        {
            for (j=0;j<20;j++)
            {
                if (arr[i][j]==1)
                    printf("");
                if (arr[i][j]==2)
                    printf("¤");
                if (arr[i][j]==0)
                    printf("  ");
                if (arr[i][j]==3)
                    printf("");
                if (arr[i][j]==5)
                    printf("");
                if (arr[i][j]==6)
                    printf("");
                if (arr[i][j]==7)
                    printf("");
                if (arr[i][j]==8)
                    printf("¤");
                if (arr[i][j]==9)
                    printf("");
            }
        printf("\n");
        }
}
void character(char n1,int (*arr)[20],int *x1,int *y1)  //传数组的首地址,
{
    int x=*x1,y=*y1;
    switch(n1)
        {
    case 'w':case'W':                        //
        if(arr[*x1-1][*y1]==1/*||arr[*x1-1][*y1]==7*/||arr[*x1-1][*y1]==8)
        {
            break;
        }
            if (arr[*x1-2][*y1]==1&&arr[*x1-1][*y1]==7)
            {
                break;
            }
            {arr[(*x1)--][*y1]=2;
            arr[*x1+1][*y1]=0;}

            break;
    case's':case'S':                        //
        if (arr[*x1+1][*y1]==1/*||arr[*x1+1][*y1]==7*/||arr[*x1+1][*y1]==8)
        {
            break;
        }
            if(arr[*x1+2][*y1]==1&&arr[*x1+1][*y1]==7)
            {
                break;
            }
            arr[(*x1)++][*y1]=2;            //(*x1)++加括号
            arr[*x1-1][*y1]=0;
            break;
    case'a':case'A':                        //
        if(arr[*x1][*y1-1]==1/*||arr[*x1][*y1-1]==7*/||arr[*x1][*y1-1]==8)
        {
            break;
        }
            if(arr[*x1][*y1-2]==1&&arr[*x1][*y1-1]==7)
                break;
            arr[*x1][(*y1)--]=2;
            arr[*x1][*y1+1]=0;
            break;
      
    case'd':case'D':                        //
        if(arr[*x1][*y1+1]==1/*||arr[*x1][*y1+1]==7*/||arr[*x1][*y1+1]==8)
        {
            break;
        }
            if (arr[*x1][*y1+2]==1&&arr[*x1][*y1+1]==7)
                break;
            arr[*x1][(*y1)++]=2;
            arr[*x1][*y1-1]=0;
            break;
    }
    Move(y*2,x);printf("  ");//老人物坐标
    Move((*y1)*2,*x1);printf("¤");//新任务坐标
}

。。看看行不,就是抹除上一个坐标
2012-11-26 18:38
pengwewe
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-3-5
收藏
得分:0 
#include<windows.h>
void gotoxy(int x,int y)
{
    HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
    COORD pos;
    pos.X = x;
    pos.Y = y;
    SetConsoleCursorPosition(handle,pos);
}
自己写一个不就行了
2013-03-05 23:45
keuin
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-7-9
收藏
得分:0 
回复 楼主 ch307458491
main函数的返回值应该为int而不是void
有一些ANSI C/C++标准编译器在这点不通过的
2013-07-09 21:18
Susake
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:女儿国的隔壁
等 级:贵宾
威 望:23
帖 子:2288
专家分:6481
注 册:2012-12-14
收藏
得分:0 
..

仰望星空...........不忘初心!
2013-07-09 21:27
gh1099550372
Rank: 2
等 级:论坛游民
帖 子:4
专家分:10
注 册:2017-8-13
收藏
得分:0 
回复 楼主 ch307458491
char input;
while(1){
  system("cls");
  printf("*");
  input=getch();
  while(input){
   if(input='a'){...break;}
   else
     ....break;
 }
}

这段代码中输出的*是不会因为清屏而闪动的,希望对你有所帮助
2017-08-13 15:45
快速回复:控制台清屏闪烁的厉害
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021523 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved