📄 j_fir_help.java
字号:
//显示帮助信息的窗口类
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class J_FIR_Help extends JFrame
{
public final int[] u_Choice = {-1};
private JTextArea t;
public J_FIR_Help()
{
super("帮助");
Container c = getContentPane();
c.setLayout(null);
t = new JTextArea();
JScrollPane s = new JScrollPane(t);
c.add(s);
s.setBounds(100,100,400,350);
JButton b = new JButton("确定");
c.add(b);
b.setBounds(new Rectangle(450,500,80,35));
m_append("五子棋游戏(网络&单机版)的使用方法\n");
m_append("一、 如何编译、运行");
m_append("首先将以下11个源文件放入同一个文件夹中");
m_append("(J_FIR_Server.java文件是服务器程序,与其他文件独立,");
m_append("您没有这个文件也能正常运行客户端程序):");
m_append("J_FIR_Board.java");
m_append("J_FIR_Choose.java");
m_append("J_FIR_Client.java");
m_append("J_FIR_Help.java");
m_append("J_FIR_Host.java");
m_append("J_FIR_Introduction.java");
m_append("J_FIR_Invite.java");
m_append("J_FIR_Message.java");
m_append("J_FIR_Name.java");
m_append("J_FIR_Server.java");
m_append("J_FIR_TwoChoice.java");
m_append("打开开始菜单 -> 运行cmd -> 进入上面的文件夹目录,键入");
m_append("javac J_FIR_Server.java");
m_append("javac J_FIR_Client.java");
m_append("进行编译。编译成功后键入");
m_append("java J_FIR_Server");
m_append("即运行服务器程序");
m_append("java J_FIR_Client");
m_append("即运行客户端程序");
m_append("\n二、 如何操作(交互)\n");
m_append("单机版:\n");
m_append("只需运行客户端程序(运行方法见上)。");
m_append("在菜单栏中选择 操作(O) ->开局(单机)(N) ");
m_append("(注:括号内字母为快捷键,使用方法是同时按下ctrl和括号内的字母所对应的按键,");
m_append("即相当于用鼠标点击该选项)即启动单机模式,");
m_append("您可以自己在棋盘上下黑白双方棋,程序能够自动判断胜负。");
m_append("当您再次选择该选项时,程序会清空棋盘。");
m_append("另外,无论在何种模式下,您都可以打开对局存档和复盘,当然这也有一些限制,");
m_append("如在与别人下棋时不能复盘,等等,将在下文说明。");
m_append("\n网络版:\n");
m_append("如果您想和别的客户端进行网络对局,则需要有一个服务器端。");
m_append("这个服务器端可以在您的电脑上,也可以在别的主机上。");
m_append("注意:别人也是用客户端和您下棋,而不是服务器端。");
m_append("所以只需有一个服务器,即可供多人同时在线进行一对一的对局。");
m_append("当然,由于程序设计的原因,服务器将为每个客户端开一个线程,");
m_append("在使用时请随时关注您电脑的承受能力。");
m_append("\n下面假设已经有一个服务器在网上运行。");
m_append("首先,您仍然是运行客户端程序(输入java J_FIR_Client),");
m_append("进入上述界面后选择 网络(W) -> 连接到服务器(C)");
m_append("弹出一个对话窗口:");
m_append("如果服务器在您的本机上,则直接点“确定”即可(默认为localhost),");
m_append("否则请输入服务器的主机名,然后点确定。");
m_append("点击确定后,又会弹出一个信息窗口,您在框中输入您的名字或昵称,再单击“确定”即可。");
m_append("刚进入服务器时,系统会自动帮您搜索当时的空闲在线用户,");
m_append("结果会在界面右边的信息窗口显示,空闲用户名单还会以按钮的形式显示在棋盘下方。");
m_append("点击左下方名字对应的按钮,您即可向他们发出邀请。");
m_append("如果对方接受,你们就可以开始一盘新的对局。");
m_append("对局开始前,您需要选择黑/白棋或随机。");
m_append("为充分考虑大家的意见与公平起见,服务器将采取随机决定黑白棋的形式,");
m_append("除非一方选择黑棋而另一方选择白棋。");
m_append("本程序还支持“续下”功能,您可以在邀请对方之前打开一个已保存的对局(当然是没下完的;");
m_append("值得注意的是,目前暂时只支持打开当前文件夹下的文件,否则会出错),再点击对方名字的按钮。");
m_append("当黑白棋确定以后,您就可以和对方进行对局。最后下的棋子会被标记以红色三角形的符号");
m_append("\n在对局中,您可以选择下列选项:\n");
m_append("1.文件 ->保存:保存当前棋局进程,供复盘和续下使用。");
m_append("存档是以一种特定的格式(DataInputStream的writeInt)写入文件的,文件名任意;");
m_append("2.文件 ->退出程序:这将向服务器发送断线请求并退出程序");
m_append("(事实上在任何时候选择这个选项都会退出程序,在与他人对局时不建议这样做),对方直接获胜;");
m_append("3.操作 ->悔棋:向对方提出悔棋申请,如果得到同意,将退回到申请人上一次落子前的状态;");
m_append("4. 操作 ->认输:直接判定对方获胜;");
m_append("5. 网络 ->退出服务器:这将向服务器发送断线请求,但不退出程序;这也将直接判定对方获胜;");
m_append("6. 帮助 ->游戏控制:显示帮助信息;");
m_append("7. 帮助 ->关于:显示程序版本、作者信息等。");
m_append("其中,“帮助”菜单下的两个子菜单随时可以查看。");
m_append("此外,在对局中您可以随时通过聊天输入框输入语句并按回车发送给对方,");
m_append("您也可以在信息窗口中看到对方和您说的话。");
m_append("对局结束后,系统会向您询问是否保存对局。选择保存或取消后,");
m_append("系统还会询问您是否再来一局,或者退出。");
m_append("考虑到尊重双方选择,当且仅当双方都选择“再来一局”时,才会继续,否则双方均退出对局室,");
m_append("并且状态同时变为“空闲”,可以让其他客户端搜索到。");
m_append("在上面提到的“空闲”状态,即连接到服务器而不在下棋或复盘的状态下,");
m_append("除了可以邀请其他人下棋或接受下棋请求外,您还可以进行复盘(复盘在未连网状态下也可进行)。");
m_append("\n复盘的操作是:\n");
m_append("首先选择 文件->打开 打开一个存档文件(格式需匹配,并且目前须在程序所在的文件夹内),");
m_append("然后选择 操作->复盘,就会进入“复盘模式”,在棋盘下方出现一个文字提示标签和五个按钮");
m_append("点击不同按钮,棋盘就会按相应的功能进行更新,到最后一步时显示获胜方:");
m_append("点击“退出复盘”即可退出复盘模式,再选择 文件 -> 关闭已打开的棋局 关闭当前打开的棋局。");
m_append("另外,本程序暂不支持“禁手”等规则的限制,所以黑方有较大优势。");
m_append("\n使用说明到此结束,如果您有什么意见和建议,");
m_append("可以发送邮件到hjfzszthss@gmail.com,或直接联系本人。");
t.setEditable(false);
b.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
u_Choice[0] = 1;
}
}
);
}
public void m_append(String s)
{
t.append(s+"\n");
t.setCaretPosition(t.getText().length());
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -