📄 tframe.java~218~
字号:
menuBar.add(menu4);
MenuItem menuItem1_1=new MenuItem("开始游戏");
MenuItem menuItem1_2=new MenuItem("暂停游戏");
MenuItem menuItem1_3=new MenuItem("结束游戏");
MenuItem menuItem1_5=new MenuItem("背景音乐");
MenuItem menuItem1_4=new MenuItem("关闭");
menu1.add(menuItem1_1);
menu1.add(menuItem1_2);
menu1.add(menuItem1_3);
menu1.add(menuItem1_5);
menu1.addSeparator();
menu1.add(menuItem1_4);
//安装监听器
menuItem1_1.addActionListener(menuListener);
menuItem1_2.addActionListener(menuListener);
menuItem1_3.addActionListener(menuListener);
menuItem1_4.addActionListener(menuListener);
menuItem1_5.addActionListener(menuListener);
MenuItem menuItem2_1=new MenuItem("设置级别");
MenuItem menuItem2_2=new MenuItem("游戏设置");
MenuItem menuItem2_3=new MenuItem("等待对方连接");
MenuItem menuItem2_4=new MenuItem("连接对方");
MenuItem menuItem2_5=new MenuItem("键盘设置");
menu2.add(menuItem2_1);
menu2.add(menuItem2_2);
menu2.addSeparator();
menu2.add(menuItem2_3);
menu2.add(menuItem2_4);
menu2.add(menuItem2_5);
menuItem2_1.addActionListener(menuListener);
menuItem2_2.addActionListener(menuListener);
menuItem2_3.addActionListener(menuListener);
menuItem2_4.addActionListener(menuListener);
menuItem2_5.addActionListener(menuListener);
MenuItem menuItem4_1=new MenuItem("关于");
menu4.add(menuItem4_1);
menuItem4_1.addActionListener(menuListener);
setMenuBar(menuBar);
}
private class MenuListener implements ActionListener
{
TFrame m_tFrame;
public MenuListener(TFrame tFrame)
{
m_tFrame=tFrame;
}
public void actionPerformed(ActionEvent e)
{
//Invoked when an action occurs.
String sCommand=e.getActionCommand();
if(sCommand.equals("开始游戏")) //start game
{
if(m_tFrame.m_nRivalStatus==m_tFrame.P_RIVAL){
c_tetrics.start();
statusBar.setText("开始游戏");
if (m_tFrame.isPlay) {//if play the music
m_tFrame.start();
}
}
else if(m_tFrame.m_nRivalStatus==m_tFrame.NET_RIVAL){
c_tetrics.start();
statusBar.setText("开始游戏");
if (m_tFrame.isPlay) {//if play the music
m_tFrame.start();
}
//控制开始玩游戏的代码加到这儿
// System.out.println("开始游戏");
if (m_tFrame.m_nNetStatus == TFrame.CLIENT) {
new WarningD();
return;
}
if (m_tFrame.m_nNetStatus == TFrame.SERVER) {
m_tFrame.sendStr("StartGame");
m_tFrame.sendStr("Level:" + m_tFrame.m_tetrics.getPlayLevel());
}
m_tetrics.start();
statusBar.setText("开始游戏");
if (m_tFrame.isPlay) {
m_tFrame.start();
}
}
else if(m_tFrame.m_nRivalStatus==m_tFrame.COMPUTER_RIVAL)
{
p_tetrics.start();
statusBar.setText("开始游戏");
if (m_tFrame.isPlay) {//if play the music
m_tFrame.start();
}
}
}
else if(sCommand.equals("结束游戏")) //game exit
{
//控制结束游戏的代码加到这儿。
if(m_tFrame.m_nRivalStatus==m_tFrame.P_RIVAL){
c_tetrics.stop();
statusBar.setText("开始游戏");
m_tFrame.stop();
}
else if(m_tFrame.m_nRivalStatus==m_tFrame.NET_RIVAL){
if (m_tFrame.m_nNetStatus == TFrame.CLIENT) {
new WarningD();
return;
}
if (m_tFrame.m_nNetStatus == TFrame.SERVER) m_tFrame.sendStr(
"StopGame");
m_tFrame.stop();
m_tetrics.stop();
statusBar.setText("结束游戏");
}
else if(m_tFrame.m_nRivalStatus==m_tFrame.COMPUTER_RIVAL)
{
p_tetrics.stop();
statusBar.setText("开始游戏");
m_tFrame.stop();
}
}
else if(sCommand.equals("暂停游戏")) //game pause
{
//控制暂停游戏的代码加到这儿。
if(m_tFrame.m_nRivalStatus==m_tFrame.P_RIVAL){
c_tetrics.pause();
statusBar.setText("暂停游戏");
}
else if(m_tFrame.m_nRivalStatus==m_tFrame.NET_RIVAL){
if (m_tFrame.m_nNetStatus == TFrame.CLIENT) {
new WarningD();
return;
}
if (m_tFrame.m_nNetStatus == TFrame.SERVER) m_tFrame.sendStr(
"PauseGame");
m_tetrics.pause();
statusBar.setText("暂停游戏");
}
else if(m_tFrame.m_nRivalStatus==m_tFrame.COMPUTER_RIVAL)
{
p_tetrics.pause();
statusBar.setText("暂停游戏");
}
}
else if(sCommand.equals("背景音乐")) //set the backsound
{
Dsound DS=new Dsound(m_tFrame);
DS.setSize(370,215);
DS.setLocation(400,300);
DS.show();
}
else if(sCommand.equals("关闭")) //close the game
{
//控制关闭游戏的代码加到这儿。
if(m_tFrame.m_nRivalStatus==m_tFrame.NET_RIVAL){
m_tFrame.sendStr("quit");
if (m_tFrame.m_nNetStatus == m_tFrame.SERVER) m_tFrame.server.close();
if (m_tFrame.m_nNetStatus == m_tFrame.CLIENT) m_tFrame.client.close();
}
System.exit(0);
}
else if(sCommand.equals("设置级别")) //set the level
{
//控制设置级别的代码加到这儿。
if(m_tFrame.m_nRivalStatus==m_tFrame.NET_RIVAL){
if (m_tFrame.m_nNetStatus == TFrame.CLIENT) {
new WarningD();
return;
}
}
SelectLevel sl = new SelectLevel(m_tFrame);
sl.setSize(300, 180);
sl.setLocation(400, 300);
sl.show();
}
else if(sCommand.equals("游戏设置")){
GameSet s=new GameSet(m_tFrame);
s.setSize(280,240);
s.setLocation(400,300);
s.show();
}
else if(sCommand.equals("等待对方连接")) // wait connection
{
//做一个服务器,等待对方连接
if(m_tFrame.m_nRivalStatus==m_tFrame.NET_RIVAL){
if (m_tFrame.m_nNetStatus == TFrame.CLIENT) {
new WarningD();
return;
}
m_tFrame.server = new MyServer(m_tFrame);
System.out.println("开始监听");
m_tFrame.m_nNetStatus = SERVER;
m_tFrame.isServer = true;
}
}
else if(sCommand.equals("连接对方"))
{
if(m_tFrame.m_nRivalStatus==m_tFrame.NET_RIVAL){
ContoServer c=new ContoServer(m_tFrame);
c.setSize(280,185);
c.setLocation(400,300);
c.show();
m_tFrame.m_nNetStatus = m_tFrame.CLIENT;
m_tFrame.isServer = false;
m_tFrame.sendStr("StartGame");
m_tFrame.sendStr("Level:" + m_tFrame.m_tetrics.getPlayLevel());
m_tFrame.m_tetrics.start();
statusBar.setText("游戏中");
}
}
else if(sCommand.equals("键盘设置")){
SetKey c=new SetKey(m_tFrame);
c.setSize(280,185);
c.setLocation(400,300);
c.show();
}
else if(sCommand.equals("关于"))
{
About d=new About();
d.setSize(320,290);
d.setLocation(400,300);
d.show();
//控制显示游戏的关于对话框的代码加到这儿。*/
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -