تشارككم الأمثلة في هذه المقالة في لعبة Code of Java Mine-Geaseing للرجوع إليها. المحتوى المحدد كما يلي
استيراد java.awt.borderlayout ؛ استيراد java.awt.color ؛ استيراد java.awt.container ؛ استيراد java.awt.gridlayout ؛ استيراد java.awt.insets java.awt.event.itemevent ؛ import java.awt.event.itemlistener ؛ import java.awt.event.mouseevent ؛ eSport java.awt.event.mouselistener ؛ import java.util.random ؛ استيراد javax.swing.jbutton ؛ استيراد javax.swing.jcombobox ؛ استيراد javax.swing.jframe ؛ استيراد javax.swing.joptionpane ؛ استيراد javax.swing.jpanel ؛ الطبقة العامة saolei تنفذ mouselistener ، actionlistener {jpanel p = new JPanel () ؛ Jframe Frame = New JFrame ("Mine-sweeping") ؛ suppressWarnings ("RawTypes") JCOMBOBOX COMBOBOX = New JCOMBOBOX () ؛ jButton RESET = New JButton ("RESTART") ؛ حاوية حاوية = حاوية جديدة () ؛ // بنية بيانات اللعبة saoleiconstant ثابت = saoleiconstant new () ؛ jbutton [] [] buttons = new jbutton [constant.row] [constant.col] ؛ // تعريف الزر int [] [] counts = new int [constant.row] [constant.col] ؛ // تحديد عدد الصفيف الصحيح أسفل الزر // إنشاء مُنشئ عام saolei () {// show window. frame.setResiby (false) ؛ frame.setDefaultCloseOperation (jframe.exit_on_close) ؛ frame.setLayout (New BorderLayout ()) ؛ // أضف التكرار وحدد زر الصعوبة AddTopButton () ؛ // إضافة زر حقل الألغام addButtons () ؛ // brown mine addlei () ؛ // إضافة البرق calcneibolei () ؛ frame.setVisible (صحيح) ؛ } void addtopbutton () {p.removeall () ؛ P.Add (إعادة تعيين) ؛ RESET.SetBackground (color.green) ؛ refet.setopaque (صواب) ؛ reset.addActionListener (هذا) ؛ //combobox.additem("select صعوبة ") ؛ comboBox.additem ("Newbie Tarmulty") ؛ combobox.additem ("الصعوبة الأساسية") ؛ combobox.additem ("الصعوبة الوسيطة") ؛ combobox.additem ("صعوبة متقدمة") ؛ comboBox.additem ("Master Tarmleanting") ؛ combobox.setbackground (color.green) ؛ combobox.setopaque (صواب) ؛ comboBox.adDitemListener (new itemListener () {Override public void itemStateChanged (itemevent e) {string item = e.getItem (). ResetGame () ؛ P.Add (combobox) ؛ frame.add (p ، borderlayout.north) ؛ //p.add(new label ("إجمالي عدد المواضيع:"+constant.leicount ، label.center)) ؛ //p.add(new Label ("إجمالي عدد المواضيع:"+constant.leicount ، label.right)) ؛ } /* void addNandubutton () {nandu.setbackground (color.green) ؛ nandu.setopaque (صواب) ؛ nandu.addActionListener (هذا) ؛ frame.add (nandu ، borderlayout.west) ؛ } void addresetbutton () {reset.setbackground (color.green) ؛ refet.setopaque (صواب) ؛ reset.addActionListener (هذا) ؛ //reset.addmouselistener( thiss) ؛ Frame.Add (Reset ، BorderLayout.north) ؛ } */ void addlei () {Random Rand = new Random () ؛ Int Randrow ، Randcol ؛ لـ (int i = 0 ؛ i <stater.leicount ؛ i ++) {randrow = rand.nextint (constant.row) ؛ randcol = rand.nextint (constant.col) ؛ if (counts [randrow] [randcol] == constant.leicode) {i-- ؛ } آخر {counts [randrow] [randcol] = constant.leicode ؛ //buttons budaprandrow 'Budaprandcol. }}} void addButtons () {frame.add (Container ، BorderLayout.Center) ؛ Container.setLayout (New GridLayout (constant.row ، constant.col)) ؛ لـ (int i = 0 ؛ i <constant.row ؛ i ++) {for (int j = 0 ؛ j <constant.col ؛ j ++) {jbutton button = new jbutton () ؛ button.setbackground (color.hite) ؛ button.setopaque (صواب) ؛ button.addActionListener (this) ؛ button.addmouselistener ((mouselistener) this) ؛ الأزرار [i] [j] = زر ؛ Container.Add (زر) ؛ }}} void calcneibolei () {int count ؛ لـ (int i = 0 ؛ i <constant.row ؛ i ++) {for (int j = 0 ؛ j <constant.col ؛ j ++) {count = 0 ؛ إذا (التهم [i] [j] == constant.leicode) متابعة ؛ if (i> 0 && j> 0 && counts [i-1] [j-1] == constant.leicode) count ++ ؛ if (i> 0 && counts [i-1] [j] == constant.leicode) count ++ ؛ if (i> 0 && j <19 && counts [i-1] [j+1] == constant.leicode) count ++ ؛ if (j> 0 && counts [i] [j-1] == constant.leicode) count ++ ؛ if (j <19 && counts [i] [j+1] == constant.leicode) count ++ ؛ if (I <19 && counts [i] [j+1] == constant.leicode) count ++ ؛ if (i <19 && j> 0 && counts [i+1] [j-1] == constant.leicode) count ++ ؛ if (I <19 && countts [i+1] [j-1] == constant.leicode) count ++ ؛ if (I <19 && counts [i+1] [j] == constant.leicode) count ++ ؛ if (i <19 && j <19 && counts [i+1] [j+1] == constant.leicode) count ++ ؛ التهم [i] [j] = count ؛ الأزرار [i] [j] .SetMargin (insets جديدة (0،0،0،0)) }}} Override public void actionperformed (ActionEvent e) {jbutton button = (jbutton) e.GetSource () ؛ if (button.equals (reset)) {resetGame () ؛ // إعادة تشغيل اللعبة} ell {int count = 0 ؛ لـ (int i = 0 ؛ i <constant.row ؛ i ++) {for (int j = 0 ؛ j <constant.col ؛ j ++) {if (button.equals (buttons [i] [j])) {count = counts [i] [j] ؛ if (count == constant.leicode) {loadgame () ؛ } آخر {opencell (i ، j) ؛ checkwin () ؛ } يعود؛ }}}}}}}}}}}} public void mouseclicked (mouseevent e) {jbutton button = (jbutton) e.GetSource () ؛ if ( //buttons budapi. الأزرار [i] [j] .SetMargin (insets جديدة (0،0،0،0)) يعود؛ }}}}}}}}}} void resetGame () {for (int i = 0 ؛ i <constant.row ؛ i ++) {for (int j = 0 ؛ j <constant.col ؛ j ++) {buttons [i] [j] .settext ("") ؛ الأزرار [i] [j] .SetEnabled (true) ؛ أزرار [i] [j] .SetBackground (color.hite) ؛ التهم [i] [j] = 0 ؛ }} addlei () ؛ calcneibolei () ؛ } void checkwin () {for (int i = 0 ؛ i <constant.row ؛ i ++) {for (int j = 0 ؛ j <constant.col ؛ j ++) {if (buttons [i] }} joptionpane.showmessagedialog (الإطار ، "نعم ، لقد ربحت!") ؛ } // استخدم الطريقة العودية لـ OpenCell (int i ، int j) {if (buttons [i] [j] الأزرار [i] [j] .SetBackground (color.yellow) ؛ أزرار [i] [j] .setopaque (صواب) ؛ الأزرار [i] [j] .SetEnabled (false) ؛ إذا (counts [i] [j] == 0) {if (i> 0 && j> 0 && counts [i-1] [j-1]! = constant.leicode) opencell (i-1 ، j-1) ؛ if (i> 0 && j <19 && counts [i-1] [j]! = constant.leicode) opencell (i-1 ، j) ؛ if (i> 0 && j <19 && counts [i-1] [j+1]! = constant.leicode) opencell (i-1 ، j+1) ؛ if (j> 0 && counts [i] [j-1]! = constant.leicode) opencell (i ، j-1) ؛ if (j <19 && counts [i] [j+1]! = constant.leicode) opencell (i ، j+1) ؛ if (i <19 && j> 0 && counts [i+1] [j-1]! = constant.leicode) opencell (i+1 ، j-1) ؛ if (I <19 && counts [i+1] [j]! = constant.leicode) opencell (i+1 ، j) ؛ if (i <19 && j <19 && counts [i+1] [j+1]! = constant.leicode) opencell (i+1 ، j+1) ؛ } آخر {buttons [i] [j] .SetMargin (insets new (0،0،0،0)) ؛ الأزرار [i] [j] .settext (counts [i] [j] + "") ؛ }} void LoveGame () {for (int i = 0 ؛ i <constant.row ؛ i ++) {for (int j = 0 ؛ j <constant.col ؛ j ++) {int count = counts [i] [j] ؛ if (count == constant.leicode) {buttons [i] [j] .SetMargin (insets new (0،0،0،0)) ؛ الأزرار [i] [j] .settext ("LEI") ؛ الأزرار [i] [j] .SetBackground (color.red) ؛ الأزرار [i] [j] .SetEnabled (false) ؛ } آخر {buttons [i] [j] .SetMargin (insets new (0،0،0،0)) ؛ الأزرار [i] [j] .settext (count + "") ؛ الأزرار [i] [j] .SetEnabled (false) ؛ }}} joptionpane.showmessagedialog (إطار ، "خطأ ، لقد فقدت!") ؛ } public static void main (string [] args) {new saolei () ؛ } override public void mousepressed (mouseevent e) {// todo method method motho} override public void mouserelestease (mouseevent e) {// todo todo method method method} @override public void mouseentered (mouseevent e) mouseexited (mouseevent e) {// todo method method method}}}فئة ثابتة
الطبقة العامة saoleiconstant {Final int row = 20 ؛ // عدد الصفوف 30 النهائية int col = 20 ؛ // عدد الأعمدة 30 النهائي int leicode = 10 ؛ // تحديد الرقم أدناه temp int المحمي الرعد = 20 ؛ محمي int leicount = temp ؛ // عدد الرعد 30}رسم تخطيطي للتكاثر
لمزيد من الألعاب إثارة ، يرجى الرجوع إلى الموضوع الخاص "ألعاب Java Classic"
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.