當前位置:編程學習大全網 - 編程語言 - 用C語言編程撲克牌搓點遊戲,急!

用C語言編程撲克牌搓點遊戲,急!

給妳修改好了。20分,有點少了,呵呵。

/*遊戲:撲克牌搓點遊戲

規則:您將隨機抽取其中兩張和電腦進行對抗,

2張牌相加,個位大的勝出,其中對子比單牌大,

若都是對子,對子大的勝出。

您可以根據提示下註,起始資金均為1000元,

當壹方財產小於0時,宣布破產,另壹方勝出。

作者:於吉祥

日期:20090220

*/

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

#define MAX_M 1000

enum colour

{

HEI = 0,

HONG,

MEI,

FANG,

};

void display(int number , int sign)

{

printf("%s\n","╭——╮");

switch(number)

{

case 0:

printf("%s\n","│0 │");

break;

case 1:

printf("%s\n","│A │");

break;

case 2:

printf("%s\n","│2 │");

break;

case 3:

printf("%s\n","│3 │");

break;

case 4:

printf("%s\n","│4 │");

break;

case 5:

printf("%s\n","│5 │");

break;

case 6:

printf("%s\n","│6 │");

break;

case 7:

printf("%s\n","│7 │");

break;

case 8:

printf("%s\n","│8 │");

break;

case 9:

printf("%s\n","│9 │");

break;

case 10:

printf("%s\n","│10 │");

break;

case 11:

printf("%s\n","│J │");

break;

case 12:

printf("%s\n","│Q │");

break;

case 13:

printf("%s\n","│K │");

break;

default:

printf("error");

break;

}

// printf("%s\n","│ │");

printf("%s","│ ");

switch(sign)

{

case HEI:

printf("%c",06);

break;

case HONG:

printf("%c",03);

break;

case MEI:

printf("%c",05);

break;

case FANG:

printf("%c",04);

break;

default:

break;

}

printf("%s\n"," │");

printf("%s\n","│ │");

printf("%s\n","╰——╯");

}

int compare(int x[] , int y[])

{

int sign,a,b;

if((x[0] == x[1])&&(y[0] == y[1]))

{

if(x[0] == y[0])

sign = 0;

else if(x[0] > y[0])

sign = 1;

else

sign = -1;

}

else if(x[0] == x[1])

sign = 1;

else if(y[0] == y[1])

sign = -1;

else

{

a = (x[0]+x[1])%10;

b = (y[0]+y[1])%10;

if(a == b)

sign = 0;

else if(a > b)

sign = 1;

else

sign = -1;

}

return sign;

}

void main()

{

int i,chip;

int Per[2],Com[2];

int Mon_Per = MAX_M , Mon_Com = MAX_M;

int Colour_Per[2] , Colour_Com[2];

printf("撲克牌搓點遊戲\n");

printf("---------------\n");

system("pause");

while(1)

{

system("cls");

if(Mon_Per <=0)

{

printf("您已身無分文,遊戲退出!");

break;

}

if(Mon_Com <=0)

{

printf("電腦已經被妳贏光了,恭喜妳獲勝!");

break;

}

srand( time(NULL) );

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

{

Per[i] = rand()%13+1;

Colour_Per[i] = rand()%4;

Com[i] = rand()%13+1;

Colour_Com[i] = rand()%4;

}

printf("當前余額:妳(%d),電腦(%d)\n",Mon_Per,Mon_Com);

// printf("牌已經抽取,妳抽到的牌為:%d %d\n",Per[0],Per[1]);

printf("牌已經抽取,妳抽到的牌為:\n");

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

display(Per[i],Colour_Per[i]);

printf("請下註:");

RET: scanf("%d",&chip);

if(chip>500)

{

printf("最大可下註為500,請重新下註!\n");

goto RET;

}

Mon_Per -= chip;

Mon_Com -= chip;

if(Mon_Per < 0)

{

printf("您的余額不足,請重新下註!");

Mon_Per += chip;

Mon_Com += chip;

goto RET;

}

if(Mon_Com < 0)

{

printf("電腦余額不足,請重新下註!");

Mon_Per += chip;

Mon_Com += chip;

goto RET;

}

switch(compare(Per,Com))

{

case 0:

printf("平局!");

Mon_Per += chip;

Mon_Com += chip;

break;

case 1:

printf("妳贏了!");

Mon_Per += 2*chip;

break;

case -1:

printf("電腦贏了!");

Mon_Com += 2*chip;

break;

default:

printf("系統出錯!");

break;

}

// printf("電腦抽到的牌為:%d %d\n",Com[0],Com[1]);

printf("電腦抽到的牌為:\n");

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

display(Com[i],Colour_Com[i]);

system("pause");

}

printf("遊戲結束!");

system("pause");

}

  • 上一篇:西門子編程中ai是什麽意思
  • 下一篇:5a快充相當於多少w
  • copyright 2024編程學習大全網