日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java五子棋源代码_java 五子棋游戏源码

發(fā)布時(shí)間:2023/12/13 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java五子棋源代码_java 五子棋游戏源码 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

【實(shí)例簡介】

【實(shí)例截圖】

【核心代碼】

package game;

import java.applet.Applet;

import java.applet.AudioClip;

import java.awt.BorderLayout;

import java.awt.Button;

import java.awt.Container;

import java.awt.FlowLayout;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.net.URL;

import javax.swing.BorderFactory;

import javax.swing.ImageIcon;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

// 五子棋的主框架

public class StartChessJFrame extends JFrame {

private ChessBoard chessBoard;//對(duì)戰(zhàn)面板

private JPanel toolbar;//工具條面板

private Button startButton;//設(shè)置開始按鈕

private Button backButton;//設(shè)置悔棋按鈕

private Button exitButton;//設(shè)置退出按鈕

private JPanel leftbar; //設(shè)置左面板,包括頭像以及名稱

private JPanel playerbar1;//玩家一頭像

private JPanel playerbar2;//玩家二頭像

public StartChessJFrame(){

setTitle("五子棋");//設(shè)置標(biāo)題

chessBoard=new ChessBoard();//初始化面板對(duì)象,創(chuàng)建和添加菜單

setSize(780,654);

setResizable(false);// 設(shè)置窗體不可以放大

MyItemListener lis=new MyItemListener();//初始化按鈕事件監(jiān)聽器內(nèi)部類

Container contentPane=getContentPane();

contentPane.add(chessBoard);

chessBoard.setOpaque(true);

ClassLoader loader = StartChessJFrame.class.getClassLoader(); //加載圖片

// URL url_1 = loader.getResource("player1.jpg");

// ImageIcon player1 = new ImageIcon(url_1);//玩家1頭像

// URL url_2 = loader.getResource("player2.jpg");

// ImageIcon player2 = new ImageIcon(url_2);//玩家2頭像

leftbar = new JPanel();

playerbar1= new JPanel();

playerbar2=new JPanel();

playerbar1.setLayout(new GridLayout(1,1));//1行一列

playerbar2.setLayout(new GridLayout(1,1));//1行一列

JPanel playerPanel1 = new JPanel(new GridLayout(1,1,5,20));//玩家頭像總區(qū)域

JPanel playerPanel2 = new JPanel(new GridLayout(1,1,5,20));

// JLabel player1Label = new JLabel(player1);

// JLabel player2Label = new JLabel(player2);

// playerPanel1.add(player1Label);//玩家1

// playerPanel2.add(player2Label);//玩家2

playerbar1.add(playerPanel1);

playerbar2.add(playerPanel2);

JLabel player1name=new JLabel(" 黑方");

JLabel player2name=new JLabel(" 白方");

leftbar.setLayout(new GridLayout(4, 1,5,10));//4行一列

leftbar.add(playerbar1);

leftbar.add(player1name);

leftbar.add(playerbar2);

leftbar.add(player2name);

leftbar.setBorder(BorderFactory.createEmptyBorder(50,10,18,10));

toolbar=new JPanel();//工具面板欄實(shí)例化

toolbar.setBorder(BorderFactory.createEmptyBorder(0,25,0,30));

startButton=new Button("重新開始");

backButton=new Button("悔棋");

exitButton=new Button("退出");//三個(gè)按鈕初始化

toolbar.setLayout(new FlowLayout(FlowLayout.LEFT));//將工具面板按鈕用FlowLayout布局

chessBoard.setLayout(new BorderLayout());

toolbar.add(backButton);

toolbar.add(startButton);

toolbar.add(exitButton);//個(gè)按鈕添加到工具面板上

startButton.addActionListener(lis);

backButton.addActionListener(lis);

exitButton.addActionListener(lis);//將三個(gè)按鈕事件注冊(cè)監(jiān)聽事件

add(leftbar,BorderLayout.WEST);

add(toolbar,BorderLayout.SOUTH);//將工具面板布局到界面南方也就是下面

add(chessBoard,BorderLayout.CENTER);//將面板對(duì)象添加到窗體上

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//設(shè)置界面關(guān)閉事件

pack();//自適應(yīng)大小

}

private class MyItemListener implements ActionListener{

public void actionPerformed(ActionEvent e) {

Object obj=e.getSource();//獲取事件源

if(obj==startButton){

System.out.println("重新開始...");//重新開始

chessBoard.restartGame();

}else if(obj==exitButton){

System.exit(0);//結(jié)束應(yīng)用程序

}else if(obj==backButton){

System.out.println("悔棋...");//悔棋

chessBoard.goback();

}

}

}

static void playMusic(){//背景音樂播放

// URL cb;

// ClassLoader loader = StartChessJFrame.class.getClassLoader();

// cb= loader.getResource("背景音樂.wav"); // 獲取背景音樂資源

// AudioClip aau;

// aau = Applet.newAudioClip(cb);

// //aau.play();

// aau.loop();//循環(huán)播放

// System.out.println("可以播放");

}

public static void main(String[] args) {

StartChessJFrame f=new StartChessJFrame();//創(chuàng)建主框架

playMusic(); //播放背景音樂

f.setVisible(true);//顯示主框架

}

}

總結(jié)

以上是生活随笔為你收集整理的java五子棋源代码_java 五子棋游戏源码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。