資源簡介
自己用GUI寫的一個數(shù)獨小游戲。。可選擇難度,生成一個只有唯一解的數(shù)獨。。可顯示答案,玩家也可以自己做題。代碼+算法全在里面

代碼片段和文件信息
import?javax.swing.*;
import?java.awt.*;
import?java.awt.event.*;
import?javax.swing.border.LineBorder;
import?java.util.Random;
/**
?*
?*?@author?曉之篷
?*/
@SuppressWarnings(“serial“)
public?class?Sudoku?extends?Jframe{
????object[]?fivelevel={12345};
????object?level=JOptionPane.showInputDialog(null?“1.初級--2.低級--3.中級--4高級--5.骨灰級“?“請選擇難度“?JOptionPane.QUESTION_MESSAGE?nullfivelevel?fivelevel[2]);
????private?IndexButton[][]?button=new?IndexButton[9][9];
????private?JButton?check=new?JButton(“檢查“);??//檢查正確是否
????private?JButton?displayanswer=new?JButton(“顯示答案“);??//列出答案
????private?JButton?hideanswer=new?JButton(“隱藏答案“);??//隱藏答案
????private?CSSudoku?cssudoku=new?CSSudoku((int)(level));???//創(chuàng)建和解答數(shù)獨
????private?int[][]?shudu=cssudoku.MySudoku();???//把創(chuàng)建的數(shù)獨賦值給shudu[][]
????public?Sudoku()?{
????????JPanel?pbutton=new?JPanel();
????????pbutton.setLayout(new?GridLayout(1155));
????????pbutton.add(check);
????????pbutton.add(displayanswer);
????????pbutton.add(hideanswer);
????????hideanswer.setEnabled(false);
????????add(new?SudokuPanel(shudu)BorderLayout.CENTER);
????????add(pbuttonBorderLayout.SOUTH);
?????????for(int?i=0;i<9;i++){???????//給每個按鈕增加監(jiān)聽事件
????????????????for(int?j=0;j<9;j++){
????????????????????button[i][j].addActionListener(new?ActionListener()?{
????????????????????@Override
????????????????????public?void?actionPerformed(ActionEvent?e)?{
????????????????????????IndexButton?b=(IndexButton)?e.getSource();
????????????????????????UpdateButton(b.geti()b.getj());
????????????????????}
????????????????});??
????????????????}
?????????}
????????check.addActionListener(new?ActionListener()?{???//給check增加監(jiān)聽事件
????????????@Override
????????????public?void?actionPerformed(ActionEvent?e)?{
????????????????if(CSSudoku.test(shudu)==1){??//檢查結(jié)果正確
????????????????????JOptionPane.showMessageDialog(null?“正確“?“檢查結(jié)果“?JOptionPane.INFORMATION_MESSAGE);
????????????????}
????????????????else{
????????????????????JOptionPane.showMessageDialog(null?“有錯誤“?“檢查結(jié)果“?JOptionPane.INFORMATION_MESSAGE);
????????????????}
????????????}
????????});
????????displayanswer.addActionListener(new?ActionListener()?{???//顯示答案的監(jiān)聽事件
????????????@Override
????????????public?void?actionPerformed(ActionEvent?e)?{
????????????????int[][]?result=new?int[9][9];
????????????????for(int?i=0;i<9;i++){
????????????????????for(int?j=0;j<9;j++)?{
????????????????????????result[i][j]=shudu[i][j];
????????????????????}?????????
????????????????}
????????????????if(cssudoku.SolveSudoku(result)){???//得到答案
?????????????????????result=cssudoku.ResultSudoku();
?????????????????????for(int?i=0;i<9;i++){?????????
????????????????????????for(int?j=0;j<9;j++){
????????????????????????????if(button[i][j].getBackground()==Color.WHITE||button[i][j].getBackground()==Color.RED){?????//將玩家已經(jīng)輸入值的按鈕設(shè)置成不可操作
???????????????????????????????button[i][j].setEnabled(false);?
????????????????????????????}
?????????????????????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????????75??2012-04-03?16:56??Sudoku\build\built-jar.properties
?????文件??????????0??2012-04-03?16:56??Sudoku\build\classes\.netbeans_automatic_build
?????文件??????????0??2012-04-03?16:56??Sudoku\build\classes\.netbeans_update_resources
?????文件???????7135??2012-04-03?16:56??Sudoku\build\classes\CSSudoku.class
?????文件????????677??2012-04-03?16:56??Sudoku\build\classes\IndexButton.class
?????文件????????870??2012-04-03?16:56??Sudoku\build\classes\Sudoku$1.class
?????文件????????961??2012-04-03?16:56??Sudoku\build\classes\Sudoku$2.class
?????文件???????1927??2012-04-03?16:56??Sudoku\build\classes\Sudoku$3.class
?????文件???????1380??2012-04-03?16:56??Sudoku\build\classes\Sudoku$4.class
?????文件???????1314??2012-04-03?16:56??Sudoku\build\classes\Sudoku$5.class
?????文件???????2000??2012-04-03?16:56??Sudoku\build\classes\Sudoku$SudokuPanel.class
?????文件???????3851??2012-04-03?16:56??Sudoku\build\classes\Sudoku.class
?????文件?????????31??2012-04-03?16:56??Sudoku\build\classes\Sudoku.rs
?????文件???????3713??2012-04-03?16:23??Sudoku\build.xm
?????文件???????1322??2012-04-03?16:56??Sudoku\dist\README.TXT
?????文件??????20761??2012-04-03?16:56??Sudoku\dist\Sudoku.jar
?????文件?????????85??2012-04-03?16:23??Sudoku\manifest.mf
?????文件??????56944??2012-04-03?16:30??Sudoku\nbproject\build-impl.xm
?????文件????????475??2012-04-03?16:30??Sudoku\nbproject\genfiles.properties
?????文件????????103??2012-04-03?16:27??Sudoku\nbproject\private\private.properties
?????文件????????211??2012-04-03?16:56??Sudoku\nbproject\private\private.xm
?????文件???????2318??2012-04-03?16:32??Sudoku\nbproject\project.properties
?????文件????????514??2012-04-03?16:30??Sudoku\nbproject\project.xm
?????文件??????20301??2012-04-03?16:52??Sudoku\src\Sudoku.java
?????目錄??????????0??2012-04-03?16:56??Sudoku\build\generated-sources\ap-source-output
?????目錄??????????0??2012-04-03?16:56??Sudoku\build\classes
?????目錄??????????0??2012-04-03?16:56??Sudoku\build\empty
?????目錄??????????0??2012-04-03?16:56??Sudoku\build\generated-sources
?????目錄??????????0??2012-04-03?16:19??Sudoku\nbproject\configs
?????目錄??????????0??2012-04-03?16:56??Sudoku\nbproject\private
............此處省略9個文件信息
- 上一篇:java準(zhǔn)確讀取多音字的方法
- 下一篇:Java的計算器含代碼和報告
評論
共有 條評論