C指针原理(72)-GLIB

来源:互联网 发布:2016淘宝店开店流程 编辑:程序博客网 时间:2024/05/22 15:11

二、21点游戏

1、游戏规则:

随机抽取1-11个数字,每次玩家和电脑各抽1次,玩家和电脑可以宣布不再抽数字,所有数字之和超过21点者输,在21点以内,大者胜利。



(1)欢迎玩家

使用gchar字符型来存储玩家姓名。

typedef char   gchar;

编写代码如下:

#include <glib.h>

#include <stdio.h>

#include <locale.h>

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 % 

麦好的AI乐园博客所有内容是原创,如果转载请注明来源

http://blog.csdn.net/myhaspl/


(2)引入随机数

使用glib的随机数函数产生随机数

 

gamerand = g_rand_new();

rndnumber=g_rand_int_range(gamerand,1,11);

程序如下:

#include <glib.h>

#include <stdio.h>

#include <locale.h>

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 % 


1 0