- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE
PAGE 1
《计算机网络》设计报告
题 目: 局域网五子棋设计
班 级: 计算机08.2班
姓 名: 颜晓云
指导教师: 杨松波
2011年 7
目 录
TOC \o 1-3 \h \z \u 1、概论 - 2 -
2、功能介绍 - 2 -
3、程序流程图 - 2 -
4 、实现代码 - 3-
5、总结体会 - 9-
6、参考文献 - 9 -
第一章 绪论
主要运用了GUI(用户图形界面)和API(应用程序借口)来实现。当然,Event监听器等也是这个程序的重要部分。程序没有用到图片的引用,棋盘和棋子的设计完全是应用坐标来绘制,再加入按钮、及实现本游戏的用户界面布局。程序编写的思路来源于网上和书上的资料,程序在编写过程中遇到的问题主要集中在前期的棋盘绘制和后期的棋子算法。
第二章 功能介绍
(1)程序在设计初就定义黑棋先行,白棋随后。从第一个棋子开始开始相互顺
序落子。
(2)通过坐标索引算出最先在棋盘的横向、竖向、斜向形成连续的相同色五棋
子的一方为胜利。
(3)在游戏过程中或下完时可选择重新开始。
(4)赢家对话框提示。
第三章 程序流程图
第四章 实现代码
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.Point;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.InputEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
public class ChessFrm extends JFrame implements ActionListener {
int step;
JButton butnStart = new JButton(重新开始);
FiveChess chess = new FiveChess();
FlowLayout flow = new FlowLayout();
JPanel panelPaint=new JPanel(),panelEast=new JPanel();//panelPaint为画五子棋的面板
ChessFrm(String s) {
super(s);
setBounds(100, 100, 600, 600);
setLayout(new BorderLayout());
setVisible(true);
setResizable(false);
add(panelPaint);
panelEast.add(butnStart);
add(panelEast,BorderLayout.EAST);
butnStart.addActionListener(this);
addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if(e.getModifiers()==InputEvent.BUTTON3_MASK)
return;
int x = e.getX()-3;//鼠标单击位置为在整个窗体中的位置,包括标题栏和侧边
int y = e.getY()-23;
System.out.println(鼠标单击位置: + x + , + y);
Point index = chess.getIndex(x, y);//得到行列
if (index != null) {
drawNode(index.x, index.y);
step++;
if (chess.isWin(index.x, index.y)) {
String str = chess.wh
文档评论(0)