基于GTK 的坦克大战设计
2015-03-16吴腾郭松
吴腾 郭松
摘要:该文设计主要是基于Linux环境下的GTK版的坦克大战,该文主要论述在Linux环境的下,使用GTK在游戏中实现坦克的移动、敌我识别,碰撞检测、坦克相互摧毁等功能。编辑工具为Eclipse。
关键词:Linux;GTK;Eclipse
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)04-0092-02
Abstract:The design of this article is the Battle City mainly based on GTK version of the Linux environment. This article discusses that in the Linux environment, we use GTK to realize the tanks movement, IFF, collision detection, mutual destruction and other functions. we use the Eclipse edit programs.
Key words: Linux; GTK; Eclipse
1 Linux系统的介绍
在信息技术中,操作是一个极其重要的组成部分,而且是公众讨论的一个重点,市面出现了许多的操作系统例如Windows,IOS, UNIX 等,毫无例外,这些操作系统都是收费系统。相较于这些系统Linux操作是一个免费,开源的操作系统,而且Linux结构相对简单,且任何人都可以物联网下载Linux的源代码进行研究。
Linux现在被上百万的用户(或者更多)下载,进行各种科学研究或者家庭应用。无论是相对简单的手表中的微型操作系统,还是各种大型服务器,Linux都可以大显身手。而且这些都使得Linux在各种应用得到检验,随着信息技术的发展,各种硬件软件推陈出新,Linux的发展也是日新月异,Linux的源代码的适用性也在不断的增强。
本文主要是在Linux环境下,运用GTK工具实现坦克的移动,相互击毁,敌我识别等功能。
2 GTK的介绍和配置
我们要清楚两个概念,GIMP 和GTK。GIMP(GNU Image Manipulation Program,GNU图像处理程序)是基于Linux 平台,能与Photoshop 相媲美的图像处理软件;GTK(GIMP Tool Kit,GIMP 工具包)最初是GIMP 的专用开发库,后来发展为Linux 下开发图形界面应用程序的主流开发工具之一,备受开源软件开发者瞩目。
CTK+2.0于2002发布,它是一款在Linux环境下,采用C语言设计的编程工具,当人们使用该工具的时候,需要对C语言十分熟悉,要熟练使用Linux 命令和GNOME、KDE等桌面环境操作,运用LINUX 下常用的C语言编译器GCC,编译C语言程序等。
在发布 GTK+2.0软件包同时还发布了GLib2.0、ATK1.0 和Pango1.0 这3个与其相关的程序库,这些构成了GNOME2 桌面环境的基础。
GLib2.0是一个以C 语言编写的底层核心库,是GTK+2.0 和GNOME 的基石。它提供数据结构的C语言接口和运行时函数的接口,如事件循环、线程、动态调用和对象系统等。是一个轻量级的实用性非常强的程序库软件包。
Pango1.0 是一个重在国际化的布局和正文翻译库,它为GTK+2.0 提供核心正文格式化、窗口和字体操作。
ATK1.0 提供友好的界面集,在ATK 界面的支持下,应用程序或工具软件可以使用其他输入设备。
安装完相关的安装包后,我们需要在Eclipse中配置相应的动态链接库:`pkg-config --cflags --libs gtk+-2.0`
3 游戏设计思路
本文主要运用的是链表结构体等知识,游戏中用到的导弹,坦克,墙等的属性都用结构体来实现,而且导弹,坦克的运动运用的是链表遍历的知识。在游戏中,墙是静止的,导弹是不断运动的,当导弹击中坦克或者不同墙,则产生不同的效果,击中砖墙导弹和墙同时消失,击中钢墙导弹消失,击中水面,草丛,导弹穿墙而过。对于坦克,钢墙、砖墙和水面坦克是不能越过的,草丛则是可以穿越的。核心是思想通过是操纵容器的相关控件进行产生,移动,销毁。
6 实验小结
通过本实验,使我对链表,结构体等C语言的相关知识的理解进一步加深,同时加强了对CTK等图形用户编程的工具的运用,使自己的对计算机语言的运用进一步加深,同时增强自己的实践能力。
参考文献:
[1] 杨涛.Linux管理员指南[M].北京:机械工业出版社,2001.
[2] Richard Petersen .Linux 管理员指南[M].北京:北京希望电子出版社,2002.
[3] 蒋先华.校园网络组建与应用[M].北京:科学出版社,2003.
[4] 贾文峰, 白琳.构建基于Intarnet 的企业信息系统[J].洛阳大学学报,2001, 16(4).
[5] 陈明.软件工程学教程[M].北京:科学出版社,2002.