c語言簡單遊戲的程序,c語言簡單遊戲的程序是什麼

本文目錄一覽:

用C語言編寫的小遊戲代碼是什麼?

“猜數字小遊戲”,每個數字後按空格,最後按回車確認

#includestdio.h

#includestdlib.h

#includetime.h

int a[4],b[4];

int count=0;  //計算猜測次數

void csh( );  //初始化

void start( );  //開始遊戲

int main( )

{ csh( );

start( );

}

void csh( )  //初始化

{ printf(“\n\n         猜  數  字  小  游  戲\n\n”);

printf(“    猜四個數字,如數字與順序都正確記為A,數字正確位置不對記為B.\n”);

}

void start( )  //開始遊戲

{int m,n;  //m是完全猜對的個數,n是順序不對的個數

while(1)

{srand((unsigned)time(NULL));  //初始化隨機數發生器srand( )

while(1) { for(int i=0;i4;i++) a[i]=rand( )%10;  //rand( )函數每次隨機產生一個0-9的數

if( (a[3]!=a[2]a[3]!=a[1]a[3]!=a[0])

(a[2]!=a[1]a[2]!=a[0])a[1]!=a[0] ) break; }  //4個隨機數各自不相等

printf(”    請依次輸入4個一位整數:\n\n   “);

while(1)

{for(int i=0;i4;i++) scanf(“%d”,b[i]);

printf(”    你輸入的是:%d  %d  %d  %d “,b[0],b[1],b[2],b[3]);

m=0;n=0;

for(int i=0;i4;i++)

{for(int j=0;j4;j++)

{ if(b[i]==a[j]i==j)m=m+1; if(b[i]==a[j]i!=j)n=n+1; }

}

count=count+1;

printf(”      %dA  %dB   你試了%d次\n   “,m,n,count);

if(m==4)break;

if(count==8){ count=0; break; }

}

printf(“\n”);

if(m==4)printf(”     你猜對了(^-^)! 就是:%d %d %d %d\n”,a[0],a[1],a[2],a[3]);

else printf(”     你輸了(T-T)!哈哈!應該是:%d %d %d %d\n”,a[0],a[1],a[2],a[3]);

int z;

printf(”     (要繼續嗎?1或0)\n   “);

scanf(“%d”,z);

if(z==0) break;

}

}

用C語言編寫一個簡單的打字母遊戲,給出基本思路及完整程序。

# includestdio.h

# include conio.h

# include graphics.h

# include time.h

# pragma comment(lib,”Winmm.lib”) //引用Windows Multimedia APT

int score =0; //全局變量********整型的分數

char s[5]; //全局變量****字符型的分數

struct player_ //自定義的結構體,並順便定義一個結構體變量

{

char name[20];

int score_;

}player[11];

/***************函數聲明*****************/

void record_(); //記錄彼此成績函數

void welcome( ); //歡迎界面函數

void instructions( ); //遊戲說明界面函數

void gane (int rank2); //遊戲函數

void record ( ); //顯示記錄函數

int rank_(char rank1); //等級選擇函數

void goodbye ( ); //退出界面函數

/**************主函數**************/

int main ()

{

char rank1; //rank1接受從鍵盤輸入的字符,根據字符判斷等級

int rank2=15; // 控制延時時間,從而控制速度

intsign=1; // 當做標記,用於標記是否彈出MessageBox對話框

welcome ( ); //調用歡迎界面函數

instructions ( ); //調用遊戲什麼函數

record( ); //調用顯示記錄函數

InputBox(player[10].name,20,”請輸入玩家昵稱”; //以對話框形式獲取用戶輸入函數

rank1=getch();//讀入一個字母

rank2=rank_(rank1); //調用等級函數

game (rank2); //調用遊戲函數

HWND wnd =GetHWnd();

while (sign) //sign作為標記,執行循環

if (MessageBox(wnd,”遊戲結束!!!\n再來一局,挑戰更高分數”,”詢問”,MB_YESNO|MB_ICONQUESTION)==IDYES)

game (rank2);

else

{

sign=0;

goodbye( );

}

closegraph( );

return 0;

}

/***************記錄本次成績函數***************/

void record_()

{

FILE*fp; //文件指針

int i,j;

struct player_t; //定義結構體變量t,冒泡法比較大小時用

player[10].score_=score; //把該局的分數賦給該局用戶的結構體變量中

fp=fopen(“記錄.dat”,”rb”); //打開二進制文件

for (i=0;i10;i++)

{

fread(player[i].name,20,l,fp); //讀入記錄中的成績和名字

fread (player[i].score_,4,l,fp);

}

fclose(fp); //關閉二進制文件

for (j=0;j10;j++) //冒泡法排序

for (i=0;i10-j;i++)

if (player[i].score_)

{

t=player[i];

player[i]=player[i+1];

player[i+1]=t;

}

fp=fopen(“記錄.dat”,”wb”); //打開文件

for (i=0;i10;i++) //把排好序列的數據存入記錄文件

{

fwrite(player[i].name,20,l,fp);

fwrite (player[i].score_,4,l,fp);

}

fclose(fp); //關閉文件

}

/****************歡迎界面函數****************/

void welcome ( )

{

char ch;

mciSendString(“open\”res\\Sleep Away.mp3\”alias mymusic”,NULL,0,NULL);

initgraph(640,480); //初始化畫圖界面

IMAGE img; //定義IMAGE對象

loadimage (img,”res\\00.jpg”); //讀取圖片到img對象中

putimage (0,0,img); //在坐標(0,0)位置顯示IMAGE對象

ch=getch(); //吸收掉一個按鍵

cleardevice(); //清屏

}

/***************遊戲說明界面函數**************/

void instructions()

{

int c=255; //控制變色的變量

setcolor(YELLOW); //設置顏色

setfont (30,0,”黑體”); //設置字體

outtextxy(0,0,”遊戲說明”); //輸出文字

setcolor(WHITE);

setfont(28,0,”宋體”);

outtextxy(0,30,”一、每次遊戲下落200個字母”); //輸出文字

outtextxy(0,58,”二、請按數字鍵選擇遊戲等級”);

outtextxy(0,86,”三、統計被擊中的個數”);

setfont(30,0,”華文行楷”)

outtextxy (20,220,”等級一二三四 五六七八九”);

outtextxy(20,260,“按鍵 1 2 3 4 5 6 7 8 9”);

while (!kbhit()) //kihit()作用是判斷是否有字幕輸入

{

setcolor(RGB(c,255,0));

setfont (80,0,”楷體”);

outtextxy(140,130,”請選擇等級”);

setcolor(RGB(c,0,255));

setfont(100,0,”Wickenden Cafe NDP”);

outtextxy(100,135,”Let’s go!!!”);

c-=25; //控制顏色的變量自減

if(c0)c=255; //控制顏色的變量小於0時,再把255賦給c

cleardevice(); //清屏

}

/***************退出界面函數***************/

void goodbye()

{

int c=255; //控制變色變量

cleardevice(); //清屏

setcolor(YELLOW);

setfont (48,0,”黑體”);

outtextxy (104,120,”的最終成績是: “);

setfont (48,0,”華文楷體”);

setcolor(RGB(255,255,0));

outtextxy(140,320,”按任意鍵退出遊戲”);

setcolor(YELLOW);

setfont(48,0,”黑體”);

outtextxy (104,120,”的最終成績是: “);

outtextxy(104,70,player[10].name);

record_(); //調用記錄本次成績函數

while(!kbhit())

{

setcolor(RGB(255,0,c-100)); //設置顏色

setfont(100,0,”Wickenden Café NDP”);

outtextxy(400,90,s); //輸出數字

setcolor(RGB(c,0,255));

setfont(48,0,”黑體”);

if (score==200)

outtextxy(100,200,”全部擊中!!!”);

else

if(score190)

outtextxy(100,200,”不錯!繼續加油!”);

else

outtextxy(100,200,”不要灰心!繼續加油!”);

c-=25;

if(c0)

c=255;

Sleeep(20); //延時20秒

}

getch( ); //提供給用戶時需要等待輸入後再退出

}

/**************等級選擇函數**************/

int rank_(char rank1)

{

int rank2;

switch(rank1) //判斷字符,確定等級

{

case’0’:rank2=11;break;

case’1’:rank2=10;break;

case’2’:rank2=9;break;

case’3’:rank2=8;break;

case’4’:rank2=7;break;

case’5’:rank2=6;break;

case’6’:rank2=5;break;

case’7’:rank2=4;break;

case’8’:rank2=3;break;

case’9’:rank2=2;break;

default:rank2=15;break;

}

return rank2;

}

/**************顯示記錄函數***********/

void record( )

{

FILE *p; //文件指針

int a[10],j;

char b[10][10];

fp=fopen(“記錄。dat”,”rb”); //打開文件

for (j=0;j10;j++)

{

fread(player[j].name,20,1,fp); //讀取文件中的信息

fread(player[j].score_,4,1,fp);

}

fclose(fp); //關閉文件

setfont(60,0,”Arial”);

setcolor(RGB(250,250,0));

outtextxy(250,0,”TOP10”);

for(j=0;j10;j++)

{

sprintf(“b[j],%d”,player[j].score_); //把整型轉換為字符型

setcolor(RGB(0,100,255));

setfont(40,0,”Arial”);

outtextxy(420,50+40*j,b[j]);

outtextxy(120,50+40*j,player[j].name); //輸出名字

/**********遊戲函數******************/

void game (int rank2)

{

cleardevice( ); //清屏

score=0; //清除掉原有的分數

outtextxy(0,0,”玩家:”);

outtextxy(90,0,player[10].name);

setfont(20,0,”Arial”);

outtextxy(100,460,” 人生有享受片刻優雅恬適的權力,讓打字母遊戲放鬆你一下吧!”);

int i;

char target; //目標字母

char key; //用戶的按鍵

intx,y; //字母的位置

int flag =1; //標記是否按了退出鍵

int sum=0; //成績計數

int num =200; //規定下落字母的個數

srand (time(NULL)); //隨機時間種子,設置第一個隨機函數的值

setfillstyle(BLACK); //設置下面矩形內圖的顏色

setcolor(YELLOW); //

line(0,450,640,450); //用3條線規定一下工作區

line(0,440,640,440); //用3條線規定一下工作區

line(0,40,640,40); //用3條線規定一下工作區

while (flagnum)

{

setfont(40,0,”宋體”); //設置字母的字體和大小

i=rand()%2; //rand()函數返回0~32767之間的一個整數

if(i)

target=97+rand()%26; //產生任意小寫字母

else

target=65+rand()%26; //產生任意大寫字母

x=rand()%610; //產生任意下落位置

for (y=41;y380;y++)

{

setcolor (RGB(255,0,255));

outtextxy(x,y,target); //顯示字母

if(kbhit())

{

key=getch(); //獲取用戶按鍵

if ((key==target)||( key==target-32)||( key==target+32))

{

score++; //分數統計

sprintf(s,”%d”score);

setfont(30,0,”Arial”);

outtextxy(500,0,“分數”);

outtextxy(600,0,s); //輸出分數

bar(x-10,y-10,x+35,y+50); // 擊中用黑框形擦去字母

break; //跳出循環,進行下一個字母

}

else if (key==27) //判斷是否按了

{

flag=0; //若果按ESC,退出遊戲主循環

break;

}

}

Sleep(rank2); //控制清除字母的時間愛你也就是控制下落速度

bar(x,y,x+35,y+60); //擦最下面的字符

}

num–; //計數

}

}

教你如何使用C語言編寫簡單小遊戲

愛玩是人的天性,而C語言是我們計算機專業都要學習的一門基礎 學科.一般來說,是比較枯燥的.那麼,我們能不能通過編一些小遊戲來提高它的趣味性呢?這樣學習程序設計,就不會是一件艱苦 ,枯燥的事,它變得象電腦遊戲一樣充滿好奇,富有樂趣. 1, 總是從Hello,world開始 學習編程的第一個程序,一般就是打印一個親切的詞語——”Hell o,world!”.讓我們來看看這個最簡單的C程序:#incolude /*把輸入輸出函數的頭文件包含進來*/int main(){printf(“Hello, world!”);/*在屏幕上輸出字符串”Hello,world!”*/return 0;/*退出main函數,並返回0*/} 下面我們發現幾個值得改進的地方,1,程序的運行結果一閃而過 .2,每執行這個程序一次都能看見上次運行留下的字符.3,我們 還希望屏幕輸出一個笑臉來歡迎我們. 讓我們來改進一下這個程序吧!1,在return語句的前面加一句:getch ();,表示按任意鍵結束.2,在printf語句前用clrscr函數清屏,要使用這個函數和getch函數,需要在程序開頭再包含頭文件conio.h.3,ASCII碼也有 許多非常好玩的字符,比如ASCII碼值為2的就是一個笑臉,我們可 以用printf(“%c”, 2)來輸出一個笑臉. 現在我們把Hello,world程序改成一個更好看的Hello,world了.下面讓我們開始做遊戲吧! 2, 心動的開始,一個運動中的笑臉 大家小時侯喜歡看動畫片嗎?哈哈,我猜你們都喜歡吧!下面就讓我們來做一個小動畫吧.在屏幕上顯示一個運動的小笑臉,而且當它到達屏幕的邊緣時會自動彈回來.先在程序定義一個在屏幕中運動的點的結構:struct move_point{ int x, y;/*該點的位置,包括x坐標和y坐標*/ int xv, yv;/*該點在x軸,y軸的速度*/};運動的原理是,先擦去物體先前的軌跡,讓物體按其速度移動一段距離,再畫出該物體.讓我們看到以下代碼:gotoxy(man.x, man.y);/*把光標移到指定的坐標*/printf(” “);/*輸出一個空格,把先前的字符擦去*/然後我們讓物體按其速度運動:man.x += man.xv;/*水平方向按x軸的速度運動*/man.y += man.yv;/*垂直方向按y軸的速度運動*/運動後還要判斷物體是否出界,如果出了界,就令物體反彈,即讓 它下一刻的速度等於現在的速度的相反數.最後打印出這個笑臉:gotoxy(man.x, man.y);printf(“%c\b”, 2); /*輸出ASCII碼值為2的”笑臉”字符*/怎麼樣?是不是很有趣呢?不過這個笑臉一直是自己運動,能不能 讓我們來控制它運動呢?不過這個程序沒有什麼目的,也沒有什麼判斷勝負的條件.下面我們就利用這個能控制它移動的笑臉來做一個更有趣的遊戲吧! 4, 在迷宮中探索 小時侯,我常在一些小人書和雜誌上看見一些迷宮的遊戲,非常喜歡玩,還常到一些書上找迷宮玩呢.好的,現在我們用C語言來編個迷宮的遊戲,重溫一下童年的樂趣. 首先,我們定義一個二維數組map,用它來保存迷宮的地圖,其中map[x][y] == ‘#’表示在(x,y)坐標上的點是牆壁.DrawMap函數在屏幕上輸出迷宮的地圖和一些歡迎信息.在main函數里,我們定義了”小人”man的坐標和”目的地”des的 坐標.在遊戲循環中,我們增加了一些用來判斷勝負的語句:if (man.x == des.x man.y == des.y) /*如果人的坐標等於目的地的坐標*/{ gotoxy(35, 3); printf(“Ok! You win!”); /*輸出勝利信息*/….}在判斷按鍵時,如果玩家按的是方向鍵,我們還要先判斷前面是不是有”牆壁”,如果有的話,就不能往前移動了.好的,我們在判斷按鍵的switch語句的各個分支加上了判斷語句,如下:if (map[…][…] == ‘#’) break;/*如果前面是牆壁,就不執行下去*/哇噻!真棒,我們做出了一個完整的遊戲了.當然你還可以通過修改二維數組map來修改迷宮的地圖,讓它更有挑戰性.不過,我們要設計一個更好玩的遊戲—— 5, 聰明的搬運工 大家一定玩過”搬運工”的遊戲吧!這是在電腦和電子字典上較流行的益智遊戲,讓我們動手做一個屬於自己的”搬運工”吧!程序依然用數組map來保存地圖,數組元素如果為空格則表示什麼也沒有,’b’表示箱子,’#’表示牆壁,’*’表示目的地,’i’表示箱子在目的地.我們以後每推一下箱子,不但要改變屏幕的顯示,也要改變map相應元素的值.遊戲的主循環依然是接受按鍵.當接收一個方向鍵,需要判斷小人前面一格的狀態,如果是空地或目的地,則人物可以直接移動;如果是牆壁,則不可移動;如果是箱子或目的地上的箱子,則需要繼續判斷箱子前面一格的狀態:如果前一格是空地或目的地,則人推箱子前進,否則不可移動.好的,我們在switch中增加了這些判斷語句.程序還有一個重要的功能就是判斷勝利.數組Des用來記錄全部目的地的坐標,我們每執行一步操作後,程序就要通過Des數組判斷這些目的地上是否都有箱子了.真棒啊!我們可以做遊戲了.而且是一個老少皆宜,趣味十足的遊戲呢!當然,我們可以通過修改map數組來製作不同的遊戲地圖,我們還可以相互分享好的遊戲地圖呢. 尾聲: 在C++等高級語言還沒出來的時候,很多應用程序也是C語言開發的.C語言在與硬件聯繫緊密的編程中,也佔有重要地位.其實我覺得學習編程,可以通過一些小遊戲,實用的例子來學習.象學習音樂的人,不是要等到把全部樂理學完後才演奏一個完整的曲子.而是剛開始學時就有一些簡單的曲子讓你演奏,讓你立刻就有成就感,讓你很快就能賣弄出來在別人面前表現自己了.通過編遊戲來學習編程,把學習變成遊戲,不失為學習計算機的一種好方法. 好了,編遊戲就這麼簡單,希望大家也嘗試用C語言或其他的語言來做幾個自己喜歡的小遊戲.

C語言簡易文字冒險遊戲源代碼

記憶遊戲

#includestdio.h

#includetime.h

#includestdlib.h

#includewindows.h

#define N 10

int main(  )

{int i,k,n,a[N],b[N],f=0;

srand(time(NULL));

printf(”  按1開始\n  按0退出:_”);

scanf(“%d”,n);

system(“cls”);

while(n!=0)

{for(k=0;kN;k++)a[k] = rand( )%N;

printf(“\n\t\t[請您牢記看到顏色的順序]\n\n”);

for(k=0;kN;k++)

{switch(a[k])

{case 0:system(“color 90″);printf(”  0:淡藍色\n”);break;  //淡藍色

case 1:system(“color f0″);printf(”  1:白色\n”);break;  //白色

case 2:system(“color c0″);printf(”  2:淡紅色\n”);break;  //淡紅色

case 3: system(“color d0″);printf(”  3:淡紫色\n”);break;  //淡紫色

case 4: system(“color 80″);printf(”  4:灰色\n”); break;  //灰色

case 5: system(“color e0″);printf(”  5:黃色\n”);break;  //黃色

case 6: system(“color 10″);printf(”  6:藍色\n”); break;  //藍色

case 7: system(“color 20″);printf(”  7:綠色\n”);break;  //綠色

case 8: system(“color 30″);printf(”  8:淺綠色\n”);break;  //淺綠色

case 9: system(“color 40″);printf(”  9:紅色\n”);break;  //紅色

}

Sleep(1500);

system(“color f”);  //單個控制 文字顏色

Sleep(100);

}

system(“cls”);

printf(” 0:淡藍色,1:白色,2:淡紅色,3:淡紫色,4:灰色,5:黃色,6:藍色7:綠色,8:淺綠色,9:紅色\n”);

printf(“\n\t請輸入顏色的順序:”);

for(k=0;kN;k++)scanf(“%d”,b[k]);

for(k=0;kN;k++)if(a[k] == b[k]) f++;

if(f==0) printf(”  你的記憶弱爆了0\n”);

else if(f==1) printf(”  你的記憶有點弱1\n”);

else if(f5) printf(”  你的記憶一般5\n”);

else printf(”  你的記憶力很強!\n”);

Sleep(2000);

system(“cls”);

printf(“\t\t按0退出\n\t\t按任意鍵繼續遊戲:\n”);

scanf(“%d”,n);

system(“cls”);

}

return 0;

}

註:DEVc++運行通過,每輸入一個數字要加入一個空格。

如何使用C語言編寫簡單小遊戲?

C語言是計算機專業都要學習的一門基礎學科。一般來說,是比較枯燥的.那麼,我們能不能通過編一些小遊戲來提高它的趣味性呢?這樣學習程序設計,就不會是一件艱苦 ,枯燥的事,它變得象電腦遊戲一樣充滿好奇,富有樂趣。

例如2048這款遊戲:

方法/步驟:

#includestdio.h

#includestdlib.h

#includetime.h

#includeconio.h

#includewindows.h

#define SIZE 4

static int score=0;

void putn(int n[][SIZE]);

void getn(int n[][SIZE]);

int isempty(int n[][SIZE]);

int isfull(int n[][SIZE]);

void math(int n[][SIZE],char c);

void tow(int n[][SIZE]);

void toa(int n[][SIZE]);

void tos(int n[][SIZE]);

void tod(int n[][SIZE]);

//主函數

int main()

{

int i,j;

int n[SIZE][SIZE];

char c=’ ‘;

for(i=0;iSIZE;i++)

{

for(j=0;jSIZE;j++)

{

n[i][j]=0;

}

}

printf( “***********************\n”

”      2048(%dX%d)      \n”

”   control:W/A/S/D    \n”

“press any key to begin \n”

“***********************\n”,SIZE,SIZE);

getch();

system(“cls”);

//n[0][1]=2048;

//n[0][3]=2048;

while(1)

{

if(isempty(n))

getn(n);

putn(n);

if(!isempty(n)isfull(n))

break;

sleep(200);

c=getch();

while(c!=’w’c!=’a’c!=’s’c!=’d’)

c=getch();

math(n,c);

system(“cls”);

}

printf(”      Game Over!\n”,score);

return 0;

}

//函數

void putn(int n[][SIZE])

{

int i,j;

for(i=0;iSIZE;i++)

{

for(j=0;jSIZE;j++)

printf(“|     “);

printf(“|\n”);

for(j=0;jSIZE;j++)

{

if(n[i][j]==0)

printf(“|     “);

else

printf(“|%4d “,n[i][j]);

}

printf(“|\n”);

for(j=0;jSIZE;j++)

printf(“|_____”);

printf(“|\n”);

}

printf(“score: %d”,score);

}

void getn(int n[][SIZE])

{

int a,b;

a=rand()%SIZE;

b=rand()%SIZE;

while(n[a][b]!=0)

{

a=rand()%SIZE;

b=rand()%SIZE;

}

n[a][b]=2;

}

int isempty(int n[][SIZE])

{

int i,j,count=0;

for(i=0;iSIZE;i++)

for(j=0;jSIZE;j++)

if(n[i][j]==0)

count++;

return count;

}

int isfull(int n[][SIZE])

{

int i,j,count=0;

for(i=0;iSIZE;i++)

{

for(j=1;jSIZE-1;j++)

{

if(n[i][j]==n[i][j+1]||n[i][j]==n[i][j-1])

count++;

}

}

for(j=0;jSIZE;j++)

{

for(i=1;iSIZE-1;i++)

{

if(n[i][j]==n[i+1][j]||n[i][j]==n[i-1][j])

count++;

}

}

return count0?0:1;

}

void math(int n[][SIZE],char c)

{

switch(c)

{

case ‘w’:tow(n);break;

case ‘a’:toa(n);break;

case ‘s’:tos(n);break;

case ‘d’:tod(n);break;

default :;

}

}

void tow(int n[][SIZE])

{

int i,j,a;

int m[SIZE];

for(a=0;aSIZE;a++)

m[a]=0;

for(j=0;jSIZE;j++)

{

for(a=0;aSIZE;a++)

{

for(i=0;iSIZE-1;i++)

{

if(n[i][j]==0)

{

n[i][j]=n[i+1][j];

n[i+1][j]=0;

}

}

}

}

for(j=0;jSIZE;j++)

{

for(a=0,i=0;iSIZE;i++)

{

if(n[i][j]!=n[i+1][j]n[i][j]!=0||n[i][j]==2048)

{

m[a++]=n[i][j];

n[i][j]=0;

}

else if(n[i][j]==n[i+1][j])

{

m[a++]=n[i][j]+n[i+1][j];

score+=m[a-1];

n[i][j]=0,n[i+1][j]=0;

}

}

for(i=0;iSIZE;i++)

{

n[i][j]=m[i];

m[i]=0;

}

}

}

void toa(int n[][SIZE])

{

int i,j,a;

int m[SIZE];

for(a=0;aSIZE;a++)

m[a]=0;

for(i=0;iSIZE;i++)

{

for(a=0;aSIZE;a++)

{

for(j=0;jSIZE-1;j++)

{

if(n[i][j]==0)

{

n[i][j]=n[i][j+1];

n[i][j+1]=0;

}

}

}

}

for(i=0;iSIZE;i++)

{

for(a=0,j=0;jSIZE;j++)

{

if(n[i][j]!=n[i][j+1]n[i][j]!=0||n[i][j]==2048)

{

m[a++]=n[i][j];

n[i][j]=0;

}

else if(n[i][j]==n[i][j+1])

{

m[a++]=n[i][j]+n[i][j+1];

score+=m[a-1];

n[i][j]=0,n[i][j+1]=0;

}

}

for(j=0;jSIZE;j++)

{

n[i][j]=m[j];

m[j]=0;

}

}

}

void tos(int n[][SIZE])

{

int i,j,a;

int m[SIZE];

for(a=0;aSIZE;a++)

m[a]=0;

for(j=SIZE-1;j=0;j–)

{

for(a=SIZE-1;a=0;a–)

{

for(i=SIZE-1;i0;i–)

{

if(n[i][j]==0)

{

n[i][j]=n[i-1][j];

n[i-1][j]=0;

}

}

}

}

for(j=SIZE-1;j=0;j–)

{

for(a=SIZE-1,i=SIZE-1;i=0;i–)

{

if(n[i][j]!=n[i-1][j]n[i][j]!=0||n[i][j]==2048)

{

m[a–]=n[i][j];

n[i][j]=0;

}

else if(n[i][j]==n[i-1][j])

{

m[a–]=n[i][j]+n[i-1][j];

score+=m[a+1];

n[i][j]=0,n[i-1][j]=0;

}

}

for(i=SIZE-1;i=0;i–)

{

n[i][j]=m[i];

m[i]=0;

}

}

}

void tod(int n[][SIZE])

{

int i,j,a;

int m[SIZE];

for(a=0;aSIZE;a++)

m[a]=0;

for(i=SIZE-1;i=0;i–)

{

for(a=SIZE-1;a=0;a–)

{

for(j=SIZE-1;j0;j–)

{

if(n[i][j]==0)

{

n[i][j]=n[i][j-1];

n[i][j-1]=0;

}

}

}

}

for(i=SIZE-1;i=0;i–)

{

for(a=SIZE-1,j=SIZE-1;j=0;j–)

{

if(n[i][j]!=n[i][j-1]n[i][j]!=0||n[i][j]==2048)

{

m[a–]=n[i][j];

n[i][j]=0;

}

else if(n[i][j]==n[i][j-1])

{

m[a–]=n[i][j]+n[i][j-1];

score+=m[a+1];

n[i][j]=0,n[i][j-1]=0;

}

}

for(j=SIZE-1;j=0;j–)

{

n[i][j]=m[j];

m[j]=0;

}

}

}

c語言編一個簡單的剪刀石頭布遊戲?

用1、2、3來表示剪刀、石頭、布,然後先用scanf函數讀取用戶的輸入,再用rand函數產生一個隨機數,最後進行比較就可以了。

#include

#include

#include

void

main()

{

int

com,user;

char

c;

srand((unsigned)time(null));

//初始化隨機數,如果沒有這條語句,每次運行電腦產生的隨機數序列都是一樣的

printf(“進入遊戲\n”);

do{

printf(“請出拳(1.剪刀、2.石頭、3.布):”);

scanf(“%d”,user);

com=rand()%3+1;

//產生1-3範圍內的隨機數

printf(“電腦出%s\n”,com==1?”剪刀”:com==2?”石頭”:”布”);

switch(com-user)

//用電腦產生的數和用戶輸入的數的差值來判斷勝負

{

case

0:

printf(“平手\n”);

break;

case

1:

case

-2:

printf(“電腦贏了\n”);

break;

case

-1:

case

2:

printf(“你贏了\n”);

}

printf(“繼續遊戲按y鍵、其它鍵退出”);

getchar();

c=getchar();

}while(c==’y’

||

c==’y’);

printf(“已經退出遊戲”);

}

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/258030.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-15 12:47
下一篇 2024-12-15 12:48

相關推薦

  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智能、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • 為什麼不用Python開發遊戲

    Python是一種高級編程語言,擁有簡單易學、代碼簡潔等優點。同時,Python也是一種多用途的語言,可以用於Web開發、數據分析以及機器學習等領域。然而,對於遊戲開發領域,Pyt…

    編程 2025-04-29
  • Python程序文件的拓展

    Python是一門功能豐富、易於學習、可讀性高的編程語言。Python程序文件通常以.py為文件拓展名,被廣泛應用於各種領域,包括Web開發、機器學習、科學計算等。為了更好地發揮P…

    編程 2025-04-29
  • AES加密解密算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES算法,並對實現過程進…

    編程 2025-04-29
  • Python簡單數學計算

    本文將從多個方面介紹Python的簡單數學計算,包括基礎運算符、函數、庫以及實際應用場景。 一、基礎運算符 Python提供了基礎的算術運算符,包括加(+)、減(-)、乘(*)、除…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演着非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • Python購物車程序

    Python購物車程序是一款基於Python編程語言開發的程序,可以實現購物車的相關功能,包括商品的添加、購買、刪除、統計等。 一、添加商品 添加商品是購物車程序的基礎功能之一,用…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29

發表回復

登錄後才能評論