求一个AutoHotkey脚本,意思是首先执行一次a键,等待1秒执行一次b键,等待1秒后无限循环c键!

{ COORD coord;

;;F12启动, F11停止(按住一会)

c++等待一秒_cmd等待一秒钟c++等待一秒_cmd等待一秒钟


c++等待一秒_cmd等待一秒钟


F12::

Send,a

SledfMinusep,1000

Send,b

Sleep,1000

Loop

{if GetKeyState("F11","P")

Break

Send,c

Sleep,1000

}Return

C#怎么实现先执行一个函数,等待1秒钟,再执行一个函数。

获得计数器的时钟频率

要实现这样地函数不难就是写两个线程,要不然你也可以获取当前系统时间,等时间+1秒地时候执行另一个函数

#include

如果用WinForm程序,可以考虑用Timber组件,它简单易用

用Thread.Sleep()示例:

private void button1_Click(object sender, EventArgs e)

{A();

}private void A()

{B();

Thread.Sleep(1000);

C();

}private void B()

{}

private void C()

{}

希望回答对你有帮助。

先执行的函数要不要执行完 等一秒 ,再执行下一个函数啊?

要是的话 就得在函数内加上Thread.Sleep(1000) ;

否则就在函数体外部加上Thread.Sleep(1000)

using System.Threading;

直接用需要加上上面那个头文件

C语言中的sleep() 函数

关于sleep()函数在windows系统和linux系统下是两个不同的函数,别较大,但功能是相同的,都是将进程挂起一段时间。

windows系统下函数名为Sleep(),其函数原型为:

#include 函数使用头文件

void Sleep(DWORD dwMilliseconds); 参数为毫秒

参考代码:

#include //win头文件

#include

int main()

{int i;

printf("你");

fflush(stdout); //强制刷新缓存,输出显示

for( i=0;i<10;i++ )

{Sleep(1000); / windows 使用Sleep,参数为毫秒 /

printf(".");

fflush(stdout);//强制刷新缓存,输出显示

}printf("好

"); /输出“你”和“好”之间会间隔10秒,并输出10个点/

return 0;

}linux系统下函数名为sleep(),其函数原型为:

#include 函数使用头文件

unsigned int sleep(unsigned int seconds);参数为毫秒 (如果需要更可以用usleep,单位为微秒)

修改上面的代码,以适应linux系统

#include //1、linux 头文件

#include

int main()

{int i;

printf("你");

fflush(stdout);//强制刷新缓存,输出显示

for( i=0;i<10;i++ )

{sleep(1); /2、linux 使用sleep,参数为秒/

printf(".");

fflush(stdout);//强制刷新缓存,输出显示

}printf("好

"); /输出“你”和“好”之间会间隔10秒,并输出10个点/

return 0;

是小写的sleep,说明如下

NAME

sleep - Sleep for the specified number of seconds

SYNOPSIS

#include

unsigned int sleep(un}signed int seconds);

DESCRIPTION

sleep() makes the calling process sleep until seconds seconds he elapsed or a signal arrives which is not ignored.

RETURN VALUE

Zero if the requested time has elapsed, or the number of seconds left to sleep.

CONFORMING TO

POSIX.1-2001.

windows下需要"#include "

linux/unix下需要"#include "

#include

Sleep(1000); -- 睡 1 秒

Sleep()需要#include

加上"#include ",还有,是小写的

你可以试试把main前面改成void

其中有四个大括号你可以试着改成[

]for(int j=0;j<=10;j++){这种形式。

c语言怎么表示每3秒停一秒

用windows库函数

dfFreqSleep(1000);表示暂停1秒!然后你根据你的程序来写吧

希望帮到你哈

用windows库函数

Sleep(1000);表示暂停1秒,然后你根据int y; //食物的y坐标你的程序来写。

c语言小游戏代码

“贪吃蛇”C代码,在dev C++试验通过(用4个方向键控制)

#include

#include

#include

#include

#include

#define W 78 //游戏框的宽,x轴

#define H 26 //游戏框的高,y轴

int dir=3; //方向变量,初值3表示向“左”

int Flag=0; //吃了食物的标志(1是0否)

int score=0; //玩家得分

struct food{ int x; //食物的x坐标

}fod; //结构体fod有2个成员

struct snake{ int len; //蛇身长

int speed; //移动速度

int x[100]; //蛇身某节x坐标

int y[100]; //蛇身某节y坐标

}snk; //结构体snk有4个成员

void gtxy( int x,int y) //控制光标移动的函数

coord.X=x;

coord.Y=y;

SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);

}void gtxy( int x,int y); //以下声明要用到的几个自编函数

void csh( ); //初始化界面

void keymove( ); //按键作移动蛇

void putFod( ); //投放食物

int Over( ); //游戏结束(1是0否)

void Color(int a); //设定显示颜色的函数

int main( ) //主函数

{ csh( );

while(1)

{ Sleep(snk.speed);

keymove( );

putFod( );

if(Over( ))

{ (“cls”);

gtxy(W/2+1,H/2); printf(“游戏结束!T__T”);

gtxy(W/2+1,H/2+2); printf(“玩家总分:%d分”,score);

getch( );

break;

}}

return 0;

}void csh( ) //初始化界面

{ int i;

gtxy(0,0);

CONSOLE_CURSOR_INFO cursor_={1,0}; //以下两行是隐藏光标的设置

SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE),&cursor_);

for(i=0;i{if(f.a == dd->a && f.b == dd->b)<=W;i=i+2) //横坐标要为偶数,因为这个要打印的字符占2个位置

{Color(2); //设定打印颜色为绿色

gtxy(i,0); printf("■"); //打印上边框

gtxy(i,H); printf("■"); //打印下边框

}for(i=1;i

{ gtxy(0,i); printf("■"); //打印左边框

gtxy(W,i); printf("■"); //打印右边框

}while(1)

{ srand((unsigned)time(NULL)); //初始化随机数发生器srand( )

fod.x=rand()%(W-4)+2; //随机函数rand( )产生一个从0到比”(W-4)”小1的数再加2

fod.y=rand()%(H-2)+1; //随机函数rand( )产生一个从0到比”(H-2)”小1的数再加1

if (fod.x%2==0) break; //fod.x是食物的横坐标,要是2的倍数(为偶数)

}Color(12); //设定打印颜色为淡红

gtxy(fod.x,fod.y); printf("●"); //到食物坐标处打印初试食物

snk.len=3; //蛇身长初值为3节

snk.speed=350; //刷新蛇的时间,即移动速度初值为350毫秒

snk.x[0]=W/2+1; //蛇头横坐标要为偶数(因为W/2=39)

snk.y[0]=H/2; //蛇头纵坐标

Color(9); //设定打印颜色为淡蓝

gtxy(snk.x[0], snk.y[0]); printf("■"); //打印蛇头

for(i=1;i

{ snk.x[i]=snk.x[i-1]+2; snk.y[i]=snk.y[i-1];

gtxy(snk.x[i],snk.y[i]); printf("■"); //打印蛇身

}Color(7, 0); //恢复默认的白字黑底

return;

}void keymove( ) //按键作移动蛇

{ int key;

if( kbhit( ) ) //如有按键输入才执行下面作

{ key=getch( );

if (key==224) //值为224表示按下了方向键,下面要再次获取键值

{ key=getch( );

if(key==72&&dir!=2)dir=1; //72表示按下了向上方向键

if(key==80&&dir!=1)dir=2; //80为向下

if(key==75&&dir!=4)dir=3; //75为向左

if(key==77&&dir!=3)dir=4; //77为向右

}if (key==32)

{ while(1) if((key=getch( ))==32) break; } //32为空格键,这儿用来暂停

}if (Flag==0) //如没吃食物,才执行下面作擦掉蛇尾

{ gtxy(snk.x[snk.len-1],snk.y[snk.len-1]); printf(" "); }

int i;

for (i = snk.len - 1; i > 0; i--) //从蛇尾起每节存储前一节坐标值(蛇头除外)

{ snk.x[i]=snk.x[i-1]; snk.y[i]=snk.y[i-1]; }

switch (dir) //判断蛇头该往哪个方向移动,并获取最新坐标值

{ case 1: snk.y[0]--; break; //dir=1要向上移动

case 2: snk.y[0]++; break; //dir=2要向下移动

case 3: snk.x[0]-=2; break; //dir=3要向左移动

case 4: snk.x[0]+=2; break; //dir=4要向右移动

}Color(9);

gtxy(snk.x[0], snk.y[0]); printf("■"); //打印蛇头

if (snk.x[0] == fod.x && snk.y[0] == fod.y) //如吃到食物则执行以下作

{ printf("7"); snk.len++; score += 100; snk.speed -= 5; Flag = 1; } //7是响铃

else Flag = 0; //没吃到食物Flag的值为0

if(snk.speed<150) snk.speed= snk.speed+5; //码,不让速度无限加快

}void putFod( ) //投放食物

{ if (Flag == 1) //如吃到食物才执行以下作,生成另一个食物

{ while (1)

{ int i,n= 1;

srand((unsigned)time(NULL)); //初始化随机数发生器srand( )

fod.x = rand( ) % (W - 4) + 2; //产生在游戏框范围内的一个x坐标值

fod.y = rand( ) % (H - 2) + 1; //产生在游戏框范围内的一个y坐标值

for (i = 0; i < snk.len; i++) //随机生成的食物不能在蛇的身体上

{ if (fod.x == snk.x[i] &&fod.y == snk.y[i]) { n= 0; break;} }

if (n && fod.x % 2 == 0) break; //n不为0且横坐标为偶数,则食物坐标取值成功

}Color(12); //设定字符为红色

gtxy(fod.x, fod.y); printf("●"); //光标到取得的坐标处打印食物

}return;

}int Over( ) //判断游戏是否结束的函数

{ int i;

Color(7);

gtxy(2,H+1); printf(“暂停键:space.”); //以下打印一些其它信息

gtxy(2,H+2); printf(“游戏得分:%d”,score);

if (snk.x[0] == 0 || snk.x[0] == W) return 1; //蛇头触碰左右边界

if (snk.y[0] == 0 || snk.y[0] == H) return 1; //蛇头触碰上下边界

for (i = 1; i < snk.len; i++)

{ if (snk.x[0] == snk.x[i] && snk.y[0] == snk.y[i]) return 1; } //蛇头触碰自身

return 0; //没碰到边界及自身时就返回0

}void Color(int a) //设定颜色的函数

{ SetConsoleTextAttribute(GetStdHandle( STD_OUTPUT_HANDLE ),a ); }

贪吃蛇的源代码

#include

#include

#include

typedef struct snake

{int a;

int b;

struct snake u;

struct snake n;

}snake,snake1;

typedef struct food

{int a;

int b;

}food;

void main()

{char c,c0 = 'd';

int i,j,k,n=1,t,at;

snake p,q;

snake dd,dd0,dd1,dd2;

food f;

srand(time(NULL));

p.u = NULL;

p.n = &q;

p.a = 5;p.b = 6;q.a = 5;q.b = 5;

q.u = &p;q.n = NULL;

dd=dd2= &q;

f.a=(rand()%15+1);

f.b=(rand()%15+1);

while(1)

{srand(time(NULL));

("cls");

for(i = 0;i < 17;i ++)

{for(j = 0; j < 17;j++)

{if(i == 0 )

printf("▁");

else if(i == 16)

printf("▔");

else if(j == 0)

printf("▕");

else if(j == 16)

printf("▏");

else if(i == p.a && j == p.b)

printf("■");

else if(i == f.a && j == f.b)

printf("★");

{t = 0;

dd = dd2;

for(k = 0; k < n ;k++)

{printf("□");

break;

}dd = dd->u;

}if(t == 0)

printf(" ");

}}printf("n");

}at = 0;

dd =dd2;

for(i=0;i

{if(p.a == dd->a && p.b == dd->b)

{printf(" over!!n");

exit(0);

}dd = dd->u;

}if(p.a == f.a && p.b == f.b)

{dd = dd2;

at =1;

f.a = (rand()%15+1);

f.b = (rand()%15+1);

for(i=0;i

{f.a = dd2->a;

f.b = dd2->b;

break;

}}

n++;

}if(kbhit())

{c = getch();

dd = dd2;

if(c == 'w' && c0 != 's')

{if(at == 1)

{dd0 =(snake1)malloc(sizeof(snake));

dd0->a = dd2->a;dd0->b = dd2->b;

dd0->n = NULL;dd0->u = dd2;

dd2=dd0;

for(i = 0; i

{dd1 = dd->u;

dd->a = dd1->a;

dd = dd->u;

}if(p.a == 1)

p.a = 15;

p.a = (p.a-1)%15;

}else if(c == 's' && c0 != 'w')

{if(at == 1)

{dd0 =(snake1)malloc(sizeof(snake));

dd0->a = dd2->a;dd0->b = dd2->b;

dd0->n = NULL;dd0->u = dd2;

dd2=dd0;

for(i = 0; i

{dd1 = dd->u;

dd->a = dd1->a;

dd = dd->u;

}p.a = (p.a%15)+1;

}else if(c == 'a' && c0 != 'd')

{if(at == 1)

{dd0 =(snake1)malloc(sizeof(snake));

dd0->a = dd2->a;dd0->b = dd2->b;

dd0->n = NULL;dd0->u = dd2;

dd2=dd0;

for(i = 0; i

{dd1 = dd->u;

dd->a = dd1->a;

dd = dd->u;

}if(p.b == 1)

elsep.b = 15;

p.b = (p.b-1)%15;

}else if(c == 'd' && c0 != 'a')

{if(at == 1)

{dd0 =(snake1)malloc(sizeof(snake));

dd0->a = dd2->a;dd0->b = dd2->b;

dd0->n = NULL;dd0->u = dd2;

dd2=dd0;

for(i = 0; i

{dd1 = dd->u;

dd->a = dd1->a;

dd = dd->u;

}p.b = (p.b%15)+1;

}else

{goto qq;

}c0 = c;

}else

{qq: if(c0 == 'w')

{if(at == 1)

{dd0 =(snake1)malloc(sizeof(snake));

dd0->a = dd2->a;dd0->b = dd2->b;

dd0->n = NULL;dd0->u = dd2;

dd2=dd0;

for(i = 0; i

{dd1 = dd->u;

dd->a = dd1->a;

dd = dd->u;

}if(p.a == 1)

p.a = 15;

p.a=(p.a-1)%15;

}else if(c0 == 's')

{if(at == 1)

{dd0 =(snake1)malloc(sizeof(snake));

dd0->a = dd2->a;dd0->b = dd2->b;

dd0->n = NULL;dd0->u = dd2;

dd2=dd0;

for(i = 0; i

{dd1 = dd->u;

dd->a = dd1->a;

dd = dd->u;

}p.a=(p.a%15)+1;

}else if(c0 == 'a')

{if(at == 1)

{dd0 =(snake1)malloc(sizeof(snake));

dd0->a = dd2->a;dd0->b = dd2->b;

dd0->n = NULL;dd0->u = dd2;

dd2=dd0;

for(i = 0; i

{dd1 = dd->u;

dd->a = dd1->a;

dd = dd->u;

}if(p.b == 1)

p.b = 15;

p.b=(p.b-1)%15;

}else if(c0 == 'd')

{if(at == 1)

{dd0 =(snake1)malloc(sizeof(snake));

dd0->a = dd2->a;dd0->b = dd2->b;

dd0->n = NULL;dd0->u = dd2;

dd2=dd0;

for(i = 0; i

{dd1 = dd->u;

dd->a = dd1->a;

dd = dd->u;

}p.b=(p.b%15)+1;

}}

fflush(stdin);

dd = &q;

_sleep(0);

}}

我是一个新手。

下面有一个游戏:

“坑人的无限”(一)

#include

#include

#include

#include

#include

using namespace std;

int a;

class Screen

{private:

int n;

public:

Screen()

{n=5;

}void move1()//注意只是循环输出各个数字,不能对循环输出再进行循环(如果对循环输出0123456789再进行循环,则move1就变成一个无限循环的函数,则下面的screen循环就进行不下去了)

{for(int i=0;i<10;++i)

{cout<

}}

void move2()

{char i;

for(i='a';i<='z';++i)

{cout<

}}

void screen()

{int t;

while(!kbhit())

{t=time(0)%(2n);//如果是放在循环外面的话,time(0)的值就一直不变,放在循环里面,一秒钟进行一次判断,一秒钟进行一次循环

if(t

move1();

move2();

}}

};

int main(){

cout<<"欢迎来到“无限 ”游戏"<

cout<<"下面会输出无限个笑脸"<

cout<<"按'enter'取消"<

Sleep(4000);

Screen s;

s.screen();

cout<

cout<<"接下来会更让你丧心病狂的!"<

cout<<"但是坚持过后必有彩蛋!!!!!!加油!!";

Sleep(10000);

for(int as=0;as<=50;as++){

for(int i=0;i<=100;i++){

cout<

}cout<

}for(int i=0;i<=100;i++){

cout<

}cout<

}}

cout<<"你居然坚持下来了!"<

for(int i=0;i<=10;i++){

cout<<"-----------------------------------------------"<

}cout<<"敬请期待!等待无限游戏(二)!";

return 0;

在C语言中怎样实现等几秒钟在执行下一个程序?

t = 1;

用sleep函数,比如说sleep(1000)表示等1000毫秒在执行下一个程序

dd->b = dd1->b;

#include

Sleep(1000); /这个貌似是毫秒级,具体自己可以试

另外用for循环岂可

for(i = 0; i < 1000; i++);

func1();

sleep( 5 ) ; //休息5秒

func2() ;

如何让C语言sleep()函数等待时间小于1秒

}dd = dd2;

如果对时间要求非常,可以考虑采用和汇编中处理的情况,看看cpu的频率,将for命令分解成汇编语言,看多少毫秒执行一次命令,然后设置循环次数,这样足够,实际上在汇编下也是这么做的。

用delay会使进程独占cpu,一般不要用,可以用usleep(),单位微妙 休眠10毫秒就是usleep(100010)

TC中sleep()函数原型为: unsigned sleep(unsigned seconds); 参数单位为秒

delay()函数原型为: unsigned sleep(unsigned seconds); 参数单位为毫秒

函数sleep()确实会暂停x秒,但delay()多数情况下不,可以不断修正设置的数值,来达到控制时间的目的。

#include // 头文件

int usleep(useconds_t usec); // 函数原型

usec -- 毫秒。整数。允许值:小于 1000000

返回 0 -- 表示调用执行成功,1 -- 失败。

sleep()函数大概只能到50ms左右,你用sleep(10)是肯定不行的,如果你要的定时的话可以使用QueryPerformanceFrequency()函数,用法为:

LARGE_INTEGER

litmp;

LONGLONG

QPart1,QPart2;

double

dfMinus,

dfFreq,

d=(double)litmp.QuadPart;//fTim;

QueryPerformanceFrequency(&litmp);

QueryPerformanceCounter(&litmp);

QPart1

=litmp.QuadPart;//

获得初始值

do

{QueryPerformanceCounter(&litmp);

QPart2

=litmp.QuadPart;//获得中止值

=(double)(QPart2-QPart1);

dfTim

=dfMinus

/dfFreq;//

获得对应的时间值,单位为秒

}while(dfTim<0.001);

其定时误不超过1微秒,精度与CPU等机器配置有关。

×××××××××××××××××××××××××

sleep()函数的中等待时间是以毫秒计算的,所以等待1秒就是sleep(1000),如果要让等待时间小于一秒,那么就让传入的参数小于1000就行了.

比如,等待0.1秒:

sleep(100);

sleep()函数大概只能到50ms左右,你用sleep(10)是肯定不行的,如果你要的定时的话可以使用QueryPerformanceFrequency()函数,用法为:

LARGE_INTEGER

litmp;

LONGLONG

QPart1,QPart2;

double

dfMinus,

dfFreq,

dfTim;

QueryPerformanceFrequency(&litmp);

QueryPerformanceCounter(&litmp);

QPart1

=litmp.QuadPart;//

获得初始值

do

{QueryPerformanceCounter(&litmp);

QPart2

=litmp.QuadPart;//获得中止值

=(double)(QPart2-QPart1);

dfTim

=dfMinus

/dfFreq;//

获得对应的时间值,单位为秒

}while(dfTim<0.001);

其定时误不超过1微秒,精度与CPU等机器配置有关。

×××××××××××××××××××××××××

sleep()函数的中等待时间是以毫秒计算的,所以等待1秒就是sleep(1000),如果要让等待时间小于一秒,那么就让传入的参数小于1000就行了.

比如,等待0.1秒:

sleep(100);

sleep(100)

里面的是以毫秒为单位的。100就是0.1秒

sleep()函数大概只能到50ms左右,你用sleep(10)是肯定不行的,如果你要的定时的话可以使用QueryPerformanceFrequency()函数,用法为:

LARGE_INTEGER

litmp;

LONGLONG

QPart1,QPart2;

double

dfMinus,

dfFreq,

dfTim;

QueryPerformanceFrequency(&litmp);

QueryPerformanceCounter(&litmp);

QPart1

=litmp.QuadPart;//

获得初始值

do

{QueryPerformanceCounter(&litmp);

QPart2

=litmp.QuadPart;//获得中止值

=(double)(QPart2-QPart1);

dfTim

=dfMinus

/dfFreq;//

获得对应的时间值,单位为秒

}while(dfTim<0.001);

其定时误不超过1微秒,精度与CPU等机器配置有关。

×××××××××××××××××××××××××

sleep()函数的中等待时间是以毫秒计算的,所以等待1秒就是sleep(1000),如果要让等待时间小于一秒,那么就让传入的参数小于1000就行了.

比如,等待0.1秒:

sleep(100);

你可以换用 delay();

这里 使以微妙为单位的

c语言有个可以使程序延时的语句是什么?

cout<a && j == dd->b)dl<Sleep函数:功 能: 执行挂起一段时间 用 法: unsigned sleep(unsigned seconds); 注意: 在VC中使用带上头文件#include 在VC中,Sleep中的个英文字符为大写的"S" ,在标准C中是sleep, 不要大写,简单的说VC用Sleep, 别的一律使用sleep 在VC中,Sleep()里面的单位,是以毫秒为单位,所以如果想让函数滞留1秒的话,应该是Sleep(1000); 在Linux下,sleep()里面的单位是秒,而不是毫秒。 示例: #include int main() { int a; a=1000; Sleep(a); return 0; } usleep函数:功能:usleep功能把进程挂起一段时间, 单位是微秒us(百万分之一秒)。 delay函数:功 能: 将程序的执行暂停一段时间,单位是毫秒ms(千分之一秒) 用 法: void delay(unsigned milliseconds); 示例: #include int main(void) { sound(440); delay(500); nosound(); return 0; }delay()是循环等待,该进程还在运行,占用处理器。sleep()不同,它会被挂起,把处理器让给其他的进程。