91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 6KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-05-10
  • 語言: 其他
  • 標簽: 貪吃蛇??gtk??linux??c??

資源簡介

Linux下Gtk開發(fā)的貪吃蛇游戲: 1. 可用鼠標或鍵盤操作移動蛇 2. 蛇會自動移動 3. 可暫停和重新開始 4. 積分并計時,給出積分計時比

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
#include?
#include?
#include?“snake.h“
#include?“wall.h“

#define?OVER_STRING?“Game?Over!\nPress?Start?again.“

#define?UP_KEY?????65362
#define?DOWN_KEY???65364
#define?LEFT_KEY???65361
#define?RIGHT_KEY??65363
#define?SPACE_KEY??32
#define?ENTER_KEY??65293

GtkWidget?*score_label;
GtkWidget?*time_label;
GtkWidget?*ratio_label;

static?guint?id?=?0;
static?time_t?time_start?=?0;
static?time_t?time_end?=?0;
static?time_t?pause_time?=?0;

/////////////////////////////////////////////
/////////////////////////////////////////////
static?void?
destroy_cb(GtkWidget?*widgetgpointer?data)
{
g_print(“=======>>in?destroy_cb()\n“);
wall_t?*wall?=?(wall_t*)data;
g_return_if_fail(wall?!=?NULL);

snake_t?*snake?=?wall->snake;

if?(snake)
{
snake_destroy(snake);
snake?=?NULL;
}

if?(wall)
{
wall_destroy(wall);
wall?=?NULL;
}
g_print(“=======>>out?destroy_cb()\n“);
gtk_main_quit();
}

////////////////////button?press?call?back
static?void?
up_button_press_cb(GtkButton?*button?gpointer???user_data)
{
g_print(“up\n“);

wall_t?*wall?=?(wall_t*)user_data;

if?(wall->snake->direction?!=?DOWN)
wall->snake->direction?=?UP;
}

static?void?
down_button_press_cb(GtkButton?*button?gpointer???user_data)
{
g_print(“Down\n“); ?

wall_t?*wall?=?(wall_t*)user_data;
if?(wall->snake->direction?!=?UP) ??
wall->snake->direction?=?DOWN;
}

static?void?
left_button_press_cb(GtkButton?*button?gpointer???user_data)
{
g_print(“Left\n“);

wall_t?*wall?=?(wall_t*)user_data;
if?(wall->snake->direction?!=?RIGHT)
wall->snake->direction?=?LEFT;
}

static?void?
right_button_press_cb(GtkButton?*button?gpointer???user_data)
{
g_print(“Right\n“);??

wall_t?*wall?=?(wall_t*)user_data;
if?(wall->snake->direction?!=?LEFT) ???
? wall->snake->direction?=?RIGHT;
}
////////////////////////////////

static?gboolean?
draw_expose_cb(GtkWidget?*daGdkEventExpose?*eventgpointer?data???)
{
g_print(“=======>>in?draw_expose_cb()\n“);

wall_t?*wall?=?(wall_t*)data;
wall_snake_food_draw(wall);
wall_wall_draw(wall->draw);

g_print(“=======>>out?draw_expose_cb()\n“);

return?TRUE;
}

static?gboolean?
position_update(gpointer?data)?
{
g_print(“=======>>in?position_update()\n“);

gboolean?ret?=?TRUE;
char?score[10];
char?times[10];
char?ratio[10];
int?int_score?=?0;
int?int_times?=?0;
double?double_ratio?=?0.0;

GdkGC?*gc_blue;
GdkColor?color;
PangoLayout??*string_layout?=?NULL;

GDK_THREADS_ENTER();

wall_t?*wall?=?(wall_t*)data;
snake_t?*snake?=?wall->snake;

gc_blue?=?gdk_gc_new(wall->draw->window);
color.red?=?0;
color.green?=?0;
color.blue?=?65535;
gdk_gc_set_rgb_fg_color(gc_blue&color);

if?(!wall_snake_head_tail_update(wall))
{
string_layout?=?gtk_widget_create_pango_layout(wall->draw?OVER_STRING);
gdk_draw_layout(wall->draw->window?gc_blue?DRAW_SIZE_WIDTH/2-BUTTON_SIZE?
DRAW_SIZE_HEIGHT/2-BUTTON_SIZE?string_layout);
ret

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件????????624??2009-09-22?13:38??新建文件夾\snake.h

?????文件????????930??2009-09-22?20:27??新建文件夾\wall.h

?????文件???????9281??2009-09-22?21:17??新建文件夾\main.c

?????文件???????1277??2009-09-22?20:27??新建文件夾\snake.c

?????文件???????6679??2009-09-22?20:26??新建文件夾\wall.c

?????文件????????680??2009-09-22?22:37??新建文件夾\Makefile

?????目錄??????????0??2009-09-22?22:36??新建文件夾

-----------?---------??----------?-----??----

????????????????19471????????????????????7


評論

共有 條評論