泡泡堂网络游戏的设计与实现毕业设计论文.doc

上传人:椰子壳 文档编号:3951603 上传时间:2019-10-11 格式:DOC 页数:32 大小:699.50KB
返回 下载 相关 举报
泡泡堂网络游戏的设计与实现毕业设计论文.doc_第1页
第1页 / 共32页
泡泡堂网络游戏的设计与实现毕业设计论文.doc_第2页
第2页 / 共32页
泡泡堂网络游戏的设计与实现毕业设计论文.doc_第3页
第3页 / 共32页
泡泡堂网络游戏的设计与实现毕业设计论文.doc_第4页
第4页 / 共32页
泡泡堂网络游戏的设计与实现毕业设计论文.doc_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《泡泡堂网络游戏的设计与实现毕业设计论文.doc》由会员分享,可在线阅读,更多相关《泡泡堂网络游戏的设计与实现毕业设计论文.doc(32页珍藏版)》请在三一文库上搜索。

1、 毕毕 业业 设设 计计( 论论 文文) 泡泡堂网络游戏的设计与实现泡泡堂网络游戏的设计与实现 论论文作者姓名:文作者姓名: 申申请请学位学位专业专业: : 申申请请学位学位类别类别: : 指指导导教教师师姓姓名名( (职职称称) ): : 论论文提交日期:文提交日期: 泡泡堂网络游戏的设计与实现泡泡堂网络游戏的设计与实现 摘摘 要要 网络游戏开发是一项很大的工程,需要很多综合性的知识。这对于刚刚入 门的开发者来说很难理解。本论文从研究开发一个模仿泡泡堂网络游戏的例子 出发,讲述网络游戏开发中用到的一些最基本的知识和设计思想,使大家清晰的 理解游戏开发的过程。 整个设计中利用 java 中的

2、swing 编程,结合游戏的操作流程,对整个游戏 进行精心的设计和大量的测试,实现游戏软件服务器端和客户端的开发,为玩 家提供一个友好美观的操作界面,并添加聊天等功能以增加玩家之间的互动性, 此外实现了可编辑场景地图的功能,使得游戏内容的更加丰富,玩家交互性更 好,确保了游戏更具有趣味性、灵活性,以满足玩家对这款网络游戏的要求。 关键词关键词:消息传输;java-swing;网络游戏;线程;场景 The Design and Implementation of “PaoPaoTang” Network Game Abstract Network game development is a bi

3、g project that requires a lot of integration of knowledge. It is difficult to understand for beginner in this field. This thesis base on the research and development of a Game named “PaoPaoTang”, as an example, it descript the development of fundamental knowledge and theory when design a network gam

4、e, so that we can more clearly understand the game development process. The whole design uses the java-swing programming, combines with the operation of the game, designs the entire game and does numerous tests, realize the game software running at server and client, provide a friendly and aesthetic

5、ally pleasing interface for players, and add chat functions to increase the communion between the players each other. In addition to designs the scene map editing functions to make the game for richer content and better interactive with players. Finally to ensure that the game is more fun and flexib

6、ility it can satisfy the network game requirements for players. Key words: message transfers; java-swing; network game; thread; scene 目目 录录 论文总页数:21 页 1引言.1 1.1课题背景.1 1.2泡泡堂游戏简介.1 1.3本课题研究的意义.1 2开发的环境及相关技术的介绍.2 2.1开发环境.2 2.2JAVA语言的特点2 3需求分析.2 3.1游戏的操作流程.2 3.2应该解决的问题.4 4系统设计.4 4.1处理流程.4 4.2数据流.5 4.3部

7、署方案.6 5系统实现.6 5.1代码结构.6 5.2公共类的介绍.7 5.3服务器端的开发.8 5.4客户端.9 5.4.1模块设计.9 5.4.2游戏入口程序.10 5.4.3登陆.10 5.4.4游戏大厅.11 5.4.5对战场地.13 6测试.18 结 论.19 参考文献.19 致 谢.20 声 明.21 第 1 页 共 21 页 1 1 引言引言 1.11.1课题背景课题背景 最近几年游戏产业特别是网络游戏得到飞速发展。而随着人们工作节奏的 加快,小型的、竞技性的网络游戏因为游戏所需时间短,竞技性和娱乐性强等 特点,越来越受到工作人士的喜爱。盛大公司推出的“泡泡堂”是一款比较好 也是

8、比较成功的网络小游戏。本课题就是想对该游戏进行分析研究,借助于它 的游戏规则,用 java 语言模拟开发一个类似的,功能相对简单的网络小游戏。 从而使自己更清楚的认识小游戏开发需要的知识和开发的环节和涉及到的领域。 1.21.2泡泡堂游戏简介泡泡堂游戏简介 在 2004 年全世界最火爆、在线人数最多的网络游戏,不是传奇 、 奇迹 等深受欢迎的传统 MMO,也不是梦幻西游 、 剑网 、 巨商等一大批后起 之秀,而是盛大旗下的一款休闲游戏泡泡堂 。 泡泡堂是韩国第一人气网络游戏,拥有多达 2500 万的注册用户。它以 简单趣味征服玩家。有专家将玩家区分为临时玩家、中间玩家和忠实玩家三类。 而泡泡堂

9、的服务对象大部分都是临时玩家。对于这一概念的定义为:年龄 层从 10 岁到 20 岁甚至 35 岁左右,每天平均游戏时间约为 2 小时,希望选择可 以即刻得到结果、界面简洁的游戏。临时玩家是互联网娱乐初级阶段的玩家层, 对数字娱乐有一定渴望,对上手较难的游戏有畏惧感。他们比忠实玩家要更广 泛,而且还是最有开发价值的目标人群。有资料统计,在美国临时玩家和忠实 玩家之间的比例大约是 50:1,在中国这种差距可能会更高。 而休闲游戏恰恰抓住了这些临时玩家对互动娱乐的需求。休闲游戏简单轻 松,趣味十足,临时玩家们在短时间内就可获得游戏所带来的互动趣味和成就 感。这些其实是休闲游戏成功的最大法宝。开发商

10、非常清楚的认识到了这一点, 他们以红白机的炸弹人作为原形,针对市场开发出了泡泡堂 。使游戏操 作简单,极易上手,富有乐趣,充分吸收了炸弹人的诸多优点。在保留精 髓的同时, 泡泡堂还开发了一些有创意的玩点,加入一些很有影响力的娱乐 元素(Avatar) ,使产品线更丰富,满足了临时玩家多方面的互联网娱乐需求。 1.31.3本课题研究的意义本课题研究的意义 本课题以开发该游戏为平台,综合运用网络编程,数据之间的通讯,程序 中算法的实现,线程的分配,程序运行中的内存使用情况的控制等。通过这些 技术的综合运用,更深入的了解计算机程序方面的相关知识,熟悉游戏开发的 理念和流程,了解整个游戏项目开发的关注

11、点。 该课题属于研究性的一个课题,不考虑商业上的应用。只是对技术研究的 第 2 页 共 21 页 并不是游戏本身的娱乐性。 2 2 开发的环境及相关技术的介绍开发的环境及相关技术的介绍 2.12.1开发环境开发环境 操作系统:Microsoft Windows XP 开发语言:java 2 开发包:Java(TM) 2 Standard Edition (5.0),JFC Swing. IDE: Eclipse 3.2 测试环境:局域网,PC 机 2.22.2Java 语言的特点语言的特点 1. 平台无关性 Java 引进虚拟机原理,并运行于虚拟机,实现不同平台之间的 Java 接口。 Jav

12、a 的数据类型与机器无关。 2. 安全性 Java 的编程类似 C+,但舍弃了 C+的指针对存储器地址的直接操作,程序 运行时,内存由操作系统分配,这样可以避免病毒通过指针入侵系统。它提供 了安全管理器,防止程序的非法访问。 3. 面向对象 Java 吸收了 C+面向对象的概念,将数据封装于类中,实现了程序的简洁 性和便于维护性,使程序代码可以只需一次编译就可反复利用。 4. 分布式 Java 建立在 TCP/IP 网络平台上,提供了用 HTTP 和 FTP 协议传送和接收信 息的库函数,使用其相关技术可以十分方便的构建分布式应用系统。 5. 健壮性 Java 致力与检查程序在编译和运行时的错

13、误,并自动回收内存,减少了内 存出错的可能性。Java 取消了 C 语言的结构、指针、#define 语句、多重继承、 goto 语句、操作符、重载等不易被掌握的特性,提供垃圾收集器自动回收不用 的内存空间。 3 3 需求分析需求分析 本设计主要是实现一个类似于“泡泡堂”功能的网络游戏。其操作流程及 其主要功能如下介绍 3.13.1游戏的操作流程游戏的操作流程 游戏的操作类似于网络游戏 QQ 堂。其操作流程如图 1 所示。 第 3 页 共 21 页 图 1 游戏操作流程 1. 首先要先运行服务器端,来处理各个客户端发来的请求。 2. 玩家运行客户端,首先展现一个版权声明的界面,因为游戏中的图片

14、来 源于腾迅公司的 QQ 堂游戏,图片的版权归腾迅公司所有。 3. 几秒后自动跳到登录界面。在这里输入用户名称,密码。因系统中没有 对数据库进行操作,并没有保存用户的相关信息,所以没有注册的功能,也没 有对密码的正确与否进行验证。输入密码后点击登录进入游戏大厅,退出则关 闭程序。 4. 进入大厅后,用户可以选择自己的角色,蓝队或者红队,并可以进行聊 天对话。点击准备时将进入准备状态。当所有用户都进入准备状态,游戏自动 进入对战场地进行对战游戏。 5. 在对战时,玩家可以用方向键盘控制人物的移动,人物只能在空地中移 动,当遇到“箱子”时,可以使用“空格键”放置“泡泡” ,利用“泡泡”的爆 炸的威

15、力去破坏周围的障碍物(“仙人掌”不能被破坏掉) 。同时可以一连串放 置多个“泡泡” ,放置“泡泡”后, “泡泡”将持续几秒钟才会爆炸,在这段时 间玩家可以放置更多的“泡泡”来攻击对手,在运动过程中还要及时躲开“泡 泡”的爆炸区域。当玩家被“泡泡”炸中,则该玩家的生命将结束,不能继续 进行游戏 6. 当有一个队中的所有玩家都死掉,则该队挑战失败,对方获胜。 第 4 页 共 21 页 3.23.2应该解决的问题应该解决的问题 本程序需要解决的主要问题: 1. 游戏程序是一项精度要求很高的程序系统,因为其代码利用率很高。一 个实时运行的最终作品,每秒都会运行成千上万行程序,绘图事件、键盘事件 都会以

16、极高的频率在后台等待响应,若有丝毫的差别都将很容易导致程序在运 行不久后可能出现严重错误,甚至死循环。因此,其逻辑设计应当相当严谨, 需将所有可能发生的事件及意外情况考虑在设计中。 2. 网络计算机之间的数据通讯:用 socket 进行编程,同时由于对人同时 游戏,要尽量减少网络数据的传输量,提高传输效率,防止堵塞。 3. 算法的设计:算法是游戏的核心,要设计很好的算法,提高游戏运行的 效率,运行速度要高,并且资源占用的要少。 4. 线程的控制:由于涉及到对个玩家,并且要即时的将数据进行网络传输, 因此可以用多个线程来并发执行这些操作。线程之间的同步和调度上要很好的 控制。 5. 双缓存:在图

17、片之间相互调用转换时,图像的画面要流畅,不能有停顿 和闪烁 6. 游戏中为了美观,适用性强,可能需要采用外部文件引入的图片贴图, 有关贴图,这里使用了 QQ 堂游戏里的一些截图来美化界面,同时对解决静态或 动态、画面背景、屏幕刷新的双缓冲等都有较好的解决方案。 以上相关技术细节和整体流程将分别在以下小节阐述。 4 4 系统设计系统设计 本游戏开发采用 C/S 结构,分为服务器端和客户端两部分。 4.14.1处理流程处理流程 服务器端主要处理各个客户端发过来的消息(Message) ,并根据消息的类 型,对消息进行不同的处理,然后将处理后的消息转发或者直接转发消息到所 有玩家。 客户端则监听用户

18、的输入动作,包括键盘和鼠标动作,对于不同的动作做 不同的处理,并根据玩家动作的类型,把所有信息封装为一个消息的实体 (Message),然后发到服务器端。同时要监听服务器端的回复过来的消息当收 到一个新的消息,将对消息进行解析,根据消息的类型作不同的处理,从而改 变游戏场景或者状态等。处理流程如图 2 所示。 第 5 页 共 21 页 图 2 处理流程 4.24.2数据流数据流 在整个系统中,客户端和服务器端所有的信息都是通过一个封装的 Message 来传输的 ,它们的传输数据流如图 3 所示(这里以一次通讯为例) 图 3 数据流 当一个客户端把玩家的动作封装为一个的消息,之后发送到服务器端

19、。服 务器端接收到该消息,并对该消息进行解析处理。然后将处理过的消息转发给 当前的所有客户端,包括消息的发出者。客户端收到该消息,根据消息的类型 第 6 页 共 21 页 来解析,然后处理并改变当前的场景。 4.34.3部署方案部署方案 因为游戏为一个网络游戏,要多个玩家同时参加互动。所有程序有服务器 端和客户端两部分。它们部署图如图 4 所示: 图 4 部署图 服务器端部署服务器端程序,负责保存当前玩家的信息,对客户端发过来 的消息进行处理并转发等。客户端只需要部署客户端程序,负责发送消息并处 理游戏主要逻辑。 5 5 系统实现系统实现 5.15.1代码结构代码结构 图 5 代码结构 第 7

20、 页 共 21 页 程序是用 eclipse 平台开发,在该平台下代码组织如图 5 所示。代码结构 的详细介绍参考表 1。 表 1 代码结构介绍 文件夹包名称类描述 GameKey.java 系统级参数 net.jeson.game.util (存放系统中经常用到的类, 系统级)Util.java 系统级的类 net.jeson.game.server (存放服务器端相关的类) Server.java 服务器端的主程序 net.jeson.game (存放启动游戏所有到的类) Game.java 启动游戏的入口类 Bomb.java 管理放置的“泡泡”的类 Message.java 用来封装客

21、户端和服务器 端直接通讯的消息的类 net.jeson.game.biz (存放处理一些业务逻辑的 类) MessageManager.java 管理消息的接收和发送 CenterShowDialog.ja va 把窗口显示的位置在屏幕 上居中 GameImage.java 管理图片加载创建的类 ImageButton.java 定义一个图片按钮 ImageLabel.java 定义一个图片的 label. ponent (存放一些可以被重用的 swing 组件,主要是用来 UI 的 设计) ImagePanel.java 定义一个图片的 panel Login.java 登陆游戏的界面 Ga

22、meHall.java 游戏大厅的界面 QQFrame.java 启动对战场景的窗口 Src 游戏源代 码 net.jeson.game.ui (游戏主要显示的界面) QQPad.java 对战场景中的画布 Images(存放游戏所用到的图片) Map(存放游戏对战场景中的地图。 ) 5.25.2公共类的介绍公共类的介绍 系统中定义了一些公共的类,可以被客户端和服务器端多次使用,这些类 里的方法多是静态的。 GameKey.javaGameKey.java 这里定义了一些系统级的一些参数,都是静态的。 Util.javaUtil.java 主要定义了 4 个方法,用户测试时候打印信息的,全屏的

23、,和关闭显示窗 口的方法。 MessageManager.javaMessageManager.java 声明了发送消息和接收消息的两个方法。控制着客户端和服务器端之间的 数据交换。 第 8 页 共 21 页 5.35.3服务器端的开发服务器端的开发 服务器端开发是使用 JAVA 语言中的套接字,采用 TCP 协议进行通讯的。通 讯的数据全部封装在一个 Message 类里面。这些数据在网络之间传输并在客户 端和服务器端进行解析,得到后作出相应的动作。处理流程参考图 6. 图 6 服务器端处理流程 服务器端主要用到了 java 中的网络编程和线程。在构造函数中,利用默认 端口创建一个套接字 S

24、erverSocket(Port) ;然后进入一个无限循环来监听网 络连接,每当有一个新的客户端连接到服务器,建立一个新的线程来处理该客 户请求。之后服务器端继续监听,等待新的客户端连接。 try serversocket = new ServerSocket(port); System.out.println(“Game Server started at:“ + serversocket.getInetAddress().getLocalHost() + “:“ + serversocket.getLocalPort(); while (true) /设置玩家的编号:1-8 if (num

25、ber 蓝队;2 红队 朝向:1 朝北; 2 - 朝东; 3 - 朝南; 4 - 朝西 最后根据该数值,来最终决定该玩家的当前的状态,根据状态中的位置朝 向等信息,在场景中显示相应的图片来创造当前状态下玩家的实体。 玩家移动玩家移动 对战过程处理流程的原理和大厅相似,不过很多是对键盘的监听。当按下 键盘的方向键的时候,监听器将捕获该动作,然后将该动作的信息封装为一个 消息,在服务器端再对消息进行转发给所有玩家。玩家收到消息,对消息进行 解析,得用户的操作,然后改变玩家对应单元格的代码,之后刷新整个画布, 玩家的位置将做出变化。其中在移动玩家的时候,要先判断前方是否有障碍物 或者是否已经到达了边

26、界,是的话将不能进行移动。 泡泡处理泡泡处理 泡泡的显示也是用一个数组坐标来表示,不过这个是另外建了一个新的数 组 map2,它的大小和场景坐标一样,但是状态只有两种:放置的泡泡和爆 炸中的泡泡。 当玩家按下空格建,将会把玩家当前位置出放置一个泡泡,即把 map2 中的 对应状态改为“8” 。放置泡泡的时候,其实建立了一个泡泡的线程,为这个泡 第 17 页 共 21 页 泡设置位置,然后就启动该线程,当停顿 4 妙后,将把这个泡泡给引爆。 pad.setBomb(m,n); sleep(sleepTime);/sleepTime=4s pad.Bombing(m,n,power); sleep

27、(500); pad.cleanBomb(); sleep(1000); pad.cleanPlayer(); 引爆时调用了 Bombing 方法。该方法主要是根据泡泡的威力,把在爆炸范 围内的箱子或者玩家给清除。也就是改变坐标的代码。首先要显示一个爆炸时 候的图片,之后清楚相关的物体。 for(int i=m;i=15) break; if(mapin=2) break; if(mapin=0) mapin=88; if(mapin=1) mapin=88; break; 泡泡的爆炸场景显示持续半秒后,将把爆炸范围内的物体(植物除外)的 值设置为 0,这样在下次刷新场景时将清理被炸掉的物体。

28、 结束判断:结束判断: 在每次泡泡爆炸后,都要进行一次判断,首先要判断是否有玩家被炸到, 如果有就将该玩家的状态设置为DEAD ,然后判断整个小组是否所有成员都已 经 dead 掉,如果是,则认定该组失败,而对方获胜。游戏结束。 if(myLive=0 if(myTeam=1) if(!blue_team_alive) g.drawImage(lossImg,84,140,this); if(!red_team_alive) g.drawImage(winImg,84,140,this); if(myTeam=-1) if(!red_team_alive) g.drawImage(lossIm

29、g,84,140,this); if(!blue_team_alive) g.drawImage(winImg,84,140,this); 6 6 测试测试 因为完全开发一个完整的网络游戏需要巨大的时间和精力上的投入,该程 序的主要目的是研究泡泡堂游戏的主体开发原理和流程。在开发过程中还有一 些 BUG 要完善。测试过程中主要精力分析数据在传输过程中数据丢失和对战中 玩家坐标的调整上。为了最大可能的增加系统的稳定性,曾大范围的改变了游 戏的设计思想,争取做到最优。 通过测试,整个游戏能够很好的完成整个操作流程。并可以实现多人登陆, 在游戏大厅进行信息交换,和在对战场地进行对战等功能,达到了预期

30、目标。 第 19 页 共 21 页 结结 论论 通过本次课题的研究,很好的把握开发网络游戏的整个流程及其设计思想, 更加深入的理解 JAVA 语言的编程思想。开发改游戏综合灵活的运用了 swing 中 主要组件,很好的设计并优化美观了游戏的界面,使其更加贴近玩家。作为一 个可运行的网络游戏,游戏全部实现了登陆,游戏大厅,对战等必须的场景。 并为玩家提供一个互动的聊天平台,这样极大的提高了游戏的趣味性,吸引玩 家的兴趣。 开发一个好的网络游戏是一项很复杂的工程,不仅仅是程序的实现,游戏 剧本,美工,人物角色划分,任务分派等,都是影响一个游戏成败的关键因素。 为了获得最大化的市场空间,增加吸引玩家

31、兴趣的趣味性必不可少。作为本课 题研究的对象, “泡泡堂”游戏在实际的开发中,可以在课题研究的理论基础上 增加数据库管理,记录游戏中必要的信息,并增加速度和威力等因素,增强游 戏的趣味性,使游戏真正产生实际的使用价值。 参考文献参考文献 1 耿祥义,张跃平. java2 使用教程M.北京:清华大学出版社,2004 2 David Brackeen美. Java 游戏编程M.邱仲潘 译.北京: 科学出版社,2004 3 Kathy Walrath美. JFC Swing 标准教材M.邓一凡 译.北京: 电子工业出版社, 2005 4 Bruce Eckel美. Java 编程思想M.陈昊鹏 译.

32、北京:机械工业出版社,2005 5 赤金,聂松. JavaApplet 实例编程M.北京:中国水利水电出版社,2003 6 彭波,孙一林. java 多媒体技术M.北京:清华大学出版社,2005 7 黄嘉辉. Java 网络程序设计M.北京:清华大学出版社,2002 第 20 页 共 21 页 致致 谢谢 本论文的工作是 2007 年 2 月至 2007 年 06 月在成都信息工程学院网络工 程系完成的。在整个系统设计和论文写作过程中得到了很多人的支持。在此感 谢他们 感谢我的导师甘刚老师,他渊博的知识和严谨的治学作风使我受益匪浅, 对顺利完成本课题起到了极大的作用。在此向他表示我最衷心的感谢

33、! 感谢我的室友们,从遥远的家来到这个陌生的城市里,是你们和我共同维 系着彼此之间兄弟般的感情,维系着寝室那份家的融洽。在论文完成过程中为 我提供了很好的环境。 感谢我的爸爸妈妈,养育之恩,无以回报,你们永远健康快乐是我最大的 心愿。 在论文完成过程中,本人还得到了其他老师和许多同学的热心帮助,本人 向他们表示深深的谢意! 最后向在百忙之中评审本文的各位专家、老师表示衷心的感谢! 作者简介 姓 名:何震雨 性别: 男 出生年月:1985 年 02 月 民族: 汉 E-mail: 第 21 页 共 21 页 声声 明明 本论文的工作是 2007 年 2 月至 2007 年 6 月在成都信息工程

34、学院网络工程 系完成的。文中除了特别加以标注地方外,不包含他人已经发表或撰写过的研 究成果,也不包含为获得成都信息工程学院或其他教学机构的学位或证书而使 用过的材料。除非另有说明,本文的工作是原始性工作。 关于学位论文使用权和研究成果知识产权的说明: 本人完全了解成都信息工程学院有关保管使用学位论文的规定,其中包括: (1)学校有权保管并向有关部门递交学位论文的原件与复印件。 (2)学校可以采用影印、缩印或其他复制方式保存学位论文。 (3)学校可以学术交流为目的复制、赠送和交换学位论文。 (4)学校可允许学位论文被查阅或借阅。 (5)学校可以公布学位论文的全部或部分内容(保密学位论文在解密后遵

35、 守此规定) 。 除非另有科研合同和其他法律文书的制约,本论文的科研成果属于成都信 息工程学院。 特此声明! 作者签名: 2007 年 06 月 日 第 22 页 共 21 页 “Are you hungry now?“ “No, I am tired and lazy now; if I pursue you I will not catch you, and if I catch you-through your own slowness and clumsiness-I will not kill you, and if I kill you I will not eat you.“ N

36、icholas had begun to back away, and at the last; words, realizing that they were a signal, he turned and began to run, splashing through the shallow water. Ignacio ran after him, much helped by his longer legs, his hair flying behind his dark young face, his square teeth-each white as a bone and as

37、big as Nicholass thumbnail-showing like spectators who lined the railings of his lips. “Dont run, Nicholas,“ Dr. Island said with the voice of a wave. “It only makes him angry that you run.“ Nicholas did not answer, but cut to his left, up the beach and among the trunks of the palms, sprinting all t

38、he way because he had no way of knowing Ignacio was not right behind him, about to grab him by the neck. When he stopped it was in the thick jungle, among the boles of the hardwoods, where he leaned,.; out of breath, the thumping of his own heart the only . sound in an atmosphere silent and unwaked

39、as Earths long, prehuman day. For a time he listened for any sound Ignacio might make searching for him; there was none. He drew a deep breath then and said, “Well, thats over,“ expecting Dr. Island to answer from somewhere; there was only the green hush. The light was still bright and strong and ne

40、arly, shadowless, but some interior sense told him the day, was nearly over, and he noticed that such faint shades as he could see stretched long, horizontal distortions of their objects. He felt no hunger, but he had fasted be- fore and knew on which side of hunger he stood; he was not as strong as

41、 he had been only a day past, and by this time next day he would probably be unable to outrun Ignacio. He should, he now realized, have eaten the monkey he had killed; but his stomach revolted at the thought of the raw flesh, and he did not know how he might build a fire, although Ignacio seemed to

42、have done so the night before. Raw fish, even if he were able to catch a fish, would be as bad, or worse, than raw monkey; he remembered his effort to open a coconut-he had failed, but it was surely not impossible. His mind was hazy as to what a coconut might contain, but there had to be an edible c

43、ore, because they were eaten in books. He decided to make a wide sweep through the jungle that would bring him back to the beach well away from Ignacio; he had several times seen coconuts lying in the sand under the trees. He moved quietly, still a little afraid, trying to think of ways to open the

44、coconut when he found it. He imagined himself standing before a large and raggedly faceted stone, holding the coconut in both hands. He raised it and smashed it down, but when it struck it was no longer a coconut but Mayas head; he heard her nose cartilage break with a distinct, rubbery snap. Her ey

45、es, as blue as the sky above Madhya Pradesh, the sparkling blue sky of the egg, looked up at him, but he could no longer look into them, they retreated from his own, and it came to him quite suddenly that Lucifer, in falling, must have fallen up, into the fires and the coldness of space, never again

46、 to see the warm blues and browns and greens of Earth: 1 was watching Satan fall as lightning from heaven. He had heard that on tape somewhere, but he could not remember where. He had read that on Earth lightning did not come down from the clouds, but leaped up from the planetary surface toward them

47、, never to return. “Nicholas.“ He listened, but did not hear his name again. Faintly water was babbling; had Dr. Island used that sound to speak to him? He walked toward it and found a little rill that threaded a way among the trees, and followed it. In a hundred steps it grew broader, slowed, and e

48、nded in a long blind pool under a dome of leaves. . Diane was sitting on moss on the side opposite him; she looked up as she saw him, and smiled. “Hello,“ he said. “Hello, Nicholas. I thought I heard you. I wasnt mistaken after all, was I?“ “I didnt think I said anything.“ He tested the dark water w

49、ith his foot and found that it was very cold. 第 23 页 共 21 页 “You gave a little gasp, I fancy. I heard it, and I said to myself, thats Nicholas, and I called you. Then I thought I might be wrong, or that it might be Ignacio.“ “Ignacio was chasing me. Maybe he still is, but h think hes probably given up by now.“ The girl nodded, looking into the dark

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1