电子论坛系统的设计与实现毕业设计论文.doc_第1页
电子论坛系统的设计与实现毕业设计论文.doc_第2页
电子论坛系统的设计与实现毕业设计论文.doc_第3页
电子论坛系统的设计与实现毕业设计论文.doc_第4页
电子论坛系统的设计与实现毕业设计论文.doc_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕毕 业业 设设 计计( 论论 文文) 电子论坛系统的设计与实现电子论坛系统的设计与实现 论论文作者姓名:文作者姓名: 申申请请学位学位专业专业: : 申申请请学位学位类别类别: : 指指导导教教师师姓姓名名( (职职称称) ): : 论论文提交日期:文提交日期: 电子论坛系统的设计与实现电子论坛系统的设计与实现 摘摘 要要 电子论坛即 bbs 已经是互联网上的一种极为常见的互动交流服务。论坛可 以为网友提供开放性的分类讨论区专题服务,网友们可以在此发表自己的观感, 交流某些技术,经验等。论坛也可以作为用户和商家交流的渠道,商家也可以 在此回答用户提出的问题或发布某些消息。 本系统使用 asp 进行开发,数据库采用 microsoft sql server 2000。本 文描述了电子论坛系统的设计与实现。首先对系统的需求进行了分析,建立系 统工作流程图,设计系统数据库,对数据库结构进行了详细分析。然后划分系 统功能模块,最后详细描述了各个功能模块实现的方法,并给出相应代码。 关键词关键词:电子论坛系统;asp;sql server 2000 the design and implementation of bbs abstract bbs as an electronic forum on the internet is a very common interaction services. forum provides an open platform to discuss one subject amony netizens . netizens can express their impressions and communicate technologies and experience. it also can be used as a channel for the communication between customers with businessmen. the system is developed with asp and microsoft sql server 2000. in this paper, how to design and implement a bbs is introduced. first, it analyzes the demands for this system, establishes system flowchart, designs system database and analyzes the database structure. second, it introduces the modules. the way of implementation of each modules is introduced, and the source codes are showed in the end. key words: bbs; asp; sql server 2000 目目 录录 论文总页数:32 页 1引言1 1.1课题背景1 1.2国内外研究现状1 1.3本课题的研究意义1 2系统分析1 2.1系统需求分析1 2.2系统功能描述2 2.2.1 主要功能.2 2.2.2 论坛扩展功能.4 3系统设计4 3.1功能模块4 3.2数据库设计6 4系统实现10 4.1首页10 4.2数据库连接函数11 4.3用户模块11 4.3.1 用户登录.11 4.3.2 用户注册.13 4.3.3 与其他用户联系.16 4.3.4 找回密码.17 4.3.5 用户登录添加验证码.17 4.4版面/公共信息模块.19 4.4.1 版面模块.19 4.4.2 公共信息模块.20 4.5帖子模块20 4.5.1 发布/删除/修改帖子模块.20 4.5.2 帖子浏览模块.25 4.5.3 帖子搜索模块.25 4.5.4 其它功能.26 4.6管理员模块26 4.6.1 用户管理.26 4.6.2 版面管理.26 4.6.3 帖子管理.26 4.6.4 数据库备份和恢复.26 结 论28 参考文献30 致 谢31 声 明32 1 1 引言引言 1.11.1 课题背景课题背景 论坛服务已经是互联网上的一种极为常见的互动交流服务。论坛可以为网 友提供开放性的分类讨论区专题服务,网友们可以在此发表自己的观感,交流 某些技术,经验乃至人生的感悟与忧欢,亦可以作为用户和商家交流的渠道, 商家也可以在此回答用户提出的问题或发布某些消息。 1.21.2 国内外研究现状国内外研究现状 bbs 起源于 20 世纪初。最初,论坛只是用于发布公共信息和讨论问题的在 线交流平台;后来,随着网络的普及,论坛的功能也越来越丰富,不仅仅可以 发表文字,更是可以使用多媒体,受到了广大网民的欢迎。因此,商业网站对 论坛重视起来,纷纷在自己的网站上开辟论坛,作为与网民交流的园地,同时 在线技术支持和在线服务也在论坛中开展起来。 1.31.3 本课题的研究意义本课题的研究意义 随着互联网技术的迅猛发展,网络给人们带来了很多便利,比如人们借助 于网络进行相互交流变得更加方便。电子论坛也称为 bbs,bbs 是 bulletin board system 的缩写,意即电子公告牌,一种在 internet 上常见的用于信息 服务的 web 系统,它的主要服务是用来帮助浏览者相互沟通,吸引用户,服务 用户的。 技术的发展一日千里,尤其是 web 开发技术。早年间,我们还只能用静态 的 html 编写静态的网站,毫无交互性可言。随着技术的飞速发展,我们有了动 态的 html(dhtml),然后有了脚本(script),脚本有很多种,这些都伴随 着早期的 web 开发者走了很长,很苦的日子。到了 21 世纪,web 的开发者们迎 来了幸福的生活,microsoft,sun 等公司相继推出了强大,快捷的 asp,php,jsp 和 asp.net 等开发技术,我们可以使用多种编程语言来进行开 发,大大提升了网站开发的效率,质量。我们尽管可以说哪一种技术是最流行 的,但是很难说哪一种技术是最好的,每一种技术都在它最对口的应用上。对 于电子论坛系统,我选择了 asp 技术,它同样可把我们想要的功能很好的实现。 2 2系统分析系统分析 2.12.1 系统需求分析系统需求分析 首先找出论坛针对的对象,得出一个简洁的例表: 1. 用户:论坛的使用人员,进行某些操作时需要注册。 2. 版面:表明发言内容的类型。 3. 公共信息:与论坛相关的信息。 4. 帖子:论坛中单个观点的讨论。 5. 管理员:与论坛服务的人员。 论坛的对象不是孤立的,它们是紧密联系的,下面是论坛各个对象之间的 关联表,关联是单向的,是指左侧对象对上方对象的活动。无关联的用表示, 如果两者只要单向关联,那么在另一个对象关联时用表示。 表 1 各对象之间的关系表 用户版面公共信息帖子管理员 用户注册 修改 浏览 联系 浏览浏览 发布浏览 发布 修改 删除 版面 公共信息 帖子 管理员删除 授权添加 删除 修改 添加 删除 修改 添加 删除 修改 至此,论坛的需要分析完成,接下来是论坛的功能设计。 2.22.2 系统功能描述系统功能描述 .1 主要功能主要功能 首先从用户开始,用户关联的对象是自身,版面,公共信息,帖子。分别 根据用户与这些对象的联系给出一个明确的菜单 表 2 用户功能表 序号功能名称说明 1 用户注册用户在论坛填写必要信息就可以成为注册用户,注册后,可修改自己 的注册信息 2 用户登录用户注册后可使用用户名,密码登录,可选择用户名,密码保存期限 3 浏览用户信息注册用户可查看其它用户信息 序号功能名称说明 4 与其它用户联 系 注册用户可发站内短信 5 浏览版面任何用户可浏览版面信息 6 浏览公共信息任何用户可浏览公共信息 7 浏览帖子任何用户可浏览帖子 8 发布修改删除 帖子 注册用户登录后可发布帖子,修改自己的帖子,删除自己的帖子 9 对帖子的特殊 操作 主要针对版主类型的用户,可对帖子置顶,设置精华,删除帖子,移 动帖子等操作 接下来的版面,公共信息,帖子都没有和其他对象的关联,它们在论坛中 是被动对象,是被其它对象所操作。因此针对它们的主要功能是由其它对象产 生,例如浏览版面就是用户的功能。 管理员是论坛的一个特殊群体,它们的主要工作是保证论坛的正常运行, 他们可以和论坛的所有对象产生联系,因此他们的功能也很丰富 表 3 管理员功能表 序号功能名称说明 1 用户删除对于在论坛中造成很坏影响的用户,应该删除他们的身份 2 用户授权授予用户版主权限 3 版面管理版面是论坛的枝干,对版面进行添加,修改,删除等操作 4 公共信息管理公共信息展示论坛的状态,不能出现非法言论 5 帖子的管理帖子是论坛的枝叶,帖子的好坏关系到论坛的健康发展,对帖子进行 删除,移动等 6 数据库的备份管理员应该定期地对系统数据库备份,以免造成不必要的损失 现在分析各个对象的相关操作,设计为对象的功能实现接口,即为对象的 操作方法。各个板块有浏览列表和管理两个方法,管理方法又可以分为添加, 修改,删除 3 个子方法。 帖子有浏览,发帖,回帖,搜索和管理 5 个方法,浏览方法又分为列表和 查看两个子方法,管理方法分为编辑,删除,置顶,移动,指定精华 5 个子方 法,如图。 图 1 帖子对象的相关关系 用户有注册、登录 2 个方法,管理用户方法又分为删除和设置权限 2 个子 方法,如图。 图 2 用户对象的相关关系 管理帖子 删除 移动 置顶 指定精华编辑 浏览帖子 搜索 回帖 发帖 用户 管理员 注册 登录 管理用户 删除 设置权限 管理员 用户 这样分析完后,前面列出的功能列表就有了各自的归属对象。 论坛一般存在两种用户:注册用户和管理员。用户的权限是向下覆盖的, 既上级权限包含下级权限,在论坛中,管理员是上级权限。 论坛的 3 大基本功能的相互关系如下图所示。 图 3 论坛基本功能的关系 本系统还有一些是论坛的内容更加丰富的扩展功能。 .2 论坛扩展功能论坛扩展功能 下面是个一个论坛扩展功能表。 表 4 扩展功能表 序号功能名称说明 1 用户控制自己的 信息 用户不想让其他用户看到自己的信息,可以控制自己的信息是否公 开 序号功能名称说明 2 用户登录添加验 证码 防止暴力破解密码,输入用户名或密码错误会重新生成验证码 3 站内短信方便用户在站内联系 4 帖子评价提高用户参与论坛的积极性 5 帖子发布添加多 媒体 吸引用户,扩展帖子发布功能 6 论坛收藏保留用户喜欢的内容,方便用户查看 7 帖子搜索提供模糊搜索,方便用户找到感兴趣的主题 8 用户等级给用户一个荣誉,提高用户发帖的积极性 9 论坛情况显示把论坛的一些数据显示给用户,如发帖数,在线用户人数等 10 数据备份防止论坛出现故障,能够正常运行 11 非法言论过滤对于一些非法言论可以在论坛中进行默认设置过滤 添加了这几个扩展功能后,论坛就显得平易近人多了,也更具有使用性。 3 3系统设计系统设计 3.13.1 功能模块功能模块 根据上一节给出论坛所必须的功能,划分模块。模块的划分主要是按照每 一个对象的操作来归类。论坛操作的对象是上一节所归纳的 5 个。下面就针对 这 5 个对象划分功能模块。 发帖帖子列表 回帖浏览帖子 用户:有两个模块,一个是用户注册,登录,修改信息等功能组合,是用 户对用户自身的操作;另一个是管理员对用户进行删除,授权,是管理员对用 户的操作,如表 5。 表 5 用户功能模块表 模块模块包含的功能 用户注册 用户登录 浏览其它用户信息 与其它用户联系 用户控制自己的信息 用户登录添加验证码 用户模块 用户等级 用户删除管理员模块 用户授权 版面:也有两个模块,一个是浏览模块,一个是管理模块。其功能模块列 表如表 6。 表 6 版面功能模块表 模块模块包含的功能 版面浏览模块浏览版面 版面管理模块版面管理 公共信息:用户浏览公共信息的功能划分一个模块,管理员对公共信息的 操作划分为一个模块,其功能模块列表如表 7 表 7 公共信息功能模块表 模块模块包含的功能 公共信息显示模块浏览发布的公共信息 公共信息管理模块公共信息管理 帖子:帖子包括用户对帖子的操作和管理员对帖子的操作,相应地分为帖 子模块和帖子管理模块,如表 8。 表 8 帖子功能模块表 模块模块包含的功能 浏览帖子 发布/修改/删除帖子 对帖子的特殊操作 帖子评价 帖子发布添加多媒体 论坛收藏 帖子模块 帖子搜索 删除帖子帖子管理模块 移动帖子 管理员:管理员是对其他对象进行操作,如表 9。 表 9 管理员管理功能模块表 模块模块包含的功能 用户管理 版面管理 帖子管理 管理员管理模块 数据备份 另外,对于用户使用的模块称为前台模块,管理员使用的模块称为后台模 块。系统总体功能划分如图 4。 论坛系统 用 户 模 块 公 共 信 息 模 块 版 面 浏 览 模 块 帖 子 模 块 用 户 管 理 模 块 版 面 管 理 模 块 公 共 信 息 管 理 模 块 帖 子 管 理 模 块 管 理 员 管 理 模 块 前台模块后台模块 图 4 系统总体功能划分 3.23.2 数据库设计数据库设计 本论坛使用 microsoft sql server 2000 数据库,下面列出是数据库设计 的详细。 1 1建立数据表间的关系建立数据表间的关系 本论坛数据库共有 11 个数据表,具体如表 10 所示。 表 10 论坛数据表 序号表名说明 1user_t 用户信息表 2topic_t 主题信息表 3superadmin_t 论坛管理员表 4post_t 帖子信息表 5message_t 短消息信息表 6grade_t 用户积分等级表 7friend_t 用户好友表 8file_t 文件上传表 9board_t 子版面信息表 10area_t 父版面信息表 11admin_t 版主信息表 下面是数据表之间的关系图,如图 5。 图 5 数据表关系 2 2数据表结构的详细设计数据表结构的详细设计 表 11 用户信息表(user_t) 序号字段名字段类型说明备注 1useridint 用户编号主键 2usernamevarchar(50) 用户名 not null 3userpasswordvarchar(50) 密码 not null 4useremailnvarchar(255) 电子邮件 not null 5usersignnvarchar(255) 用户签名 6usersexvarchar(50) 用户性别 not null 7userfacenvarchar(255) 头像 8pointint 积分 9joindatedatetime 注册日期 not null 10userbirthdaynvarchar(50) 用户生日 11userquestionnvarchar(50) 密码问题 not null 12useranswernvarchar(50) 密码答案 not null 13userlastipnvarchar(40) 最后登录 ip not null 14userhiddenbit 是否隐身登录 not null 15userqqnvarchar(255) 用户 qq 16truenamenvarchar(255) 真实姓名 17countrynvarchar(255) 国家 18citynvarchar(255) 城市 19constellationnvarchar(255) 星座 20bloodnvarchar(255) 血型 21phonenvarchar(50) 电话 22worksnvarchar(255) 职业 23schoolnvarchar(255) 毕业院校 24addressnvarchar(255) 家庭住址 25jbzlbit 是否公开基本资料 not null 26xxzlbit 是否公开详细资料 not null 在用户信息表里保存的是在论坛注册用户的信息,用户编号和用户名在论 坛中是不能重复的,用户名不能重复还使用用户编号的原因是计算机对数字检 索速度更快。 表 12 父版面信息表(area_t) 序号字段名字段类型说明备注 1areaidint 父版面编号主键 2areanamevarchar(255) 父版面名 not null 3setuptimedatetime 建立时间 not null 表 13 子版面信息表(board_t) 序号字段名字段类型说明备注 1boardidint 子版面编号主键 2boardnamevarchar(50) 子版面名 not null 3areaidint 父版面编号 not null 序号字段名字段类型说明备注 4readmevarchar(255) 版面说明 not null 5setuptimedatetime 建立日期 not null 6boardmastervarchar(50) 版主 7topicnumberint 主题数量 not null 8indeximgvarchar(255) 版面图片 not null 表 12 和 13 是版面信息表,这里使用两个表是为了编程方便,父版面和子版 面是通过 areaid 字段关联的。 表 14 主题信息表(topic_t) 序号字段名字段类型说明备注 1topicidint 主题编号主键 2titlevarchar(255) 主题 not null 3bordidint 版面编号 not null 4replyint 主题回复数 not null 5useridint 用户编号 not null 6usernamevarchar(50) 用户名 not null 7dateandtimedatetime 发表日期 not null 8hitsint 点击数 not null 9istopbit 是否置顶 not null 10isbestbit 是否精华 not null 11fileidint 上传文件编号 not null 表 15 帖子信息表(post_t) 序号字段名字段类型说明备注 1postidint 帖子编号主键 2parentidint 回复帖子编号 not null 3boardidint 版面编号 not null 4usernamevarchar(50) 用户名 not null 5useridint 用户编号 not null 6topicidint 主题编号 not null 7titlevarchar(255) 主题 not null 8dateandtimedatetime 发表日期 not null 9bodytext 帖子内容 not null 10ipvarchar(40) 用户 ip not null 以上两张表是紧密关联的,论坛主题信息表记载了论坛中主题帖的信息, 建立这个表的原因是用户在浏览论坛中的帖子时先应看到的是主题列表,如果 主题能够吸引用户,用户才会去看其中的内容,否则用户一进来就看到帖子内 容,会使用户感觉非常的杂乱。这两个表是通过 topicid 字段联系起来的, parentid 字段是用来针对特定的帖子回复。 接下来几张表是论坛的其它功能需要的数据表。 表 16 短消息信息表(message_t) 序号字段名字段类型说明备注 1midint 短消息编号主键 2sendervarchar(50) 发送者 not null 3inceptvarchar(50) 接受者 not null 4titlevarchar(255) 主题 not null 5contentvarchar(255) 内容 not null 6sendtimedatetime 发消息时间 not null 7flagbit 是否已读 not null 表 17 用户等级信息表(grade_t) 序号字段名字段类型说明备注 1gradeidint 自动编号主键 2useridint 用户编号 not null 3postidint 帖子编号 not null 4gradevarchar(255) 等级 not null 5pointint 积分 not null 6ipvarchar(40)ipnot null 表 18 文件上传信息表(file_t) 序号字段名字段类型说明备注 1fileidint 文件编号主键 2fnamevarchar(100) 文件名 not null 3useridint 用户编号 not null 4enamevarchar(50) 文件扩展名 not null 5ftypevarchar(255) 文件类型 not null 6fsizevarchar(255) 文件大小 not null 表 19 好友信息表(friend_t) 序号字段名字段类型说明备注 1fidint 自动编号主键 2useridint 用户编号 not null 3usernamevarchar(50) 用户名 not null 4friendidint 好友编号 not null 5frinednamevarchar(50) 好友名 not null 6addtimedatetime 添加时间 not null 表 20 管理员信息表(admin_t) 序号字段名字段类型说明备注 1masteridint 自动编号主键 2useridint 用户编号 not null 3usernamevarchar(50) 用户名 not null 4boardidint 版面编号 not null 5flagbit 权限标识 not null 4 4系统实现系统实现 4.14.1 首页首页 当用户打开论坛时,首先看到的是论坛首页,用户从首页可以看到和论坛 相关的并且能激起用户兴趣的东西。比如发帖数,在线用户数以及论坛板块的 情况,如图 6 所示。 图 6 论坛首页 首页分为 3 个部分,最上面的导航条为一部分,中间的公共信息为一部分, 下面的版面为一部分。将导航条部分单独写入文件 top.asp 作为公共程序,以 后任何一个页面需要就使用来调用。下面 是 top.asp 的程序。 1 这里显示的是游客的导航条 2 这里显示的注册用户的导航条 3 程序说明:用户登录后将用户名存入 session 对象来判断用户状态。 公共信息部分是显示了论坛和当前用户的状态,该部分的详细内容将在后 面的公共信息部分讨论。 版面部分显示了版面的列表,该部分的详细内容将在后面的版面部分讨论。 至此,首页的主要程序已经介绍了,以后章节是各个模块的主要程序。 4.24.2 数据库连接函数数据库连接函数 sql server 数据连接要求提供用户名,密码,数据库名及数据库服务器地 址,下面是使用 ado 连接数据库的代码: 1 4 4.34.3 用户模块用户模块 .1 用户登录用户登录 下面是一个用户登录的界面,如图 7。 图 7 用户登录界面 下面是对用户登录页面的表单处理程序 1 trim(request.form(“validatecode“) then 3 response.write(“请注意正确输入验证码“) 4 response.end 5 end if 6 session(“user“)=request.form(“username“) 7 user=request.form(“username“) 8 session(“pwd“)=request.form(“userpwd“) 9 pwd=request.form(“userpwd“) 10 ishidden=request.form(“hidden“) 11 set rs = server.createobject(“adodb.recordset“) 12 sql=“select * from user_t where username=“ name=“ filename=“) 4 intflag=instrb(formdata,divider name=“ filename=“) 4 intflag=instrb(formdata,divider 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.“ nicholas 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 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 the 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 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 nearly, 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 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 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 core, 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 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 eyes, 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 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, 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 ended 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 with his foot and found that it was very cold. “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 waters of they pool, but did not seem to have heard him. he began to work his way around to her, climbing across the snakelike roots of the crowding trees. “why does ignacio want to kill me, diane?“ “sometimes he wants to kill me, too,“ the girl said. “but why?“ “i think hes a bit frightened of us. have you ever talked to him, nicholas?“ “today i did a little. he told me a story about a pet fish he used to have.“ “ignacio grew up all alone; did he tell you that? on= earth. on a plantation in brazil, way up the amazon -dr. island told me.“ “i thought it was crowded on earth.“ “the cities are crowded, and the countryside closes to the cities. but there are places where its emptie than it used to be. where ignacio was, there would have been red indian hunters two or three hundred years ago; when he was there, there wasnt anyone, just the machines. now he doesnt want to be looked at, doesnt want anyone around him.“ nicholas said slowly, “dr. island said lots of people wouldnt be sick if only there werent other people around all the time. remember that?“ a “only there. are other people around all the time; thats how the world is.“ “not in brazil, maybe,“ nicholas said. he was trying to remember something about brazil, but the only thing he could think of was a parrot singing in a straw hat from the comview cartoons; and then a turtle and a hedgehog that turned into armadillos for the love of god, montressor. he said, “why didnt he stay there?“ “did i tell you about the bird, nicholas?“ she had been not listening again. “what bird?“ “i have a bird. inside.“ she patted the flat stomach below her small breasts, and for a moment, nicholas thought she had really found food. “she sits in here. she has tangled a nest in my entrails, where she sits and tears at my breath with her beak. i look healthy to you, dont i? but inside im hollow and rotten and turning brown, dirt and old feathers, oozing away. her beak will break through soon.“ “okay.“ nicholas turned to go. “ive been drinking water here, trying to drown her. i think ive swallowed so much i couldnt stand up now if i tried, but she isnt even wet, and do you know something, nicholas? ive found out im not really me, im her.“ turning back nicholas asked, “when was the last time you had anything to eat?“ “i dont know. two, three days ago. ignacio gave me something.“ “im going to try to open a coconut. if i can ill bring you back some.“ when he reached the beach, nicholas turned and walked slowly back in the direction of the dead fire, this time along the rim of dampened sand between the sea and the palms. he was thinking about machines. there were hundreds of thousands, perhaps millions, of machines out beyond the belt, but few or none of the sophisticated servant robots of earth-those were luxuries. would ignacio, in brazil (whatever that was like), have had such luxuries? nicholas thought not; those robots were almost like people, and living with them would be like living with people. nicholas wished that he could speak brazilian. there had been the therapy robots at st. johns; nicholas had not liked them, and he did not think ignacio would have liked them either. if he had liked his therapy robot he probably would not have had to be sent here. he thought of the chipped and rusted old machine that had cleaned the corridors-maya had called it corradora, but no one else ever cal

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论