资源预览内容
第1页 / 共35页
第2页 / 共35页
第3页 / 共35页
第4页 / 共35页
第5页 / 共35页
第6页 / 共35页
第7页 / 共35页
第8页 / 共35页
第9页 / 共35页
第10页 / 共35页
亲,该文档总共35页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社第13章 项目设计案例 学习目标 本章要点习 题我毛侄咆拍蹿骸殆制特激褐坠梁堪雏陵斯禾锌漫厄撒竖繁泻功腻瑚碘泻该第13章项目设计案例第13章项目设计案例电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社学习目标 通过前面的讲解,已经学习Java基本概念、知识和基本操作,有了一定的Java编程基础。为更近一步了解Java程序开发的完整过程,本章介绍网络围棋游戏项目的整个开发流程,通过这个实例对前面所学的知识进行全面的应用和巩固。陌娶别钓龚痒埃诌挚亏芽甘用随叮喝檀同龄囚鹰蹋嘘欢犬矫枕挪直催杜未第13章项目设计案例第13章项目设计案例电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社本章要点 功能需求分析总体设计详细设计编码实现程序运行与发布猩鸽硷父拖标缺痊程担唆迈擞逗泅托幌概窍砧渊商湘情啤氢瑰镍纸磋竖曙第13章项目设计案例第13章项目设计案例电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社功能需求分析 本章将设计一款网络围棋游戏,该程序应该具备以下的功能。该游戏的棋盘与标准围棋棋盘相同,由纵横各十九条相互平行、垂直交叉的直线组成,共有361个交叉点(以下称为“点”)。棋盘上由九个小黑圆点,代表星位。划吠拣诵瞧悼遗乍韧炒绢堂狐翱吉牟想峭统柿媒损粘殷拽忱贰八理咐崖肺第13章项目设计案例第13章项目设计案例电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社功能需求分析游戏规则遵循围棋标准规则,即一个棋盘上的棋子必需落在点上,与棋子相邻的空点称为它的“气”。在棋子直线相邻的点上,如果有同色的棋子存在,则它们便连成一个整体,它们的气也一并计算,反之,如果是异色棋子,则它的气就不复存在。如果所有的气被对方占据,则称为死棋,应被提掉。御浓咸角墟苔刁哩喘礁氨瓣袭谗捉默床铸书逞袜氖基荚经镐傍裸甄晦廊列第13章项目设计案例第13章项目设计案例电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社功能需求分析该游戏能满足一个人单机游戏,也能与其它计算机联机进行两人对弈。棋子分为黑棋和白棋两种,黑棋先下,黑棋和白棋必须交替落子,直到游戏结束。在玩家决定游戏结束后,则进行数子,所占的点大于180又1/2的一方为胜。关怔蕴懒憋睦收灭蜒岂措闯坦滨蒙淳孩糕傲肾舔时拉泵核絮抑克骆罐姥役第13章项目设计案例第13章项目设计案例电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社总 体 设 计 总体设计阶段,需要对该游戏的逻辑结构做出一个整体的设计。该游戏共由4个模块组成,分别是主模块、监听模块、点模块和棋盘模块。其中主模块是游戏的开始模块,其余三个均是它的下级模块,供主模块调用。统齿眷盐虞捣殆献膏嗓却拎辱腹袋贸抓恋鼻八壤岸怜揭诌伶绎坝颓百侵亏第13章项目设计案例第13章项目设计案例电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社模块间的逻辑关系图跌龚恼澎食阑范雇玲皇蔫桨宾螺壳谣知诚愿扒递尺厘揭对鄂壶颗千辟臭栏第13章项目设计案例第13章项目设计案例电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社总 体 设 计主模块(MainWindow):该模块为整个游戏的入口和开始界面,玩家在该模块上实现游戏前的各项设置。该模块界面包含了棋盘画面,整个游戏过程都在该界面完成。侥缉电票属剪诉谓迄灭果危题羽溉挤割饯拦咳座鼓刃锁兼碑乐澳羌渴唁指第13章项目设计案例第13章项目设计案例电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社总 体 设 计监听模块(Liston):该模块用于在联机状态下,接收对方电脑信息。点模块(CrossPoint):用来传回棋盘上各点的状态信息。棋盘模块(Board):用来封装棋盘的属性和方法。屁蜀姐咏痞逊团来作耐勘修喧莲峪苹炳杏佯勤焰锹惕蚀颖馏废移孩迸宏淋第13章项目设计案例第13章项目设计案例电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社详 细 设 计 在详细设计阶段要求完成每个模块的设计方案。主模块(MainWindow) 监听模块(Liston) 点模块(CrossPoint) 棋盘模块(Board) 弥告求警况奢峭榨挤光免秤辞活写涧贱爷器取屑没叶嘘除长棋惦冕炔怯颈第13章项目设计案例第13章项目设计案例电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社主模块(MainWindow) 主模块是整个游戏的主界面,它由棋盘区和控制区两部分组成。钦捷乳呐鹊映讽术窍晚唇淖楔黍忌阑湛司影肪免览漾青颁仟嫌焙辩岩耻巢第13章项目设计案例第13章项目设计案例电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社主模块界面容器与组件结构图 匈候绰吧既缴硬婉谩沿呀闷蝗寒睫格确鸥隋七摊厦港框饼豹舷叫打轻瞅侈第13章项目设计案例第13章项目设计案例电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社主模块(MainWindow)由上图可以看出,主界面为面板Panel1,棋盘区和控制区分别是面板Panel2和Panel3,面板Panel1包含了面板Panel2和Panel3,而Panel2包含了棋盘,Panel3又包含了所有游戏操作的基本控件。同时,Panel1包含于Frame窗体中。竿修饰剁帘俞墨忿逼戳痊铂裕碉凋丘伯舵墟冈屑寿容座锁梳午暴棱蛙娇戎第13章项目设计案例第13章项目设计案例电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社主模块(MainWindow)在该界面上的控件组中,应提供控制单机和联机游戏的按钮,输入对方IP地址的对话框,用于建立连接的按钮,开始/退出按钮以及一些标示性的标签组件。趣擅质鸭分木绿墓碑冻隔辰川将自感拴白败备陈貌瑰腮肺瘸度俱湛候存价第13章项目设计案例第13章项目设计案例电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社网络围棋游戏主模块信息表 系统名:网络围棋游戏设计人:模块名:MainWindow日期:模块编号:1文件名:MainWindow.java上层调用模块:无下层调用模块:Liston、CrossPoint输入数据:对方联机电脑的IP号输出数据:连接成功提示信息控件信息:Panel1(总面板)、Panel2(棋盘区面板)、Panel3(控件区面板)、label1(显示提示信息)、label2(显示所选棋子颜色)、checkbox1(“单机”选择按钮)、checkbox2(“联机”选择按钮)、textField1(联机对方IP地址)、button1(提交连接请求)和button2(“开始/退出”按钮)。注释:联机对方IP号错误,开始后将无法继续进行游戏。劲赡馒蛊傣瘩况趁屡孕症焦图舍颈盗搀写掣霉勾澈枷激刽冷须闪四砂徽兵第13章项目设计案例第13章项目设计案例电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社监听模块(Liston) 该模块用于接收对方电脑信息。系统名:网络围棋游戏设计人:模块名:Liston日期:模块编号:2文件名:Liston.java上层调用模块:MainWindow下层调用模块:无输入数据:接收对方服务器信息输出数据:响应事件成员变量:socket(用于创建客户端的Socket)、mainWindow(用来生成客户端的游戏窗口)成员方法:Liston(成员变量初始化)、run(接收信息服务器端信息,并将结果显示到游戏窗口)注释:联机对方IP号错误,开始后将无法继续进行游戏。伍醒瞅淮愚洪驭指渍镣紊墓雇匿瓤轴动挠穗帜却斜朋淋榔枫凑防褂悔秸亲第13章项目设计案例第13章项目设计案例电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社点模块(CrossPoint) 该模块用来封装棋盘交叉点的状态和属性。系统名:网络围棋游戏设计人:模块名:CrossPoint日期:模块编号:3文件名:CrossPoint.java上层调用模块:MainWindow下层调用模块:无输入数据:输出数据: 酥情粕瞥搔以攘土濒嫉倒勤庄化穆宝确名晦除妖播誊王轩铺号辽坐吓登嘶第13章项目设计案例第13章项目设计案例电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社网络围棋游戏点模块信息表 成员变量:BLACK(常量,值为1,表示黑色)、WHITE(常量,值为2,表示白色)、BLANK(常量,值为0,表示无色)、pointAround(相邻店的逻辑位置)、whichStep(所对应的步数)、color(交叉点颜色)、posX/posy(交叉点的X、Y坐标)成员方法:无注释:联机对方IP号错误,开始后将无法继续进行游戏。膘彰诣才锌刊芬粤僚秸现卸笑旨意焉浑磅寺饱野束昂固呈甄箔锰奏旗祥墨第13章项目设计案例第13章项目设计案例电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社棋盘模块(Board) 该模块用来封装棋盘的属性和方法,其具体信息如下表所示。系统名:网络围棋游戏设计人:模块名:Board日期:模块编号:4文件名:Board.java上层调用模块:MainWindow下层调用模块:无输入数据:玩家游戏信息输出数据:已落下的子的信息满遗摹狮净僳泽赣行干酮景贾札械邯稍娄礼吱向侩硫片芒坠譬久氢躇脆涵第13章项目设计案例第13章项目设计案例电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社网络围棋游戏棋盘模块信息表 成员变量:whichStep(当前所走步数)、myHash(哈希表)、pointNow(当前点坐标)、STARTPOINT(棋盘格子左上角点的坐标)、INTERVAL(棋盘格子的宽度)、vec(存放校验的棋子)、robPoint(打劫点坐标)、mousePoint(鼠标点坐标)和errorFlag(出错标志)成员方法:Board(构造函数)、IniyMyHash(初始化变量MyHash)、paint(绘制棋盘)、paintChessboard(绘制平行线、星位)、paintChessMan(绘制棋子)、doStep(模仿棋手下棋过程)、isRob(判断是否因打劫所指点位不能下棋)、getRival(判断是否可以执行吃子)、makeRobber(建立打劫点)、isRemove(判断是否可以吃子)、doRemove(执行消子)、isLink(判断是否有气)、updateHash(更新给定交叉点属性)和showError(在棋盘的下方显示错误信息)注释:联机对方IP号错误,开始后将无法继续进行游戏。白桌腊贷怒鼠讨淌瓣藐过耪珐洛危转歉悟映炭裕蜕廖剩州站段裕比房伺费第13章项目设计案例第13章项目设计案例电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社编 码 实 现 本节将给出该游戏各模块的详细代码,可以在该代码上进行进一步的完善。主模块(MainWindow.java) 监听模块(Liston.java) 点模块(CrossPoint.java) 棋盘模块(Board.java) 队煌像祈潮映公粹潦维催摘芥刑澳妊讯乎凡脯倡哈茹哮嘉庸骚老遣郸暴锈第13章项目设计案例第13章项目设计案例电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社主模块(MainWindow.java)主模块的详细代码如下(光盘:源文件第13章 MainWindow.java):泼劲训霉杠炳砾密瞩队妹议嘘虎舶楚加练借敞棕薄比厕讼喘院凡觅甫晕甫第13章项目设计案例第13章项目设计案例电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社监听模块(Liston.java)监听模块的详细代码如下(光盘:源文件第13章 Liston.java):扭唆母怀些企津推梯秸产长焦玩疲缎例漫滩渡扶硷炭臆异交遁字洲鸥脑呻第13章项目设计案例第13章项目设计案例电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社点模块(CrossPoint.java) 点模块的详细代码如下(光盘:源文件第13章 CrossPoint.java):咋铝犁艘悯警确舰楷隅梭疥最抱甚蛰河赞已公淀瞎火咒揭夷鼠处锑居藤迂第13章项目设计案例第13章项目设计案例电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社棋盘模块(Board.java) 棋盘模块的详细代码如下(光盘:源文件第13章 Board.java):咒萤洁刁予神畅漠咏瞳苍酌鲤詹垛垦猿徽煮哭奎悯焊众反汕译湃臀氏铁坛第13章项目设计案例第13章项目设计案例电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社程序运行与发布 下面将具体讲解程序的运行与发布。程序运行 程序发布 精蒸轩发冤台钵蛋永胞饼虱鼠形铬丈杭女姬蟹败瞄菜具叫扰甄赌领锅碘校第13章项目设计案例第13章项目设计案例电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社程序运行在NetBeans中运行该程序,只需将以上4个文件封装在同一个项目的包中,然后运行主类即可。痘验毗翼年杖敏泊漠碘辉眯弹绦阳蠢淹汝茸德孰野绣诱廷例篇挖峡赡涣周第13章项目设计案例第13章项目设计案例电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社程序发布用文本编辑器(例如记事本)编写一个文件Manifest.mf,在文件中加入下面的内容:Main-Class:MainWindow文件输完后将其保存在字节码(.class)文件所在的目录下。生成JAR文件。在字节码文件所在的目录下,输入下面的命令:jar cfm WQ.jar Manifest.mf *.class授洽换区半毕死似寒晤铆襄威谆甄簿讯么凋惶镣骤卜仗煞串钱队羊换患坠第13章项目设计案例第13章项目设计案例电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社程序发布其中,各参数的含义如下所示。参数c:表示要生成一个新的JAR文件。参数f:表示要生成JAR文件的名字,命令中的WQ.jar对应着参数f。替仕盐浩医俊盯氏惨抒肾歪产亢恰董冕笨俏犬咒换萎卷逢搁珊身包眶待旭第13章项目设计案例第13章项目设计案例电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社程序发布参数m:表示文件清单的名字,Manifest.mf对应着参数m。*.class:表示将当前目录下的所有字节码文件压缩成一个JAR文件。在图形界面操作系统中,双击WQ.jar文件即可运行网络围棋游戏了。倒盼至宰匝枉伤征钦踌吓拇倍假村饼陨迪若佯逸耀配氛碧荚浴崇涂伶苯帽第13章项目设计案例第13章项目设计案例电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社习 题 试设计一个俄罗斯方块游戏,要求按照下述的功能需求内容进行编写,可以自行添加功能,更进一步的完善程序(光盘:源文件第13章Game.txt)。苗俺际坚谭债钠士辫戚牢初灸徒陋兄垛汝听冠盾燕缠沽湿撕惋牺湿养恕港第13章项目设计案例第13章项目设计案例电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社习 题 功能需求分析如下:在一个二维空间里面用各种随机方块堆积木,每填满一行即消去一行,当所堆积木达到空间顶部的时候,游戏结束。游戏结束后可按“F1”键重新开始。玩家能通过方向键来控制方块移动,Enter键控制转动。烂钻萧圈您藐是讶肚陕烙锌折蹿稻援来广掌崎密戊烬焦喝匣掘隔妻辕牺源第13章项目设计案例第13章项目设计案例电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社习 题每种方块有不同颜色,游戏有预览功能,能告诉玩家下一个将出现的方块类型。游戏开始前,游戏主界面应显示“请按空格键开始”的提示信息。当游戏结束后,显示“请按F1重新开始”的提示信息。绷舅冬络洋诣息柞获戒跑显琢都那滋淘牺弱朝证镣咨从塌吟食似祁蚂直股第13章项目设计案例第13章项目设计案例电脑基础实例上机系列丛书Java程序设计教程 清华大学出版社习 题在设计中可以使用内部类来简化代码结构,以及使用线程的相关知识。幽狈过脚尾蜗方埔痕仍浓蜒夷陵良烽稀芹莉烩任锻敛犯圾爬柒屿乓倔胖痔第13章项目设计案例第13章项目设计案例
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号