二、21點游戲
1、游戲規則:
隨機抽取1-11個數字,每次玩家和電腦各抽1次,玩家和電腦可以宣布不再抽數字,所有數字之和超過21點者輸,在21點以內,大者勝利。
(1)歡迎玩家
使用gchar字符型來存儲玩家姓名。
typedef char gchar;
編寫代碼如下:
#include
#include
#include
int main(int argc, char *argv[]){
setlocale(LC_ALL,"");
gchar gamename[10];
g_print("您叫什麼名字?\n");
scanf("%s",&gamename);
g_print("歡迎您,%s,這裡是21點游戲\n",gamename);
return 0;
}
dp@dp:~/gliblearn % gcc `pkg-config --cflags --libs glib-2.0 gthread-2.0` 1.c -o mytest
dp@dp:~/gliblearn % ./mytest
您叫什麼名字?
麥好
歡迎您,麥好,這裡是21點游戲!
dp@dp:~/gliblearn %
(2)引入隨機數
使用glib的隨機數函數產生隨機數
gamerand = g_rand_new();
rndnumber=g_rand_int_range(gamerand,1,11);
程序如下:
#include
#include
#include
int main(int argc, char *argv[]){
setlocale(LC_ALL,"");
GRand *gamerand;
gchar gamename[10];
g_print("您叫什麼名字?\n");
scanf("%s",&gamename);
g_print("歡迎您,%s,這裡是21點游戲\n",gamename);
g_print("%s,請按鍵抽數字!\n",gamename);
getchar();
getchar();
gint rndnumber;
gamerand = g_rand_new();
rndnumber=g_rand_int_range(gamerand,1,11);
g_print("%s,您抽到的是:%d\n",gamename,rndnumber);
g_rand_free(gamerand);
return 0;
}
dp@dp:~/gliblearn % ./mytest
您叫什麼名字?
myhaspl
歡迎您,myhaspl,這裡是21點游戲
myhaspl,請按鍵抽數字!
myhaspl,您抽到的是:3
dp@dp:~/gliblearn %