[color=blue]
中国银行河南修武支行
王安定
---- 作为成熟的操作系统,UNIX在重要的行业中有很广泛的应用;而做为传统重要部门广泛应用的操作系统,在实际的应用中,却都存在游戏软件少、游戏开发难度大等缺点。现在虽然推出了UNIX下的 X窗口,但因其应用的不广泛加上介绍功能的书籍少,使新手也很入手开发自己的游戏程序。本人在工作中从事的是UNIX操作系统,开发了一些实用的小程序。下面以自己所开发的一个小游戏来介绍一下在UNIX中如何入手开发一个游戏以及在UNIX下游戏开发的一些基本知识。由于本人水平有限、经验不足,文中难免会有不足及欠缺的地方,望朋友们指正。
---- 游戏名称:《UNIX下的俄罗斯方块》
---- 开发环境:SCO UNIX System V/386 Release 3.2 后经少量改动在SCO OpenServer 5.0及多种LINUX环境下编译通过
---- 开发语言:Microsoft's C compiler version 6
---- 开发方式:UNIX字符方式下用UNIX自带CURSES.H图形库开发
----
一、开发思路:
---- 一个好的游戏必须要有一个好的思路才会被广大的玩友们认同和接受。从许多方面来说,一个好的游戏归根到底就是有一个好的思路。俄罗斯方块作为大家常见的一种游戏,游戏的思路简单而有趣,以至于被许多游戏公司开发成不同的版本发行,游戏的基本思路如下:
---- 1 、单人游戏时:随机产生一个方块,用户使用键盘功能键操作方块,以合适的方式放入方块队列中。当某一行方块满时就消去这一行,显示用户所消行数及得分。机器中方块下落的速度会随得分的不同而改变。
---- 2 、联机对战:基本游戏思路同单人游戏,增加了对战功能。当多人进行对战时,如某玩家一次所消的方块行数大于二行,则把所消行数随机去掉一列后传给其它用户。在其它用户的界面上就可以看到从游戏界面底部一下子便增加了数行。
二、游戏的界面:
---- 在UNIX下,游戏的界面是一个令人头痛的问题。在字符方式下,无法完成各种精美的图形。好在我们所开发的游戏对界面要求不太高。因此,对于新手来说,我们可以用UNIX本身所带的CURSES.H库中几个简单的函数来完成我们的界面设计。
---- 1 、下面介绍几种常用的CURSES.H函数:
initscr() 初始化屏幕(必须有)
clear()、wclear() 清屏
newwin() 开一个新窗口
box() 在窗口边画一个框
mvprintw(int x,int y,char *,...)
类似于printf,不同之处是在窗口的 (x,y)位置显示信息
mvscanw(int,int,char *,...)在指定位置读信息
mvwaddstr() 在指定窗口的指定位置显示字符串
wstandout() 反相显示开始
wstandend() 反相显示结束
cbreak() 立即显示所接收到的字符
nocbreak() 接收到一个换行符后才显示所接收到的字符
echo() 显示所输入的字符
noecho() 不显示所输入的字符
delwin() 删除一个窗口
touchwin() 击活一个窗口
wrefresh() 刷新一个窗口
| 论坛热门帖子: | [lch203] 写得蛮好的linux学习笔记(10-21) [黑马制造] 学习java的30个目标(10-19) [笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19) [udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18) [沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18) |
| TAG标签: | 开发 游戏 一个 方块 文件 消息 用户 不同 程序 显示 |
注册
个人空间
