===============================<Java 语言基础课期末大作业说明文件>===============================
作者:张濮 (ZeroPoint) 学号:981176(无86) 班号:h
1999.5.23
我的Java 语言基础课期末大作业包括两部分:BeyondZeroPoint Application 0.9(以下简称BZP0.9) 和 BeyondZeroPoint Applet 0.8(以下简称BZP0.8). 其中,BZP0.9 是在 BZP0.8 的基础上改进而成,包括客户端程序和服务端程序.
一.程序所涉及的知识点和规模
BZP0.8:多线程、GUI,有声音功能,约900行.
BZP0.9:多线程、GUI、网络通讯,无声音功能,约1200+400行.
二.程序的功能、实现原理
1.使用赛车类(Class Car)来记录赛车的各种参数并负责在Class Road实例中绘制赛车.
2.使用赛道类(Class Road)绘制标志物并根据赛车类(Class Car)实例的速度来移动标志物使之产生赛车在跑的感觉.
3.使用ThRace线程进行比赛,并用Boolean Pause来控制暂停和继续.
4.使用ThCountTime线程来计时,并用方法suspend() resume()来控制暂停和继续.
5.使用地图画布类(Class MapCanvas)来显示时间,并将直线赛程映射成一个环形赛道以显示各个赛车的相对位置.
6.使用消息画布(Class InfoCanvas)类来显示自己控制的赛车的一些信息.
7.使用客户类(Class BZPClient)来处理网络通讯.当连接时,生成客户类对象.若连接成功,则在客户类对象中生成ThNet线程负责网络通讯.
8.对于网络数据的处理,使用了Class StringTokenizer来解析,用"#"作为分隔符,分别用不同的前缀来标志不同类别的数据: Connect#... 连接数据;
Talk#... 网络交谈数据;
Race#... 网络游戏数据;
Bye 离线数据.
9.现在每个客户之间都可以互相交流,每个客户可以通过服务端程序获得其它所有客户的数据(从网络交谈可以证明).但考虑到赛车游戏的即使性(必须时刻交换比赛数据,不像网络棋类每隔一定时间处理一下网络数据)和目前网络的速度等状况,赛车的网络联机游戏不具可行性.所以在这个期末作业中未实现网络联机游戏功能,只是作为一个设想.
10.服务端程序使用ThNet线程来监听客户端的联网请求,当监听到一个请求时,就生成一个属于dealGroup线程组的线程,这个线程是处理类(Class DealThread)的实例,它负责处理这个客户的各种操作.
其它函数的功能在程序的注释中有说明.
三.操作步骤
BZP0.8:Player1:"LEFT" "RIGHT" "UP" "DOWN" 控制方向
<> 加、减速
' 超级加速
; 升挡位
Player2: f h t g 控制方向
a s 加、减速
w 超级加速
q 升挡位
"SPACE" 暂停/继续
Button "开始" 比赛开始
"结束" 比赛结束
"暂停" 比赛暂停
"继续" 比赛继续
"设置" 比赛设置
"关于" 弹出关于窗口
BZP0.9:客户端(只可一个人游戏)
Player1:"LEFT" "RIGHT" "UP" "DOWN" 控制方向
f d 加、减速
t 超级加速
r 升挡位
"SPACE" 暂停/继续
Button "开始" 比赛开始
"结束" 比赛结束
"暂停" 比赛暂停
"继续" 比赛继续
"设置" 比赛设置
"连接" 联入网络
"准备" 通知服务端已客户端准备好进行比赛(未实现)
"放弃" 放弃本轮比赛(未实现)
"发送" 发送交谈信息
"BYE" 离开网络
Menu "退出游戏" 比赛结束并关闭窗口
"关于" 弹出关于对话框
联网 在"服务器名"处填入服务端程序所在的计算机名或IP地址
若成功则
在"服务器IP地址"处将显示出服务端程序所在的计算机的IP地址
并且整个界面更换为网络工作的界面
服务端
Button "开始" 比赛开始(未实现)
"结束" 比赛结束(未实现)
"暂停" 比赛暂停(未实现)
"继续" 比赛继续(未实现)
"设置" 比赛设置(未实现)
"准备" 通知客户端准备好进行比赛(未实现)
"发送" 向所有客户发送信息
四.其它
王老师,如果您有疑问或建议,请您在"作业处理"中的"取作业"处指出,因为我现在还没有E-mail.
最后,感谢您在这学期付出的劳动.
没有合适的资源?快使用搜索试试~ 我知道了~
Java教程清华版.rar
共237个文件
class:113个
java:69个
gif:10个
需积分: 0 42 下载量 104 浏览量
2007-12-29
15:52:11
上传
评论
收藏 1.17MB RAR 举报
温馨提示
Java教程清华版.rar
资源详情
资源评论
资源推荐
收起资源包目录
Java教程清华版.rar (237个子文件)
944323 2KB
960741 2KB
960747 2KB
960752 133B
960999 2KB
Stitches.bmp 5KB
Student.class 12KB
ObjectDatabaseFile.class 6KB
ImageViewer.class 5KB
Dialog1.class 5KB
QuitDialog.class 5KB
AboutDialog.class 4KB
RecitePanel.class 4KB
SeaWarFrame.class 4KB
SeaWar.class 4KB
fileedit.class 4KB
E_CDicPanel.class 4KB
Clock2.class 4KB
Words.class 4KB
Map.class 4KB
RelativeURL.class 3KB
Context.class 2KB
ExitFrame.class 2KB
WelcomPanel.class 2KB
exercise4_1.class 2KB
MenuFrame.class 2KB
AWTComponent.class 2KB
Document.class 2KB
Navy.class 2KB
ExchangeData.class 2KB
WordsLibApplication.class 2KB
Book.class 2KB
sanmao.class 2KB
DoubleClick.class 2KB
P.class 2KB
ApplctFrame.class 2KB
BankAccount.class 2KB
ServerThread.class 2KB
Student$SymAction.class 2KB
Vector_1.class 2KB
UseFonts.class 1KB
Server.class 1KB
Array_1.class 1KB
library.class 1KB
ButtonAct.class 1KB
caculator.class 1KB
caculator.class 1KB
testArgs.class 1KB
UseAccount.class 1KB
Cleanser.class 1KB
DrawMyImage.class 1KB
Parcel.class 1KB
SimpleGraphicsInOut.class 1KB
SelectPanel.class 1KB
QuitDialog$SymAction.class 1KB
Student.class 1KB
Ship.class 1007B
exercise6_1.class 1004B
AboutDialog$SymAction.class 948B
Detergent.class 931B
DoubleClick$click.class 901B
BankAccount.class 893B
Student.class 887B
Student.class 885B
Dialog1$SymMouse.class 883B
AboutDialog$SymWindow.class 878B
QuitDialog$SymWindow.class 870B
ExitItFrame.class 862B
Client.class 851B
Student$SymWindow.class 846B
Dialog1$SymWindow.class 845B
SimpleCharInOut.class 836B
DoubleClick$move.class 786B
exercise3_1.class 773B
MyDate.class 766B
MenuFrame$ML.class 740B
CheckAccount.class 696B
Sandwich.class 684B
exercise1.class 668B
Dog.class 663B
Cat.class 663B
Percussion.class 622B
Stringed.class 620B
CatsAndDogs.class 620B
Wind.class 616B
Shapes.class 614B
Empty.class 614B
ButtonAct$B2.class 600B
ButtonAct$B1.class 600B
Rock.class 598B
ToolTest.class 584B
Parcel$Destination.class 570B
SaveAccount.class 567B
SimpleConstructor.class 552B
Triangle.class 550B
Circle.class 546B
Square.class 546B
Parcel$Contents.class 508B
exercise2_2.class 498B
DoubleClick$wd.class 498B
共 237 条
- 1
- 2
- 3
lxs9731
- 粉丝: 1
- 资源: 19
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0