本文实例讲述了 Java 实现的五子棋游戏代码 , 分享给大家供大家参考 , 具体代码如下
حزمة gyb.exam ؛ استيراد java.awt.borderlayout ؛ استيراد java.awt.color ؛ استيراد java.awt.dimension ؛ استيراد java.awt.font ؛ استيراد java.awt.graphics ؛ استيراد java.awt.awt. java.awt.event.mouseadapter ؛ استيراد java.awt.event.mousevent ؛ استيراد java.util.arraylist ؛ استيراد javax.swing.icon ؛ استيراد javax.swing.imageicon ؛ استيراد javax.swing.jbutton ؛ استيراد javax.swing.jframe ؛ javax.swing.jlabel ؛ javax.swing.jmenu ؛ javax.swing.jmenubar ؛ javax.swing.jpanel ؛ import javax.swing.border.titledborder ؛ يمتد Mainframe من الطبقة العامة JFrame {private static int big = 15 ؛ int static int in one = 25 ؛ بداية ثابتة ثابتة int = 10 ؛ ثابت خاص int x = big*start/2 ؛ ثابت خاص int y = big*start/2 ؛ private int hl = big*one+start ؛ isblack الثابتة الثابتة. canvasframe canvas = new canvasframe () ؛ Canvasframe Can ؛ الرسومات ز ؛ Mainframe () {init () ؛ } نقطة نقطة خاصة ؛ arraylist private <point> BlackList = New ArrayList <Point> () ؛ ArrayList Private <point> stelist = new ArrayList <Point> () ؛ private void init () {jmenubar bar = new jmenubar () ؛ setjmenubar (بار) ؛ SetSize (600،600) ؛ Settitle ("五子棋") ؛ قائمة Jmenu = New Jmenu ("Game") ؛ bar.add (قائمة) ؛ jmenuitem start = new jmenuitem ("start") ؛ jmenuitem end = new jmenuitem ("棋盘大小") ؛ end.addActionListener (new ActionListener () {public void actionperformed (ActionEvent e) {}}) ؛ jmenuitem Renew = New Jmenuitem ("重新开始") ؛ jmenuitem exit = new jmenuitem ("退出") ؛ exit.addActionListener (New ActionListener () {public void actionperformed (ActionEvent e) {system.exit (0) ؛}}) ؛ REWER.AdDActionListener (New ActionListener () {public void actionperformed (ActionEvent e) {BlackList.Clear () ؛ whitelist.clear () ؛}}) ؛ menu.add (start) ؛ menu.add (Reneft) ؛ menu.add (end) ؛ menu.add (خروج) ؛ setLayout (New BorderLayout ()) ؛ إضافة (borderlayout.center ، createCenter ()) ؛ ADD (BorderLayout.EAST ، CREATEST ()) ؛ } private boolean Iswin (ArrayList <Point> list) {int x ؛ int y ؛ int idx = 0 ؛ حلقة: for (point p: list) {x = px ؛ y = py ؛ idx = 0 ؛ بينما (list.contains (new point (x ، y))) {idx ++ ؛ x = x-one ؛ إذا (idx == 5) حلقة كسر ؛ } x = px ؛ y = py ؛ idx = 0 ؛ بينما (list.contains (new point (x ، y))) {idx ++ ؛ y = y-one ؛ إذا (idx == 5) حلقة كسر ؛ } x = px ؛ y = py ؛ idx = 0 ؛ بينما (list.contains (new point (x ، y))) {idx ++ ؛ x = x-one ؛ y = y-one ؛ إذا (idx == 5) حلقة كسر ؛ } x = px ؛ y = py ؛ idx = 0 ؛ بينما (list.contains (new point (x ، y))) {idx ++ ؛ x = x-one ؛ y = y+واحد ؛ إذا (idx == 5) حلقة كسر ؛ }} return idx == 5 ؛ } private jpanel createEast () {jpanel pane = new JPanel () ؛ BorderLayout Border = new BorderLayout () ؛ pane.setLayout (الحدود) ؛ pane.setBorder (جديد بعنوان ("五子棋")) ؛ Icon Image = new ImageIcon (getClass (). getResource ("mm.png")) ؛ Pane.add (BorderLayout.north ، New Jlabel (Image ، Jlabel.Center)) ؛ pane.add (borderlayout.center ، ballcolor ()) ؛ pane.add (borderlayout.south ، button ()) ؛ عودة جزء } private jpanel ballcolor () {jpanel pane = new jpanel () ؛ pane.setLayout (New BorderLayout ()) ؛ Can = new canvasframe () {public void paint (Graphics g) {g.setColor (color.pink) ؛ G.FillRect (1 ، 1200،300) ؛ G.SetFont (خط جديد ("Sans" ، font.bold ، 20)) ؛ G.SetColor (color.black) ؛ G.Filloval (55 ، 20،25،30) ؛ G.DrawString ("黑子" ، 10 ، 43) ؛ G.SetColor (color.hite) ؛ G.Filloval (55 ، 60،25،30) ؛ G.DrawString ("白子" ، 10 ، 83) ؛ if (isBlack) {g.setColor (color.black) ؛ G.DrawString ("黑方落子" ، 5 ، 120) ؛ } آخر {g.setColor (color.white) ؛ G.DrawString ("白方落子" ، 5،120) ؛ } can.repaint () ؛ }} ؛ pane.add (borderlayout.center ، can) ؛ عودة جزء } زر JPanel الخاص () {jpanel pane = new JPanel () ؛ BorderLayout bor = new BorderLayout () ؛ jbutton start = new jbutton ("开始") ؛ jbutton end = new jbutton ("结束") ؛ end.addActionListener (new ActionListener () {public void actionperformed (ActionEvent e) {system.exit (0) ؛}}) ؛ pane.setLayout (bor) ؛ Bor.SetVgap (5) ؛ pane.setBorder (جديد بعنوان "(" ")) ؛ pane.add (borderlayout.north ، start) ؛ pane.add (borderlayout.south ، end) ؛ عودة جزء } private jpanel createCenter () {jpanel pane = new jpanel () ؛ canvas.setpreferredsize (بعد جديد (HL+10 ، HL+10)) ؛ canvas.addmouselistener (new mouseadapter () {public void mouseclicked (mouseevent e) {loop: if ( if (blacklist. If (iswin) {joptionpane. }) ؛ pane.add (قماش) ؛ عودة جزء } public static void main (string [] args) {mainframe frame = new Mainframe () ؛ frame.center (الإطار) ؛ frame.pack () ؛ frame.setVisible (صحيح) ؛ } مركز الفراغ العام (JFRAME Frame) {// Toolkit 是当前 绘图系统集合工具包 Toolkit Toolkit = toolkit.getDefaultToolkit () ؛ شاشة Dimension = Toolkit.getScreensize () ؛ // 屏幕的宽高 int framewidth = frame.getWidth () ؛ int framehigh = frame.getheight () ؛ int x = (screen.width-framewidth)/2 ؛ int y = (screen.hight-framehigh)/2 ؛ frame.setLocation (x ، y) ؛ } class canvasframe يمتد JPanel {public void paint (Graphics g) {g.setColor (color.pink) ؛ G.FillRect (0 ، 0 ، HL+20 ، HL+20) ؛ G.SetColor (color.black) ؛ لـ (int i = start ؛ i <= hl ؛ i = i+one) {for (int j = start ؛ j <= hl ؛ j = j+one) {g.drawline (i ، j ، hl ، j) ؛ }} لـ (int i = start ؛ i <= hl ؛ i = i+one) {for (int j = start ؛ j <= hl ؛ j = j+one) {g.drawline (i ، j ، i ، hl) ؛ }} g.setColor (color.yellow) ؛ G.DrawRect (start/2 ، start/2 ، hl+1 ، hl+1) ؛ G.SetColor (color.black) ؛ لـ (Point Point: Blacklist) {g.filloval (point.x ، point.y ، 20 ، 25) ؛ } g.setColor (color.white) ؛ لـ (Point Point: Whitelist) {g.filloval (point.x ، point.y ، 20 ، 25) ؛ }}}}: :
以上所述就是本文的全部内容了 , 希望能够对大家熟练掌握 java 有所帮助。