用c語言如何設置退出遊戲
① C語言怎麼按任意鍵退出
C語言是面向過程的語言,也就是他的數據都是面向一個可編程的過程性操作。
一個C語言源文件經過編譯後生成.exe文件,如果在編譯器中或者DOS窗口中運行,在程序結圓氏束後並不會首腔亮立即退出,而是會提示按任意鍵退出。然而將編譯好的程序生成的.exe文件直接打開者寬時,程序執行結束後會直接退出,不會有提示,這時候在編譯前可以加上一句system("pause");
//程序執行結束後暫停
② 貪吃蛇游戲退出界面c語言程序
#define N 200 #include <graphics.h> #include <stdlib.h> #include <dos.h> #define LEFT 0x4b00 #define RIGHT 0x4d00 #define DOWN 0x5000 #define UP 0x4800 #define ESC 0x011b int i,key; int score=0;/*得分*/ int gamespeed=50000;/*游戲速度自己調整*/ struct Food { int x;/*食物的橫坐標*/ int y;/*食物的縱坐標*/ int yes;/*判斷是否要出現食物的變數*/ }food;/*食物的結構體*/ struct Snake { int x[N]; int y[N]; int node;/*蛇的節數*/ int direction;/*蛇移動方向*/ int life;/* 蛇的生命,0活著,1死亡*/ }snake; void Init(void);/*圖形驅動*/ void Close(void);/*圖形結束*/ void DrawK(void);/*開始畫面*/ void GameOver(void);/*結束游戲*/ void GamePlay(void);/*玩游戲具體過程*/ void PrScore(void);/*輸出成績*/ /*主函數*/ void main(void) { Init();/*圖形驅動*/ DrawK();/*開始畫面*/ GamePlay();/*玩游戲具體過程*/ Close();/*圖形結束*/ } /*圖形驅動*/ void Init(void) { int gd=DETECT,gm; initgraph(&gd,&gm,"c:\\tc"); cleardevice(); } /*開冊弊亮始畫面,左上角坐標為(50,40),右下角坐標為(610,460)的圍牆*/ void DrawK(void) { /*setbkcolor(LIGHTGREEN);*/ setcolor(11); setlinestyle(SOLID_LINE,0,THICK_WIDTH);/*設置線型*/ for(i=50;i<=600;i+=10)/*畫卜孝圍牆*/ { rectangle(i,40,i+10,49); /*上邊*/ rectangle(i,451,i+10,460);/*下邊*/ } for(i=40;i<=450;i+=10) { rectangle(50,i,59,i+10); /*左邊*/ rectangle(601,i,610,i+10);/*右邊*/ } } /*玩游戲具體過程*/ void GamePlay(void) { randomize();/*隨機數發生器*/ food.yes=1;/*1表示需要出現新食物,0表示已經存在食物*/ snake.life=0;/*活著*/ snake.direction=1;/*方嚮往右*/ snake.x[0]=100;snake.y[0]=100;/*蛇頭*/ snake.x[1]=110;snake.y[1]=100; snake.node=2;/*節數*/ PrScore();/*輸出得分*/ while(1)/*可以重復玩游戲,壓ESC鍵結束*/ { while(!kbhit())/*在沒有按鍵的情況下,蛇州寬自己移動身體*/ { if(food.yes==1)/*需要出現新食物*/ { food.x=rand()%400+60; food.y=rand()%350+60; while(food.x%10!=0)/*食物隨機出現後必須讓食物能夠在整格內,這樣才可以讓蛇吃到*/ food.x++; while(food.y%10!=0) food.y++; food.yes=0;/*畫面上有食物了*/ } if(food.yes==0)/*畫面上有食物了就要顯示*/ { setcolor(GREEN); rectangle(food.x,food.y,food.x+10,food.y-10); } for(i=snake.node-1;i>0;i--)/*蛇的每個環節往前移動,也就是貪吃蛇的關鍵演算法*/ { snake.x[i]=snake.x[i-1]; snake.y[i]=snake.y[i-1]; } /*1,2,3,4表示右,左,上,下四個方向,通過這個判斷來移動蛇頭*/ switch(snake.direction) { case 1:snake.x[0]+=10;break; case 2: snake.x[0]-=10;break; case 3: snake.y[0]-=10;break; case 4: snake.y[0]+=10;break; } for(i=3;i<snake.node;i++)/*從蛇的第四節開始判斷是否撞到自己了,因為蛇頭為兩節,第三節不可能拐過來*/ { if(snake.x[i]==snake.x[0]&&snake.y[i]==snake.y[0]) { GameOver();/*顯示失敗*/ snake.life=1; break; } } if(snake.x[0]<55||snake.x[0]>595||snake.y[0]<55|| snake.y[0]>455)/*蛇是否撞到牆壁*/ { GameOver();/*本次游戲結束*/ snake.life=1; /*蛇死*/ } if(snake.life==1)/*以上兩種判斷以後,如果蛇死就跳出內循環,重新開始*/ break; if(snake.x[0]==food.x&&snake.y[0]==food.y)/*吃到食物以後*/ { setcolor(0);/*把畫面上的食物東西去掉*/ rectangle(food.x,food.y,food.x+10,food.y-10); snake.x[snake.node]=-20;snake.y[snake.node]=-20; /*新的一節先放在看不見的位置,下次循環就取前一節的位置*/ snake.node++;/*蛇的身體長一節*/ food.yes=1;/*畫面上需要出現新的食物*/ score+=10; PrScore();/*輸出新得分*/ } setcolor(4);/*畫出蛇*/ for(i=0;i<snake.node;i++) rectangle(snake.x[i],snake.y[i],snake.x[i]+10, snake.y[i]-10); delay(gamespeed); setcolor(0);/*用黑色去除蛇的的最後一節*/ rectangle(snake.x[snake.node-1],snake.y[snake.node-1], snake.x[snake.node-1]+10,snake.y[snake.node-1]-10); } /*endwhile(!kbhit)*/ if(snake.life==1)/*如果蛇死就跳出循環*/ break; key=bioskey(0);/*接收按鍵*/ if(key==ESC)/*按ESC鍵退出*/ break; else if(key==UP&&snake.direction!=4) /*判斷是否往相反的方向移動*/ snake.direction=3; else if(key==RIGHT&&snake.direction!=2) snake.direction=1; else if(key==LEFT&&snake.direction!=1) snake.direction=2; else if(key==DOWN&&snake.direction!=3) snake.direction=4; }/*endwhile(1)*/ } /*游戲結束*/ void GameOver(void) { cleardevice(); PrScore(); setcolor(RED); settextstyle(0,0,4); outtextxy(200,200,"GAME OVER"); getch(); } /*輸出成績*/ void PrScore(void) { char str[10]; setfillstyle(SOLID_FILL,YELLOW); bar(50,15,220,35); setcolor(6); settextstyle(0,0,2); sprintf(str,"score:%d",score); outtextxy(55,20,str); } /*圖形結束*/ void Close(void) { getch(); closegraph(); }
很不錯哦,你可以試下
gbeifgzgje07767445722011/12/29 12:09:28g
③ 用c語言怎樣添加暫停和退出
getchar();
getchar 的大李用途是從從標准輸入流歷檔讀取一個字元,讀回車符時退出
getchar();永遠只向緩存中輸入一個字元,
getchar();的用法很多;
一種就是清空回車符 這種情況一般發生在在循環中涉及到輸入的情況
還有一種是某些編譯平台(IDE)在運行程序時並沒有在程序運行後給人看結果的時間 這時候 在程序最後加上getchar()就能造成程序的暫停 給程序員度結果的機會
用getchar時,在鍵盤上按一個字元後,要按回車才能讀取進去;用getch時,在鍵盤上按一個字元馬上就被讀取進去,不用按回車,因此可以作為「按任意鍵繼續」的執行語句。
system("pause");
使用它得加個頭文件#include<stdlib.h>
system就是調用從程序中調用系統命令(和shell命令)。
system("pause")就是從程序里調用「pause」命令;
而「pause」這個系統命令的功能很簡單,就是在命令行上輸出一行類似於「Press any key to exit」的字,等待用戶肢仿亂按一個鍵,然後返回
④ c語言 退出整個程序或函數的命令是什麼
c語言退出整個咐輪程序或函數的命令是return、goto 、break 、break。
1、return 返回;
return 表示從被調用函數返回主調函數繼續執行,返回時可附帶一個返回值,由return後面的參數設定。
2、goto 無條件跳轉;
goto語句也稱作無條件轉移語句,其一般格式為goto語句標號:其中語句標號是按照標識符規定書寫的符號,放在某一行語句行的前衡閉信面,標號後加冒號(:)。
3、break 調處最近一層塊;
大多數情況下是終止上一態喊層的循環,C語言中break在switch中執行一條case後跳出語句的作用 使程序跳出switch執行switch以後的語句 如果沒有break switch會從滿足條件的地方執行到switch結構結束。
(4)用c語言如何設置退出遊戲擴展閱讀
break語句使用
示例:
#include <stdio.h>
void main()
{
int x=1;
while(x<=4)
{
printf("x=%d ",x);
if (x==3)
{
break;
}
x++;
}
}
⑤ C語言如何通過代碼使程序退出
#include<局陵stdio.h>
#include <stdlib.h>
void main()
{
int i=0;
printf("1.執行1操作\n2.執行2操作\n3.退出\n");
printf("請輸入你所需的操作\n");
scanf("%d",&i);
switch(i)
{
case 1:printf("1操作");break;
case 2:printf("2操作"高凱);break;
case 3:system("桐念戚exit");break;
default:break;
}
system("pause");
}