秋叶原 && Mike || 麦克

比你优秀的人往往比你更努力!!!!

Go语言图形界面开发:Go版GTK

本人录制的Go入门视频 go语言开发实战:https://pan.baidu.com/s/1bqOR9qZ Go语言GUI编程:https://pan.baidu.com/s/13yoUhqEUyrT_9bpi7K0rYQ 初识GTK 01、GUI概述 02、GTK简介 03、环境搭建...

2018-02-08 21:17:27

阅读数 248801

评论数 14

Go入门教程

本人录制的Go入门视频 go语言开发实战:https://pan.baidu.com/s/1bqOR9qZ Go语言GUI编程:https://pan.baidu.com/s/13yoUhqEUyrT_9bpi7K0rYQ 基础编程 01、Go语言介绍 02、环境搭建 03、第一个Go...

2018-01-19 10:06:11

阅读数 125382

评论数 3

Go语言版黑白棋(十一):机器落子

功能说明 机器为白子。 机器优先在4个角落落子,如果这4个位置不能吃子,则落在能吃子最多的位置。 示例代码 package main import ( "fmt" "os" &...

2018-02-11 12:51:16

阅读数 4487

评论数 0

Go语言版黑白棋(十):棋子个数统计、胜负判断

功能说明 增加棋子个数统计、胜负判断功能,游戏结束后可选择继续游戏。 示例代码 package main import ( "fmt" "os" "strconv&...

2018-02-11 12:46:31

阅读数 1243

评论数 0

Go语言版黑白棋(九):吃子

功能说明 增加吃子规则算法。 在一个空格新落下一个棋子,并且翻转对手一个或多个棋子,落子必须要吃子。 原理说明 示例代码 package main import ( "fmt" "os&q...

2018-02-11 12:40:13

阅读数 2452

评论数 0

Go语言版黑白棋(八):倒计时

功能说明 通过定时器实现倒计时功能,时间为20s,时间到后,如果没有落子,让对方下。 示例代码 package main import ( "fmt" "os" "st...

2018-02-11 12:26:22

阅读数 999

评论数 0

Go语言版黑白棋(七):初始化棋子、改变角色

功能说明 启动程序时,棋盘默认有黑白棋各2枚,落子时,黑白子交替下(角色切换) 原理说明 示例代码 package main import ( "fmt" "os" &am...

2018-02-11 11:42:49

阅读数 1713

评论数 0

Go语言版黑白棋(六):落子

功能说明 鼠标点击棋盘方格,落子。需要使用鼠标事件,棋子通过绘图事件画的。 原理说明 通过二维数组标志棋盘: 示例代码 package main import ( "fmt" "os&quot...

2018-02-11 00:39:26

阅读数 2821

评论数 0

Go语言版黑白棋(五):黑白子提示闪烁效果

功能说明 通过定时器,实现黑白子提示闪烁效果。大致流程是这样,定时器每隔500毫秒产生一次信号,调用其处理函数,函数里做这样的事情,如果image原来是显示的,则隐藏,原来是隐藏的,则显示。 示例代码 package main import ( "fmt&...

2018-02-11 00:22:04

阅读数 2118

评论数 0

Go语言版黑白棋(四):界面其它设计

功能说明 界面上增加3个标签,分别用于显示黑白子棋子个数,还有一个用于显示倒计时的时间。 还增加2个图片控件,用于提示该谁落子(当前该黑子下,还是白子下)。 glade界面设计 示例代码 package main import...

2018-02-11 00:16:13

阅读数 2335

评论数 0

Go语言版黑白棋(三):背景图、最小化、关闭窗口

功能说明 设置一张背景图,增加2个按钮:最小化、关闭窗口。 glade界面设计 示例代码 package main import ( "fmt" "os" &a...

2018-02-11 00:09:35

阅读数 1279

评论数 0

Go语言版黑白棋(二):无边框窗口实现

功能说明 需要实现功能为,给窗口去表框,却可以通过鼠标实现移动。 glade界面设计 示例代码 package main import ( "fmt" "os" &quot...

2018-02-11 00:04:03

阅读数 1668

评论数 1

Go语言版黑白棋(一):游戏说明

1 界面参考 图片资源下载:https://pan.baidu.com/s/1i6TyX5V 2 游戏说明 棋盘为8×8的方格布局,开局时在棋盘正中有摆好的四枚棋子,黑白各2枚,交叉放置,由执黑棋的一方先落子,双方交替下子,棋子落在方格内,一局游戏结束后双方更换执子颜色。 合法的棋...

2018-02-10 23:54:54

阅读数 2259

评论数 0

Go版GTK:常用事件—大小改变事件

当窗口初始化,被移动或拉伸时,会触发大小改变事件。 事件标识: 事件标识 触发条件 “configure_event” 窗口大小改变时触发 示例代码: package main import ( "fmt"...

2018-02-08 20:19:23

阅读数 4857

评论数 0

Go版GTK:常用事件—绘图事件

GTK界面只要有图片的地方,其底层实际上是通过绘图实现的。绘图实际上也是事件的一种,GTK中,绘图事件也叫曝光事件。绘图的操作需要放在事件回调函数里。 1 绘图触发条件 绘图时所触发的信号:expose-event。只要触发曝光事件信号”expose-event”,就会自动调用所连接的回调...

2018-02-08 17:04:59

阅读数 7246

评论数 0

Go版GTK:常用事件—键盘事件

事件标识: 事件标识 触发条件 “key-press-event” 键盘按下时触发 “key-release-event” 键盘抬起时触发 示例代码: package main import ( "fmt&...

2018-02-08 11:40:22

阅读数 5390

评论数 0

Go版GTK:鼠标事件应用—窗口移动

创建窗口时,如果指定类型为弹出类型,即为无边框窗口,这时候,无法通过边框移动窗口,这时可以借助鼠标点击、移动事件实现窗口的移动。 坐标说明: 移动坐标说明: 示例代码: package main import ( // "fmt"...

2018-02-07 20:57:03

阅读数 5326

评论数 0

Go版GTK:常用事件—鼠标事件

鼠标事件,可以理解为操作鼠标的动作。对于窗口而言,用户操作鼠标,窗口检测到鼠标的操作( 产生一个信号 ),然后去做相应处理( 调用其规定的回调函数 ),即为鼠标事件。 窗口默认不捕获鼠标的操作,需要手动添加让其捕获: //添加鼠标按下事件 //BUTTON_PRESS_MA...

2018-02-07 18:40:50

阅读数 4866

评论数 0

Go版GTK:常用控件—对话框

glade设计如下: 示例代码: package main import ( "fmt" "os" "github.com/mattn/go-gtk/gtk&q...

2018-02-07 13:05:49

阅读数 5543

评论数 1

Go版GTK:定时器

定时器在应用编程里用得很广,我们手机里的闹钟,幻灯片播放图片等应用都用到定时器。定时器,每隔一段时间干一件事(程序里表现为调用一个函数),像闹钟,每隔一天响一次。 1 核心API说明 import "github.com/mattn/go-gtk/glib&q...

2018-02-06 23:29:52

阅读数 3792

评论数 1

提示
确定要删除当前文章?
取消 删除