Ⅰ c语言如何控制文字输出速度
显示一行是和快的,至少肉眼感觉是这样的。
在显示完一行后,适当延时(延时方法可用循环语句来完成,时长通过改变循环终值来控制),再输出下一行。
Ⅱ c语言怎么实现滚动的字母比如一排文字,从下面一直平移到上面
用一个二维数组,记录。
比如10行10列按序输出显示,
写个循环遍历数组每次将下一行内容复制给上一行。
再看看别人怎么说的。
Ⅲ C语言用键盘控制 一个字母 移动 就这么简单的功能 代码最好写简单点 注释下 控制台最好了 谢谢
#include<stdio.h>
#include<conio.h>
#include<iostream>
voidmain()
{
intd[9][9]={0},x=0,y=0;//定义地图与坐标
d[x][y]=1;//定义小人
for(inti=0;i<9;i++)//显示地图
{
for(intk=0;k<9;k++)
printf("%d",d[i][k]);
printf(" ");
}
while(charc=getch())//阻塞方式获取键盘按下的值
{
switch(c)//判断按下的是哪个键并分别作处理
{
case'w':
if(x-1>=0&&x-1<9)
{
d[x][y]=0;
d[--x][y]=1;
}
break;
case'a':
if(y-1>=0&&y-1<9)
{
d[x][y]=0;
d[x][--y]=1;
}
break;
case's':
if(x+1>=0&&x+1<9)
{
d[x][y]=0;
d[++x][y]=1;
}
break;
case'd':
if(y+1>=0&&y+1<9)
{
d[x][y]=0;
d[x][++y]=1;
}
break;
}
system("cls");//清空控制台输出
for(inti=0;i<9;i++)//更新地图显示
{
for(intk=0;k<9;k++)
printf("%d",d[i][k]);
printf(" ");
}
}
}
Ⅳ c语言怎么实现滚动的字母比如一排文字,从下面一直平移到上面
下面是贪吃蛇简化版代码,可以参考。
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<conio.h>
#include<windows.h>//Sleep
int x=1,y=4;
char dir='d';
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE); //获取标准输出的句柄 <windows.h>
//句柄 :标志应用程序中的不同对象和同类对象中的不同的实例 方便操控,
void gotoxy(int x, int y)//设置光标位置
{
COORD pos = {x,y}; //定义一个字符在控制台屏幕上的坐标POS
SetConsoleCursorPosition(hConsole, pos); //定位光标位置的函数<windows.h>
}
void SetColor(int color)//设置颜色
{
SetConsoleTextAttribute(hConsole, color);
//是API设置字体颜色和背景色的函数 格式:SetConsoleTextAttribute(句柄,颜色);
}
int move()
{
if(kbhit())//keyboard hit,in conio.h
{
switch(getch())
{
case 0x77:
dir = 'w';
break;
case 0x73:
dir = 's';
break;
case 0x61:
dir = 'a';
break;
case 0x64:
dir = 'd';
break;
default:
break;
}
}
switch(dir)
{
case 'w':
y--;break;
case 's':
y++;break;
case 'a':
x--;break;
case 'd':
x++;break;
}
return 0;
}
void check()
{
if(x==0||y==0);
}
int main()
{
int interval=500;//列;行。
system("mode con:cols=60 lines=60");//设置窗体大小 ,超过会自动清除前面的//错题集
system("color 47");//black background
while(1)
{
gotoxy(x,y);
SetColor(0xf);
printf("※");
Sleep(interval);
system("CLS");
move();
}
return 0;
}
Ⅳ 在C语言中,怎么编写用光标键控制一个字符上下左右移动。
先用背景色在字符原地打印一次,再移动到要打印的位置,设置为前景色,打印该字符.
Ⅵ C语言打字练习游戏中怎样实现字母掉落,不用换行和随机坐标还有别的方法吗
可以指定光标位置进行printf输出字符,多字符同时出现,最好使用多线程,下面是个简单的例子,希望对你有帮助
#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
#include<time.h>
voidsetxy(intx,inty)
{
COORDcoord={x,y};
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),coord);
}
intmain()
{
CONSOLE_CURSOR_INFOcci;
cci.bVisible=FALSE;
cci.dwSize=sizeof(cci);
HANDLEhandle=GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleCursorInfo(handle,&cci);
srand((unsigned)time(0));
intx,y;
intc;
while(1)
{
c=rand()%26;
c+='A';
x=rand()%40;
y=0;
while(1)
{
setxy(x,y);
printf("%c",c);
sleep(1);
setxy(x,y);
printf("");
y++;
if(y>5)
{
break;
}
}
}
return0;
}
Ⅶ 移动字母 C语言
如图,源代码在网页端发
#include<stdio.h>
#include<string.h>
#defineMAXS100
voidShift(chars[]);
voidGetString(chars[]);/*实现细节在此不表*/
intmain()
{
chars[MAXS];
GetString(s);
Shift(s); //交换
printf("%s
",s);
return0;
}
voidGetString(chars[]){//不写这个无法验证
scanf("%s",s);
}
voidShift(chars[]){
chara[3];
inti,j;
for(i=0;i<3;i++){
a[i]=s[i];//将前3个字母存到a
}
//此时i已经=3
for(;s[i]!='