c語言源碼遊戲,C語言小遊戲源碼

本文目錄一覽:

C語言掃雷遊戲源代碼

“掃雷”小遊戲C代碼

#includestdio.h

#includemath.h

#includetime.h

#includestdlib.h

main( )

{char a[102][102],b[102][102],c[102][102],w;

int i,j;  /*循環變量*/

int x,y,z[999];  /*雷的位置*/

int t,s;  /*標記*/

int m,n,lei;  /*計數*/

int u,v;  /*輸入*/

int hang,lie,ge,mo;  /*自定義變量*/

srand((int)time(NULL));  /*啟動隨機數發生器*/

leb1:  /*選擇模式*/

printf(“\n   請選擇模式:\n   1.標準  2.自定義\n”);

scanf(“%d”,mo);

if(mo==2)  /*若選擇自定義模式,要輸入三個參數*/

{do

{t=0; printf(“請輸入\n行數 列數 雷的個數\n”);

scanf(“%d%d%d”,hang,lie,ge);

if(hang2){printf(“行數太少\n”); t=1;}

if(hang100){printf(“行數太多\n”);t=1;}

if(lie2){printf(“列數太少\n”);t=1;}

if(lie100){printf(“列數太多\n”);t=1;}

if(ge1){printf(“至少要有一個雷\n”);t=1;}

if(ge=(hang*lie)){printf(“雷太多了\n”);t=1;}

}while(t==1);

}

else{hang=10,lie=10,ge=10;}  /*否則就是選擇了標準模式(默認參數)*/

for(i=1;i=ge;i=i+1)  /*確定雷的位置*/

{do

{t=0; z[i]=rand( )%(hang*lie);

for(j=1;ji;j=j+1){if(z[i]==z[j]) t=1;}

}while(t==1);

}

for(i=0;i=hang+1;i=i+1)  /*初始化a,b,c*/

{for(j=0;j=lie+1;j=j+1) {a[i][j]=’1′; b[i][j]=’1′; c[i][j]=’0′;} }

for(i=1;i=hang;i=i+1)

{for(j=1;j=lie;j=j+1) {a[i][j]=’+’;} }

for(i=1;i=ge;i=i+1)  /*把雷放入c*/

{x=z[i]/lie+1; y=z[i]%lie+1; c[x][y]=’#’;}

for(i=1;i=hang;i=i+1)  /*計算b中數字*/

{for(j=1;j=lie;j=j+1)

{m=48;

if(c[i-1][j-1]==’#’)m=m+1; if(c[i][j-1]==’#’)m=m+1;

if(c[i-1][j]==’#’)m=m+1;  if(c[i+1][j+1]==’#’)m=m+1;

if(c[i][j+1]==’#’)m=m+1;  if(c[i+1][j]==’#’)m=m+1;

if(c[i+1][j-1]==’#’)m=m+1; if(c[i-1][j+1]==’#’)m=m+1;

b[i][j]=m;

}

}

for(i=1;i=ge;i=i+1)  /*把雷放入b中*/

{x=z[i]/lie+1; y=z[i]%lie+1; b[x][y]=’#’;}

lei=ge;  /*以下是遊戲設計*/

do

{leb2:  /*輸出*/

system(“cls”);printf(“\n\n\n\n”);

printf(”    “);

for(i=1;i=lie;i=i+1)

{w=(i-1)/10+48; printf(“%c”,w);

w=(i-1)%10+48; printf(“%c  “,w);

}

printf(“\n   |”);

for(i=1;i=lie;i=i+1){printf(“—|”);}

printf(“\n”);

for(i=1;i=hang;i=i+1)

{w=(i-1)/10+48; printf(“%c”,w);

w=(i-1)%10+48; printf(“%c |”,w);

for(j=1;j=lie;j=j+1)

{if(a[i][j]==’0′)printf(”   |”);

else printf(” %c |”,a[i][j]);

}

if(i==2)printf(” 剩餘雷個數”);

if(i==3)printf(” %d”,lei);

printf(“\n   |”);

for(j=1;j=lie;j=j+1){printf(“—|”);}

printf(“\n”);

}

scanf(“%d%c%d”,u,w,v);  /*輸入*/

u=u+1,v=v+1;

if(w!=’#’a[u][v]==’@’)

goto leb2;

if(w==’#’)

{if(a[u][v]==’+’){a[u][v]=’@’; lei=lei-1;}

else if(a[u][v]==’@’){a[u][v]=’?’; lei=lei+1;}

else if(a[u][v]==’?’){a[u][v]=’+’;}

goto leb2;

}

a[u][v]=b[u][v];

leb3:  /*打開0區*/

t=0;

if(a[u][v]==’0′)

{for(i=1;i=hang;i=i+1)

{for(j=1;j=lie;j=j+1)

{s=0;

if(a[i-1][j-1]==’0′)s=1; if(a[i-1][j+1]==’0′)s=1;

if(a[i-1][j]==’0′)s=1;  if(a[i+1][j-1]==’0′)s=1;

if(a[i+1][j+1]==’0′)s=1; if(a[i+1][j]==’0′)s=1;

if(a[i][j-1]==’0′)s=1;  if(a[i][j+1]==’0′)s=1;

if(s==1)a[i][j]=b[i][j];

}

}

for(i=1;i=hang;i=i+1)

{for(j=lie;j=1;j=j-1)

{s=0;

if(a[i-1][j-1]==’0′)s=1; if(a[i-1][j+1]==’0′)s=1;

if(a[i-1][j]==’0′)s=1;  if(a[i+1][j-1]==’0′)s=1;

if(a[i+1][j+1]==’0′)s=1; if(a[i+1][j]==’0′)s=1;

if(a[i][j-1]==’0′)s=1;   if(a[i][j+1]==’0′)s=1;

if(s==1)a[i][j]=b[i][j];

}

}

for(i=hang;i=1;i=i-1)

{for(j=1;j=lie;j=j+1)

{s=0;

if(a[i-1][j-1]==’0′)s=1; if(a[i-1][j+1]==’0′)s=1;

if(a[i-1][j]==’0′)s=1;  if(a[i+1][j-1]==’0′)s=1;

if(a[i+1][j+1]==’0′)s=1; if(a[i+1][j]==’0′)s=1;

if(a[i][j-1]==’0′)s=1;  if(a[i][j+1]==’0′)s=1;

if(s==1)a[i][j]=b[i][j];

}

}

for(i=hang;i=1;i=i-1)

{for(j=lie;j=1;j=j-1)

{s=0;

if(a[i-1][j-1]==’0′)s=1; if(a[i-1][j+1]==’0′)s=1;

if(a[i-1][j]==’0′)s=1;  if(a[i+1][j-1]==’0′)s=1;

if(a[i+1][j+1]==’0′)s=1;if(a[i+1][j]==’0′)s=1;

if(a[i][j-1]==’0′)s=1;  if(a[i][j+1]==’0′)s=1;

if(s==1)a[i][j]=b[i][j];

}

}

for(i=1;i=hang;i=i+1)  /*檢測0區*/

{for(j=1;j=lie;j=j+1)

{if(a[i][j]==’0′)

{if(a[i-1][j-1]==’+’||a[i-1][j-1]==’@’||a[i-1][j-1]==’?’)t=1;

if(a[i-1][j+1]==’+’||a[i-1][j+1]==’@’||a[i-1][j+1]==’?’)t=1;

if(a[i+1][j-1]==’+’||a[i+1][j-1]==’@’||a[i+1][j-1]==’?’)t=1;

if(a[i+1][j+1]==’+’||a[i+1][j+1]==’@’||a[i+1][j+1]==’?’)t=1;

if(a[i+1][j]==’+’||a[i+1][j]==’@’||a[i+1][j]==’?’)t=1;

if(a[i][j+1]==’+’||a[i][j+1]==’@’||a[i][j+1]==’?’)t=1;

if(a[i][j-1]==’+’||a[i][j-1]==’@’||a[i][j-1]==’?’)t=1;

if(a[i-1][j]==’+’||a[i-1][j]==’@’||a[i-1][j]==’?’)t=1;

}

}

}

if(t==1)goto leb3;

}

n=0;  /*檢查結束*/

for(i=1;i=hang;i=i+1)

{for(j=1;j=lie;j=j+1)

{if(a[i][j]!=’+’a[i][j]!=’@’a[i][j]!=’?’)n=n+1;}

}

}

while(a[u][v]!=’#’n!=(hang*lie-ge));

for(i=1;i=ge;i=i+1)  /*遊戲結束*/

{x=z[i]/lie+1; y=z[i]%lie+1; a[x][y]=’#’; }

printf(”    “);

for(i=1;i=lie;i=i+1)

{w=(i-1)/10+48; printf(“%c”,w);

w=(i-1)%10+48; printf(“%c  “,w);

}

printf(“\n   |”);

for(i=1;i=lie;i=i+1){printf(“—|”);}

printf(“\n”);

for(i=1;i=hang;i=i+1)

{w=(i-1)/10+48; printf(“%c”,w);

w=(i-1)%10+48; printf(“%c |”,w);

for(j=1;j=lie;j=j+1)

{if(a[i][j]==’0′)printf(” |”);

else  printf(” %c |”,a[i][j]);

}

if(i==2)printf(” 剩餘雷個數”);

if(i==3)printf(” %d”,lei); printf(“\n   |”);

for(j=1;j=lie;j=j+1) {printf(“—|”);}

printf(“\n”);

}

if(n==(hang*lie-ge)) printf(“你成功了!\n”);

else printf(”    遊戲結束!\n”);

printf(”    重玩請輸入1\n”);

t=0;

scanf(“%d”,t);

if(t==1)goto leb1;

}

/*註:在DEV c++上運行通過。行號和列號都從0開始,比如要確定第0行第9列不是「雷」,就在0和9中間加入一個字母,可以輸入【0a9】三個字符再按回車鍵。3行7列不是雷,則輸入【3a7】回車;第8行第5列是雷,就輸入【8#5】回車,9行0列是雷則輸入【9#0】並回車*/

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語言編程小遊戲實現的超級瑪麗遊戲源碼

int game::GetCommand()

{

int c = 0;

if (GetAsyncKeyState(‘A’) 0x8000)

c |= CMD_LEFT;

if (GetAsyncKeyState(‘D’) 0x8000)

c |= CMD_RIGHT;

if ((GetAsyncKeyState(‘W’) 0x8000)||(GetAsyncKeyState(‘K’) 0x8000))

c |= CMD_UP;

if (GetAsyncKeyState(‘S’) 0x8000)

c |= CMD_DOWN;

if (GetAsyncKeyState(‘J’) 0x8000)

c |= CMD_SHOOT;

if (GetAsyncKeyState(VK_ESCAPE) 0x8000)

c |= CMD_ESC;

return c;

}

void game::left()

{

role.iframe*=-1;

role.turn=-1;

role.x-=STEP;

if(is_l_touch(1)==1)

role.x+=STEP;

if(role.x

role.x+=STEP;

}

void game::right()

{

role.iframe*=-1;

role.turn=1;

role.x+=STEP;

if(is_r_touch(1)==1)

role.x-=STEP;

if(role.xrole.xright(-xmap+role.x

{

role.x-=STEP;

xmapsky-=1;

xmap-=STEP;

}

}

void game::up()

{

mciSendString(“play mymusic4 from 0”, NULL, 0, NULL);

role.iframe*=-1;

v0=-sqrt(2*G*HIGH);

role.jump=1;

}

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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2025-01-06 15:17
下一篇 2025-01-06 15:17

相關推薦

  • 為什麼不用Python開發遊戲

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

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

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

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

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

    編程 2025-04-29
  • 雲智直聘 源碼分析

    本文將會對雲智直聘的源碼進行分析,包括前端頁面和後端代碼,幫助讀者了解其架構、技術實現以及對一些常見的問題進行解決。通過本文的閱讀,讀者將會了解到雲智直聘的特點、優勢以及不足之處,…

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

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

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • 使用Python製作遊戲代碼

    Python是一種高級編程語言,因其簡潔明了的代碼風格、易於學習和使用而備受青睞。Python已經成為遊戲製作的熱門選擇之一,可以通過Pygame、Panda3D等工具來實現遊戲制…

    編程 2025-04-29
  • Python按位運算符和C語言

    本文將從多個方面詳細闡述Python按位運算符和C語言的相關內容,並給出相應的代碼示例。 一、概述 Python是一種動態的、面向對象的編程語言,其按位運算符是用於按位操作的運算符…

    編程 2025-04-29
  • Python語言由荷蘭人為中心的全能編程開發工程師

    Python語言是一種高級語言,很多編程開發工程師都喜歡使用Python語言進行開發。Python語言的創始人是荷蘭人Guido van Rossum,他在1989年聖誕節期間開始…

    編程 2025-04-28
  • Python語言設計基礎第2版PDF

    Python語言設計基礎第2版PDF是一本介紹Python編程語言的經典教材。本篇文章將從多個方面對該教材進行詳細的闡述和介紹。 一、基礎知識 本教材中介紹了Python編程語言的…

    編程 2025-04-28

發表回復

登錄後才能評論