红帽linux怎么查看小游戏,在Linux下通过gtk做一个简单的小游戏(猜拳)

#include

void callback1(GtkButton*button,gpointer user_data);void callback2(GtkButton*button,gpointer user_data);void callback3(GtkButton*button,gpointer user_data);void close_window(GtkWidget *widget, GdkEvent *event, gpointer data)

{

gtk_main_quit();

}

GtkWidget*label_title;

GtkWidget*label_man;

GtkWidget*label_vs;

GtkWidget*label_vs_s;

GtkWidget*label_me;

GtkWidget*label_me_s;

GtkWidget*label_men_s;//GtkWidget *table;

GtkWidget*vbox_me_s;int main(int argc, char *argv[])

{//初始化

gtk_init(&argc,&argv);//创建顶层窗口

GtkWidget *window =gtk_window_new(GTK_WINDOW_TOPLEVEL);//创建按钮,文本信息为"window"

gtk_window_set_title(GTK_WINDOW(window), "table");

g_signal_connect(window,"destroy", G_CALLBACK(gtk_main_quit), NULL);

gtk_container_set_border_width(GTK_CONTAINER(window),10);//创建布局

GtkWidget *table = gtk_table_new(4, 4, TRUE); 容器加入窗口

gtk_container_add(GTK_CONTAINER(window), table);

label_title= gtk_label_new("猜拳游戏");

gtk_table_attach_defaults(GTK_TABLE(table), label_title,1, 2, 0, 1);

label_man= gtk_label_new("机器人");

gtk_table_attach_defaults(GTK_TABLE(table), label_man,0, 1, 1, 2);

label_vs= gtk_label_new("VS");

gtk_table_attach_defaults(GTK_TABLE(table), label_vs,1, 2, 1, 2);

label_me= gtk_label_new("自己");

gtk_table_attach_defaults(GTK_TABLE(table), label_me,2, 3, 1, 2);//设置剪刀选项

GtkWidget *vbox_men_s = gtk_vbox_new(TRUE,20);

label_men_s= gtk_label_new("");

gtk_container_add(GTK_CONTAINER(vbox_men_s),label_men_s);

gtk_table_attach_defaults(GTK_TABLE(table), vbox_men_s,0, 1, 2, 3);//设置输赢选项

GtkWidget *vbox_vs = gtk_vbox_new(TRUE,20);

label_vs_s= gtk_label_new("");

gtk_container_add(GTK_CONTAINER(vbox_vs),label_vs_s);

gtk_table_attach_defaults(GTK_TABLE(table), vbox_vs,1, 2, 2, 3);//设置石头选项

GtkWidget *vbox_me_s = gtk_vbox_new(TRUE,20);/****/g_signal_connect(vbox_me_s,"pressed",G_CALLBACK(callback1), NULL);

g_signal_connect(vbox_me_s,"pressed",G_CALLBACK(callback2), NULL);

g_signal_connect(vbox_me_s,"pressed",G_CALLBACK(callback3), NULL);/****/label_me_s= gtk_label_new("");

gtk_container_add(GTK_CONTAINER(vbox_me_s),label_me_s);

gtk_table_attach_defaults(GTK_TABLE(table), vbox_me_s,2, 3, 2, 3);

GtkWidget*button_jd = gtk_button_new_with_label("剪刀");

g_signal_connect(button_jd,"pressed",G_CALLBACK(callback2), NULL);

gtk_table_attach_defaults(GTK_TABLE(table), button_jd,1, 2, 3, 4);

GtkWidget*button_st = gtk_button_new_with_label("石头");

g_signal_connect(button_st,"pressed",G_CALLBACK(callback1), NULL);

gtk_table_attach_defaults(GTK_TABLE(table), button_st,0, 1, 3, 4);

GtkWidget*button_bu = gtk_button_new_with_label("布");

g_signal_connect(button_bu,"pressed",G_CALLBACK(callback3), NULL);

gtk_table_attach_defaults(GTK_TABLE(table), button_bu,2, 3, 3, 4);

gtk_widget_show_all(window);

gtk_main();return 0;

}int i=0,j=0,k=0;void callback1(GtkButton*button,gpointer user_data)

{

i++;

j++;char haha[100] = "";char hehe[100] = "";char hihi[100] = "";

sprintf(haha,"石头",i);

gtk_label_set_text(GTK_LABEL(label_me_s),haha);int a = rand()%3+1;if(a==1){

sprintf(hehe,"石头",j);

gtk_label_set_text(GTK_LABEL(label_men_s),hehe);

sprintf(hihi,"平局",k);

gtk_label_set_text(GTK_LABEL(label_vs_s),hihi);

}else if(a==2){

sprintf(hehe,"剪刀",j);

gtk_label_set_text(GTK_LABEL(label_men_s),hehe);

sprintf(hihi,"赢",k);

gtk_label_set_text(GTK_LABEL(label_vs_s),hihi);

}else{

sprintf(hehe,"布",j);

gtk_label_set_text(GTK_LABEL(label_men_s),hehe);

sprintf(hihi,"输",k);

gtk_label_set_text(GTK_LABEL(label_vs_s),hihi);

}

}void callback2(GtkButton*button,gpointer user_data)

{

i++;

j++;char haha[100] = "";char hehe[100] = "";char hihi[100] = "";

sprintf(haha,"剪刀",i);

gtk_label_set_text(GTK_LABEL(label_me_s),haha);int a = rand()%3+1;if(a==1){

sprintf(hehe,"石头",j);

gtk_label_set_text(GTK_LABEL(label_men_s),hehe);

sprintf(hihi,"输",k);

gtk_label_set_text(GTK_LABEL(label_vs_s),hihi);

}else if(a==2){

sprintf(hehe,"剪刀",j);

gtk_label_set_text(GTK_LABEL(label_men_s),hehe);

sprintf(hihi,"平局",k);

gtk_label_set_text(GTK_LABEL(label_vs_s),hihi);

}else{

sprintf(hehe,"布",j);

gtk_label_set_text(GTK_LABEL(label_men_s),hehe);

sprintf(hihi,"赢",k);

gtk_label_set_text(GTK_LABEL(label_vs_s),hihi);

}

}void callback3(GtkButton*button,gpointer user_data)

{

i++;

j++;char haha[100] = "";char hehe[100] = "";char hihi[100] = "";

sprintf(haha,"布",i);

gtk_label_set_text(GTK_LABEL(label_me_s),haha);int a = rand()%3+1;if(a==1){

sprintf(hehe,"石头",j);

gtk_label_set_text(GTK_LABEL(label_men_s),hehe);

sprintf(hihi,"赢",k);

gtk_label_set_text(GTK_LABEL(label_vs_s),hihi);

}else if(a==2){

sprintf(hehe,"剪刀",j);

gtk_label_set_text(GTK_LABEL(label_men_s),hehe);

sprintf(hihi,"输",k);

gtk_label_set_text(GTK_LABEL(label_vs_s),hihi);

}else{

sprintf(hehe,"布",j);

gtk_label_set_text(GTK_LABEL(label_men_s),hehe);

sprintf(hihi,"平局",k);

gtk_label_set_text(GTK_LABEL(label_vs_s),hihi);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值