简单的Java 16方格排序游戏

用16个按钮简单写了一个排序的小游戏。最后显示成功的功能还未实现。

以下是代码。

  1 package u8;
  2 
  3 import java.awt.*;
  4 import java.awt.event.ActionEvent;
  5 import java.awt.event.ActionListener;
  6 import java.util.Random;
  7 
  8 import javax.swing.*;
  9 
 10 public class T10 extends JFrame implements ActionListener{
 11     int[] x = MyRandom();
 12     JButton  [] btn=new JButton[16];
 13     
 14     public T10(){
 15         Container c = getContentPane();
 16         for(int i = 0; i < 15; i++){
 17             btn[i] = new JButton("" + x[i]);
 18             c.add(btn[i]);
 19         }
 20         btn[15] = new JButton("");
 21         c.add(btn[15]);
 22         c.setLayout(new GridLayout(4,8));
 23         
 24         for(int i = 0; i < 15; i++){
 25             btn[i].addActionListener(this);
 26         }
 27         
 28     }
 29     
 30     public int[] MyRandom(){
 31         int[] x = new int[15];
 32         int j = 0;
 33         int n = 15;
 34         Random rand = new Random();
 35         boolean[]  bool = new boolean[n];
 36         int randInt = 0;
 37         for(int i = 0; i < 15 ; i++) {
 38              do {
 39                  randInt  = rand.nextInt(n);
 40              }while(bool[randInt]);
 41         bool[randInt] = true;
 42         x[j]=randInt+1;
 43         j++;
 44         }
 45         return x;
 46     }
 47     
 48     public static void main(String[] args){
 49         T10 mp = new T10();
 50         mp.setSize(400, 400);
 51         mp.setLocation(400, 200);
 52         mp.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 53         mp.setVisible(true);
 54     }
 55     
 56 //    public void win(){
 57 //        Container d = getContentPane();
 58 //        JButton  btnwin =new JButton("You win!");
 59 //        d.add(btnwin);
 60 ////        g.setColor(Color.RED);
 61 ////        Font f =new Font("",Font.BOLD,20);
 62 ////        g.setFont(f);
 63 ////        g.drawString("You win!", 50, 20);
 64 //    }
 65     
 66     @Override
 67     public void actionPerformed(ActionEvent e) {
 68         // TODO Auto-generated method stub
 69         JButton btntip = new JButton("");
 70         int[] y = new int[16];
 71         boolean b = false;
 72         
 73         
 74 //        while(b==false){
 75 //        //判断是否已经排好序
 76 //        for(int i=0;i<16;i++){
 77 //            y[i]=Integer.parseInt(btn[i].getText());
 78 //        }
 79 //        for(int i=0;i<15;i++){
 80 //            if(y[i+1]==y[i]+1){
 81 //                b=true;
 82 //                break;
 83 //            }else if(y[i]==y[i+1]+1){
 84 //                b=true;
 85 //                break;
 86 //            }
 87 //        }
 88         
 89         
 90         //左上角移动
 91         if(((JButton)e.getSource())==btn[0]){
 92             if(btn[1].getText()==""){
 93                 String j = btn[0].getText();
 94                 btn[0].setText("");
 95                 btn[1].setText(j);
 96             }
 97             else if(btn[4].getText()==""){
 98                 String j = btn[0].getText();
 99                 btn[0].setText("");
100                 btn[4].setText(j);
101             }
102         }
103         
104         //右上角移动
105         if(((JButton)e.getSource())==btn[3]){
106             if(btn[2].getText()==""){
107                 String j = btn[3].getText();
108                 btn[3].setText("");
109                 btn[2].setText(j);
110             }
111             else if(btn[7].getText()==""){
112                 String j = btn[3].getText();
113                 btn[3].setText("");
114                 btn[7].setText(j);
115             }
116         }
117         
118         //左下角移动
119         if(((JButton)e.getSource())==btn[12]){
120             if(btn[8].getText()==""){
121                 String j = btn[12].getText();
122                 btn[12].setText("");
123                 btn[8].setText(j);
124             }
125             else if(btn[13].getText()==""){
126                 String j = btn[12].getText();
127                 btn[12].setText("");
128                 btn[13].setText(j);
129             }
130         }
131         
132         //右下角移动
133         if(((JButton)e.getSource())==btn[15]){
134             if(btn[11].getText()==""){
135                 String j = btn[15].getText();
136                 btn[15].setText("");
137                 btn[11].setText(j);
138             }
139             else if(btn[14].getText()==""){
140                 String j = btn[15].getText();
141                 btn[15].setText("");
142                 btn[14].setText(j);
143             }
144         }
145         
146         //上中移动
147         if(((JButton)e.getSource())==btn[1]||((JButton)e.getSource())==btn[2]){
148             int tip = 0;
149             btntip = (JButton)e.getSource();
150             for(int i=0;i<16;i++){
151                 if(btn[i]==btntip){
152                     tip = i;
153                 }
154             }
155             if(btn[tip-1].getText()==""){
156                 String j = btn[tip].getText();
157                 btn[tip].setText("");
158                 btn[tip-1].setText(j);
159             }
160             else if(btn[tip+1].getText()==""){
161                 String j = btn[tip].getText();
162                 btn[tip].setText("");
163                 btn[tip+1].setText(j);
164             }
165             else if(btn[tip+4].getText()==""){
166                 String j = btn[tip].getText();
167                 btn[tip].setText("");
168                 btn[tip+4].setText(j);
169             }
170         }
171         
172         //下中移动
173         if(((JButton)e.getSource())==btn[14]||((JButton)e.getSource())==btn[13]){
174             int tip = 0;
175             btntip = (JButton)e.getSource();
176             for(int i=0;i<16;i++){
177                 if(btn[i]==btntip){
178                     tip = i;
179                 }
180             }
181             if(btn[tip-1].getText()==""){
182                 String j = btn[tip].getText();
183                 btn[tip].setText("");
184                 btn[tip-1].setText(j);
185             }
186             else if(btn[tip+1].getText()==""){
187                 String j = btn[tip].getText();
188                 btn[tip].setText("");
189                 btn[tip+1].setText(j);
190             }
191             else if(btn[tip-4].getText()==""){
192                 String j = btn[tip].getText();
193                 btn[tip].setText("");
194                 btn[tip-4].setText(j);
195             }
196         }
197         
198         //左中移动
199         if(((JButton)e.getSource())==btn[4]||((JButton)e.getSource())==btn[8]){
200             int tip = 0;
201             btntip = (JButton)e.getSource();
202             for(int i=0;i<16;i++){
203                 if(btn[i]==btntip){
204                     tip = i;
205                 }
206             }
207             if(btn[tip-4].getText()==""){
208                 String j = btn[tip].getText();
209                 btn[tip].setText("");
210                 btn[tip-4].setText(j);
211             }
212             else if(btn[tip+1].getText()==""){
213                 String j = btn[tip].getText();
214                 btn[tip].setText("");
215                 btn[tip+1].setText(j);
216             }
217             else if(btn[tip+4].getText()==""){
218                 String j = btn[tip].getText();
219                 btn[tip].setText("");
220                 btn[tip+4].setText(j);
221             }
222         }
223         
224         //右中移动
225         if(((JButton)e.getSource())==btn[7]||((JButton)e.getSource())==btn[11]){
226             int tip = 0;
227             btntip = (JButton)e.getSource();
228             for(int i=0;i<16;i++){
229                 if(btn[i]==btntip){
230                     tip = i;
231                 }
232             }
233             if(btn[tip-1].getText()==""){
234                 String j = btn[tip].getText();
235                 btn[tip].setText("");
236                 btn[tip-1].setText(j);
237             }
238             else if(btn[tip+4].getText()==""){
239                 String j = btn[tip].getText();
240                 btn[tip].setText("");
241                 btn[tip+4].setText(j);
242             }
243             else if(btn[tip-4].getText()==""){
244                 String j = btn[tip].getText();
245                 btn[tip].setText("");
246                 btn[tip-4].setText(j);
247             }
248         }
249         
250         //中间四块移动
251         if(((JButton)e.getSource())==btn[5]||((JButton)e.getSource())==btn[6]||((JButton)e.getSource())==btn[9]||((JButton)e.getSource())==btn[10]){
252             int tip = 0;
253             btntip = (JButton)e.getSource();
254             for(int i=0;i<16;i++){
255                 if(btn[i]==btntip){
256                     tip = i;
257                 }
258             }
259             if(btn[tip-1].getText()==""){
260                 String j = btn[tip].getText();
261                 btn[tip].setText("");
262                 btn[tip-1].setText(j);
263             }
264             else if(btn[tip+1].getText()==""){
265                 String j = btn[tip].getText();
266                 btn[tip].setText("");
267                 btn[tip+1].setText(j);
268             }
269             else if(btn[tip-4].getText()==""){
270                 String j = btn[tip].getText();
271                 btn[tip].setText("");
272                 btn[tip-4].setText(j);
273             }
274             else if(btn[tip+4].getText()==""){
275                 String j = btn[tip].getText();
276                 btn[tip].setText("");
277                 btn[tip+4].setText(j);
278             }
279         }
280         
281     }
282         
283 //        if(b==true){            
284 //            Container d = getContentPane();
285 //            JButton  btnwin =new JButton("You win!");
286 //            d.add(btnwin);
287 //            d.setSize(100, 50);
288 //            d.setLocation(450, 250);
289 //            d.setVisible(true);
290 //        }
291   }
292     
293 //}

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。