最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
linux命令系統(tǒng)指標,linux系統(tǒng)基本命令

有沒有關(guān)于JAVA的一些簡單又有趣的程序

import javax.swing.JPanel;

創(chuàng)新互聯(lián)是專業(yè)的衡山網(wǎng)站建設(shè)公司,衡山接單;提供網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進行衡山網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!

import javax.swing.JFrame;

import javax.swing.JButton;

import java.awt.Point;

import java.awt.Rectangle;

import javax.swing.ImageIcon;

import java.awt.Color;

import javax.swing.JLabel;

import java.awt.Font;

import java.net.URL;

import java.net.URLClassLoader;

import java.util.ArrayList;

import java.util.Date;

public class Game extends JFrame {

/**

* This method initializes jButton1

*

* @return javax.swing.JButton

*/

private JButton getJButton1() {

if (jButton1 == null) {

jButton1 = new JButton();

jButton1.setBounds(new Rectangle(478, 361, 164, 51));

jButton1.setText("重新開始");

jButton1.setVisible(false);

jButton1.addActionListener(new java.awt.event.ActionListener() {

public void actionPerformed(java.awt.event.ActionEvent e) {

jButton1.setVisible(false);

jLabel.setVisible(false);

try {

Thread.sleep(1000);

} catch (InterruptedException e1) {

// TODO 自動生成 catch 塊

e1.printStackTrace();

}

reset();

}

});

}

return jButton1;

}

public static void main(String[] args) {

Game game = new Game();

game.start();

game.reset();

game.gogo();

}

public void reset() {

kup = false;

kdown = false;

kleft = false;

kright = false;

int chushihua = 0;

while (chushihua zidanshu) {

((JButton) buttonal.get(chushihua)).setBounds(new Rectangle(-50,

-50, 10, 10));

chushihua++;

}

gamexunhuan = true;

jButton.setIcon(new ImageIcon(fileLoc));

jButton.setLocation(320, 320);

p = jButton.getLocation();

x=p.getX();

y=p.getY();

firsttime=new Date().getTime();

}

public void start() {

int chushihua = 0;

while (chushihua zidanshu) {

JButton jb = new JButton();

jb.setBounds(new Rectangle(-50, -50, 10, 10));

jb.setEnabled(false);

Threads ths = new Threads(jb);

Thread th = new Thread(ths);

buttonal.add(jb);

threadal.add(th);

chushihua++;

}

Game.Move move = new Move();

Thread tm = new Thread(move);

tm.start();

}

public void gogo() {

int chushihua = 0;

while (chushihua zidanshu) {

((Thread) threadal.get(chushihua)).start();

chushihua++;

try {

Thread.sleep(100);

} catch (InterruptedException e) {

// TODO 自動生成 catch 塊

e.printStackTrace();

}

}

}

// private static Game game;

private long firsttime;

private long lasttime;

private static final long serialVersionUID = 1L;

private JPanel jPanel = null;

private JButton jButton = null;

private boolean kup ;

private boolean kdown ;

private boolean kleft ;

private boolean kright ;

// 定義玩家的行走步伐,數(shù)值越大,移動速度越快 private int step = 3;

Point p; // @jve:decl-index=0:

double x = 0.0;

double y = 0.0;

// 定義了子彈的個數(shù) int zidanshu = 70;

// 定義子彈初始值,這個是不變的

// int chushihua = 0;

// 定義控制子彈行走的循環(huán)false就不走了

private boolean gamexunhuan = true;

private JLabel jLabel = null;

private JButton jButton1 = null;

private ArrayList buttonal = new ArrayList();

private ArrayList threadal = new ArrayList();

URLClassLoader urlLoader = (URLClassLoader)this.getClass().getClassLoader();

URL fileLoc = urlLoader.findResource("MyGameIcons/gwl1.gif"); // @jve:decl-index=0:

URL fileLoc1 = urlLoader.findResource("MyGameIcons/gwls1.gif");

/**

* This is the default constructor

*/

public Game() {

super();

initialize();

}

/**

* This method initializes this

*

* @return void

*/

private void initialize() {

this.setSize(700, 700);

this.addWindowListener(new java.awt.event.WindowAdapter() {

public void windowClosing(java.awt.event.WindowEvent e) {

System.exit(1);

}

});

this.setResizable(false);

this.setContentPane(getJPanel());

this.setTitle("范傳奇的小游戲!(模擬撐過30秒的小DEMO)");

this.setVisible(true);

}

/**

* This method initializes jPanel

*

* @return javax.swing.JPanel

*/

private JPanel getJPanel() {

if (jPanel == null) {

jLabel = new JLabel();

jLabel.setBounds(new Rectangle(42, -33, 595, 308));

jLabel.setFont(new Font("Dialog", Font.BOLD, 24));

jLabel.setForeground(new Color(250, 2, 2));

jLabel.setEnabled(true);

jLabel.setVisible(false);

jPanel = new JPanel();

jPanel.setLayout(null);

jPanel.add(getJButton(), null);

jPanel.setForeground(new Color(1, 1, 1));

jPanel.setBackground(new Color(1, 1, 1));

jPanel.setVisible(true);

jPanel.add(jLabel, null);

jPanel.add(getJButton1(), null);

}

return jPanel;

}

/**

* This method initializes jButton

*

* @return javax.swing.JButton

*/

class Move implements Runnable {

public void run() {

while(true){

while (gamexunhuan) {

p = jButton.getLocation();

if (kup) {

if (kleft) {

x = p.getX();

y = p.getY();

if (x 0 y 0) {

jButton.setLocation((int) x - step, (int) y

- step);

}

} else if (kright) {

x = p.getX();

y = p.getY();

if (x + 40 700 y 0) {

jButton.setLocation((int) x + step, (int) y

- step);

}

} else {

x = p.getX();

y = p.getY();

if (y 0) {

jButton.setLocation((int) x, (int) y - step);

}

}

}

if (kdown) {

if (kleft) {

x = p.getX();

y = p.getY();

if (y + 60 700 x 0) {

jButton.setLocation((int) x - step, (int) y

+ step);

}

} else if (kright) {

x = p.getX();

y = p.getY();

if (x + 40 700 y + 60 700) {

jButton.setLocation((int) x + step, (int) y

+ step);

}

} else {

x = p.getX();

y = p.getY();

if (y + 60 700) {

jButton.setLocation((int) x, (int) y + step);

}

}

}

if (kleft) {

if (kup) {

x = p.getX();

y = p.getY();

if (x 0 y 0) {

jButton.setLocation((int) x - step, (int) y

- step);

}

} else if (kdown) {

x = p.getX();

y = p.getY();

if (y + 60 700 x 0) {

jButton.setLocation((int) x - step, (int) y

+ step);

}

} else {

x = p.getX();

y = p.getY();

if (x 0) {

jButton.setLocation((int) x - step, (int) y);

}

}

}

if (kright) {

if (kup) {

x = p.getX();

y = p.getY();

if (x + 40 700 y 0) {

jButton.setLocation((int) x + step, (int) y

- step);

}

} else if (kdown) {

x = p.getX();

y = p.getY();

if (x + 40 700 y + 60 700) {

jButton.setLocation((int) x + step, (int) y

+ step);

}

} else {

x = p.getX();

y = p.getY();

if (x + 40 700) {

jButton.setLocation((int) x + step, (int) y);

}

}

}

try {

Thread.sleep(10);

} catch (InterruptedException e) {

// TODO 自動生成 catch 塊

e.printStackTrace();

}

}

try {

Thread.sleep(50);

} catch (InterruptedException e) {

// TODO 自動生成 catch 塊

e.printStackTrace();

}

}

}

}

private JButton getJButton() {

if (jButton == null) {

jButton = new JButton();

jButton.setBounds(new Rectangle(320, 320, 30, 30));

jButton.setBackground(new Color(1, 1, 1));

p = jButton.getLocation();

x = p.getX();

y = p.getY();

jButton.setIcon(new ImageIcon(fileLoc));

jButton.addKeyListener(new java.awt.event.KeyAdapter() {

public void keyReleased(java.awt.event.KeyEvent e) {

if(e.getKeyCode()==10){

if(!gamexunhuan){

jButton1.setVisible(false);

jLabel.setVisible(false);

reset();

}

}

if (e.getKeyCode() == 37) {

kleft = false;

}

if (e.getKeyCode() == 38) {

kup = false;

}

if (e.getKeyCode() == 39) {

kright = false;

}

if (e.getKeyCode() == 40) {

kdown = false;

}

}

public void keyPressed(java.awt.event.KeyEvent e) {

if (e.getKeyCode() == 37) {

kleft = true;

}

if (e.getKeyCode() == 38) {

kup = true;

}

// 觸發(fā)按右鍵

if (e.getKeyCode() == 39) {

kright = true;

}

if (e.getKeyCode() == 40) {

kdown = true;

}

}

});

}

return jButton;

}

class Threads implements Runnable {

public Threads(JButton jjb) {

jb = jjb;

}

JButton jb = null;

private boolean first = true;

public void run() {

while (gamexunhuan) {

go();

}

}

public void go() {

int zzx = 0;

int zzy = 0;

int zx = 0;

int zy = 0;

while (true) {

if(gamexunhuan){

int fangxiang = (int) (Math.random() * 4 + 1);

// 四個if隨即從四個邊發(fā)射子彈

if (fangxiang == 1) {

zx = 0;

zy = (int) (Math.random() * 701);

}

if (fangxiang == 2) {

zx = (int) (Math.random() * 701);

zy = 0;

}

if (fangxiang == 3) {

zx = 700;

zy = (int) (Math.random() * 701);

}

if (fangxiang == 4) {

zx = (int) (Math.random() * 701);

zy = 700;

}

// 初始化子彈,有了就不在加了

if (first) {

jPanel.add(jb, null);

first = false;

}

jb.setBounds(new Rectangle(zx, zy, 10, 10));

// 定義子彈與物體之間的步長

zzx = (int) (((x + 15) - zx) / 30);

zzy = (int) (((y + 15) - zy) / 30);

}

while (gamexunhuan) {

try {

zx += zzx;

zy += zzy;

jb.setLocation(zx, zy);

if (zx + 5 x zx + 5 x + 30 zy + 5 y

zy + 5 y + 30) {

jButton.setIcon(new ImageIcon(fileLoc1));

gamexunhuan = false;

first = true;

jButton1.setVisible(true);

jLabel.setVisible(true);

lasttime = new Date().getTime();

Date gametime = new Date(lasttime-firsttime);

int min =0;

int sec =0;

min = gametime.getMinutes();

sec = gametime.getSeconds();

String endtime = "";

if(min!=0){

endtime=min + "分 " + sec + "秒";

}else{

endtime=sec + "秒";

}

jLabel.setText(" GAME OVER!!! \n用時:" + endtime);

break;

}

// 超出邊線停止循環(huán)

if (zx 700 | zy 700 | zx 0 | zy 0) {

break;

}

Thread.sleep(60);

} catch (InterruptedException e) {

// TODO 自動生成 catch 塊

e.printStackTrace();

}

}

try {

Thread.sleep(50);

} catch (InterruptedException e) {

// TODO 自動生成 catch 塊

e.printStackTrace();

}

}

}

}

} // @jve:decl-index=0:visual-constraint="10,10"

這是一個以前寫過的“是男人就撐過30秒的小游戲源碼”

如果想要執(zhí)行程序,麻煩留個郵箱。

求一個簡單又有趣的JAVA小游戲代碼

具體如下:

連連看的小源碼

package Lianliankan;

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

public class lianliankan implements ActionListener

{

JFrame mainFrame; //主面板

Container thisContainer;

JPanel centerPanel,southPanel,northPanel; //子面板

JButton diamondsButton[][] = new JButton[6][5];//游戲按鈕數(shù)組

JButton exitButton,resetButton,newlyButton; //退出,重列,重新開始按鈕

JLabel fractionLable=new JLabel("0"); //分數(shù)標簽

JButton firstButton,secondButton; //

分別記錄兩次62616964757a686964616fe59b9ee7ad9431333335326239被選中的按鈕

int grid[][] = new int[8][7];//儲存游戲按鈕位置

static boolean pressInformation=false; //判斷是否有按鈕被選中

int x0=0,y0=0,x=0,y=0,fristMsg=0,secondMsg=0,validateLV; //游戲按鈕的位置坐標

int i,j,k,n;//消除方法控制

代碼(code)是程序員用開發(fā)工具所支持的語言寫出來的源文件,是一組由字符、符號或信號碼元以離散形式表示信息的明確的規(guī)則體系。

對于字符和Unicode數(shù)據(jù)的位模式的定義,此模式代表特定字母、數(shù)字或符號(例如 0x20 代表一個空格,而 0x74 代表字符“t”)。一些數(shù)據(jù)類型每個字符使用一個字節(jié);每個字節(jié)可以具有 256 個不同的位模式中的一個模式。

在計算機中,字符由不同的位模式(ON 或 OFF)表示。每個字節(jié)有 8 位,這 8 位可以有 256 種不同的 ON 和 OFF 組合模式。對于使用 1 個字節(jié)存儲每個字符的程序,通過給每個位模式指派字符可表示最多 256 個不同的字符。2 個字節(jié)有 16 位,這 16 位可以有 65,536 種唯一的 ON 和 OFF 組合模式。使用 2 個字節(jié)表示每個字符的程序可表示最多 65,536 個字符。

單字節(jié)代碼頁是字符定義,這些字符映射到每個字節(jié)可能有的 256 種位模式中的每一種。代碼頁定義大小寫字符、數(shù)字、符號以及 !、@、#、% 等特殊字符的位模式。每種歐洲語言(如德語和西班牙語)都有各自的單字節(jié)代碼頁。

雖然用于表示 A 到 Z 拉丁字母表字符的位模式在所有的代碼頁中都相同,但用于表示重音字符(如"é"和"á")的位模式在不同的代碼頁中卻不同。如果在運行不同代碼頁的計算機間交換數(shù)據(jù),必須將所有字符數(shù)據(jù)由發(fā)送計算機的代碼頁轉(zhuǎn)換為接收計算機的代碼頁。如果源數(shù)據(jù)中的擴展字符在接收計算機的代碼頁中未定義,那么數(shù)據(jù)將丟失。

如果某個數(shù)據(jù)庫為來自許多不同國家的客戶端提供服務(wù),則很難為該數(shù)據(jù)庫選擇這樣一種代碼頁,使其包括所有客戶端計算機所需的全部擴展字符。而且,在代碼頁間不停地轉(zhuǎn)換需要花費大量的處理時間。

求一個比較有趣的java小程序的源代碼

public?class?Demo{

public?static?void?main(String?args[]){

System.out.println("有趣的java小程序");

}

}

求java小游戲源代碼

表1. CheckerDrag.java

// CheckerDrag.javaimport java.awt.*;import java.awt.event.*;public class CheckerDrag extends java.applet.Applet{ // Dimension of checkerboard square. // 棋盤上每個小方格的尺寸 final static int SQUAREDIM = 40; // Dimension of checkerboard -- includes black outline. // 棋盤的尺寸 – 包括黑色的輪廓線 final static int BOARDDIM = 8 * SQUAREDIM + 2; // Dimension of checker -- 3/4 the dimension of a square. // 棋子的尺寸 – 方格尺寸的3/4 final static int CHECKERDIM = 3 * SQUAREDIM / 4; // Square colors are dark green or white. // 方格的顏色為深綠色或者白色 final static Color darkGreen = new Color (0, 128, 0); // Dragging flag -- set to true when user presses mouse button over checker // and cleared to false when user releases mouse button. // 拖動標記 --當(dāng)用戶在棋子上按下鼠標按鍵時設(shè)為true, // 釋放鼠標按鍵時設(shè)為false boolean inDrag = false; // Left coordinate of checkerboard's upper-left corner. // 棋盤左上角的左方向坐標 int boardx; // Top coordinate of checkerboard's upper-left corner. //棋盤左上角的上方向坐標 int boardy; // Left coordinate of checker rectangle origin (upper-left corner). // 棋子矩形原點(左上角)的左方向坐標 int ox; // Top coordinate of checker rectangle origin (upper-left corner). // 棋子矩形原點(左上角)的上方向坐標 int oy; // Left displacement between mouse coordinates at time of press and checker // rectangle origin. // 在按鍵時的鼠標坐標與棋子矩形原點之間的左方向位移 int relx; // Top displacement between mouse coordinates at time of press and checker // rectangle origin. // 在按鍵時的鼠標坐標與棋子矩形原點之間的上方向位移 int rely; // Width of applet drawing area. // applet繪圖區(qū)域的寬度 int width; // Height of applet drawing area. // applet繪圖區(qū)域的高度 int height; // Image buffer. // 圖像緩沖 Image imBuffer; // Graphics context associated with image buffer. // 圖像緩沖相關(guān)聯(lián)的圖形背景 Graphics imG; public void init () { // Obtain the size of the applet's drawing area. // 獲取applet繪圖區(qū)域的尺寸 width = getSize ().width; height = getSize ().height; // Create image buffer. // 創(chuàng)建圖像緩沖 imBuffer = createImage (width, height); // Retrieve graphics context associated with image buffer. // 取出圖像緩沖相關(guān)聯(lián)的圖形背景 imG = imBuffer.getGraphics (); // Initialize checkerboard's origin, so that board is centered. // 初始化棋盤的原點,使棋盤在屏幕上居中 boardx = (width - BOARDDIM) / 2 + 1; boardy = (height - BOARDDIM) / 2 + 1; // Initialize checker's rectangle's starting origin so that checker is // centered in the square located in the top row and second column from // the left. // 初始化棋子矩形的起始原點,使得棋子在第一行左數(shù)第二列的方格里居中 ox = boardx + SQUAREDIM + (SQUAREDIM - CHECKERDIM) / 2 + 1; oy = boardy + (SQUAREDIM - CHECKERDIM) / 2 + 1; // Attach a mouse listener to the applet. That listener listens for // mouse-button press and mouse-button release events. // 向applet添加一個用來監(jiān)聽鼠標按鍵的按下和釋放事件的鼠標監(jiān)聽器 addMouseListener (new MouseAdapter () { public void mousePressed (MouseEvent e) { // Obtain mouse coordinates at time of press. // 獲取按鍵時的鼠標坐標 int x = e.getX (); int y = e.getY (); // If mouse is over draggable checker at time // of press (i.e., contains (x, y) returns // true), save distance between current mouse // coordinates and draggable checker origin // (which will always be positive) and set drag // flag to true (to indicate drag in progress). // 在按鍵時如果鼠標位于可拖動的棋子上方 // (也就是contains (x, y)返回true),則保存當(dāng)前 // 鼠標坐標與棋子的原點之間的距離(始終為正值)并且 // 將拖動標志設(shè)為true(用來表明正處在拖動過程中) if (contains (x, y)) { relx = x - ox; rely = y - oy; inDrag = true; } } boolean contains (int x, int y) { // Calculate center of draggable checker. // 計算棋子的中心位置 int cox = ox + CHECKERDIM / 2; int coy = oy + CHECKERDIM / 2; // Return true if (x, y) locates with bounds // of draggable checker. CHECKERDIM / 2 is the // radius. // 如果(x, y)仍處于棋子范圍內(nèi)則返回true // CHECKERDIM / 2為半徑 return (cox - x) * (cox - x) + (coy - y) * (coy - y) CHECKERDIM / 2 * CHECKERDIM / 2; } public void mouseReleased (MouseEvent e) { // When mouse is released, clear inDrag (to // indicate no drag in progress) if inDrag is // already set. // 當(dāng)鼠標按鍵被釋放時,如果inDrag已經(jīng)為true, // 則將其置為false(用來表明不在拖動過程中) if (inDrag) inDrag = false; } }); // Attach a mouse motion listener to the applet. That listener listens // for mouse drag events. //向applet添加一個用來監(jiān)聽鼠標拖動事件的鼠標運動監(jiān)聽器 addMouseMotionListener (new MouseMotionAdapter () { public void mouseDragged (MouseEvent e) { if (inDrag) { // Calculate draggable checker's new // origin (the upper-left corner of // the checker rectangle). // 計算棋子新的原點(棋子矩形的左上角) int tmpox = e.getX () - relx; int tmpoy = e.getY () - rely; // If the checker is not being moved // (at least partly) off board, // assign the previously calculated // origin (tmpox, tmpoy) as the // permanent origin (ox, oy), and // redraw the display area (with the // draggable checker at the new // coordinates). // 如果棋子(至少是棋子的一部分)沒有被 // 移出棋盤,則將之前計算的原點 // (tmpox, tmpoy)賦值給永久性的原點(ox, oy), // 并且刷新顯示區(qū)域(此時的棋子已經(jīng)位于新坐標上) if (tmpox boardx tmpoy boardy tmpox + CHECKERDIM boardx + BOARDDIM tmpoy + CHECKERDIM boardy + BOARDDIM) { ox = tmpox; oy = tmpoy; repaint (); } } } }); } public void paint (Graphics g) { // Paint the checkerboard over which the checker will be dragged. // 在棋子將要被拖動的位置上繪制棋盤 paintCheckerBoard (imG, boardx, boardy); // Paint the checker that will be dragged. // 繪制即將被拖動的棋子 paintChecker (imG, ox, oy); // Draw contents of image buffer. // 繪制圖像緩沖的內(nèi)容 g.drawImage (imBuffer, 0, 0, this); } void paintChecker (Graphics g, int x, int y) { // Set checker shadow color. // 設(shè)置棋子陰影的顏色 g.setColor (Color.black); // Paint checker shadow. // 繪制棋子的陰影 g.fillOval (x, y, CHECKERDIM, CHECKERDIM); // Set checker color. // 設(shè)置棋子顏色 g.setColor (Color.red); // Paint checker. // 繪制棋子 g.fillOval (x, y, CHECKERDIM - CHECKERDIM / 13, CHECKERDIM - CHECKERDIM / 13); } void paintCheckerBoard (Graphics g, int x, int y) { // Paint checkerboard outline. // 繪制棋盤輪廓線 g.setColor (Color.black); g.drawRect (x, y, 8 * SQUAREDIM + 1, 8 * SQUAREDIM + 1); // Paint checkerboard. // 繪制棋盤 for (int row = 0; row 8; row++) { g.setColor (((row 1) != 0) ? darkGreen : Color.white); for (int col = 0; col 8; col++) { g.fillRect (x + 1 + col * SQUAREDIM, y + 1 + row * SQUAREDIM, SQUAREDIM, SQUAREDIM); g.setColor ((g.getColor () == darkGreen) ? Color.white : darkGreen); } } } // The AWT invokes the update() method in response to the repaint() method // calls that are made as a checker is dragged. The default implementation // of this method, which is inherited from the Container class, clears the // applet's drawing area to the background color prior to calling paint(). // This clearing followed by drawing causes flicker. CheckerDrag overrides // update() to prevent the background from being cleared, which eliminates // the flicker. // AWT調(diào)用了update()方法來響應(yīng)拖動棋子時所調(diào)用的repaint()方法。該方法從 // Container類繼承的默認實現(xiàn)會在調(diào)用paint()之前,將applet的繪圖區(qū)域清除 // 為背景色,這種繪制之后的清除就導(dǎo)致了閃爍。CheckerDrag重寫了update()來 // 防止背景被清除,從而消除了閃爍。 public void update (Graphics g) { paint (g); }}

跪地求好玩的JAVA 源代碼~

連連看java源代碼

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

public class lianliankan implements ActionListener

{

JFrame mainFrame; //主面板

Container thisContainer;

JPanel centerPanel,southPanel,northPanel; //子面板

JButton diamondsButton[][] = new JButton[6][5];//游戲按鈕數(shù)組

JButton exitButton,resetButton,newlyButton; //退出,重列,重新開始按鈕

JLabel fractionLable=new JLabel("0"); //分數(shù)標簽

JButton firstButton,secondButton; //分別記錄兩次被選中的按鈕

int grid[][] = new int[8][7];//儲存游戲按鈕位置

static boolean pressInformation=false; //判斷是否有按鈕被選中

int x0=0,y0=0,x=0,y=0,fristMsg=0,secondMsg=0,validateLV; //游戲按鈕的位置坐標

int i,j,k,n;//消除方法控制

public void init(){

mainFrame=new JFrame("JKJ連連看");

thisContainer = mainFrame.getContentPane();

thisContainer.setLayout(new BorderLayout());

centerPanel=new JPanel();

southPanel=new JPanel();

northPanel=new JPanel();

thisContainer.add(centerPanel,"Center");

thisContainer.add(southPanel,"South");

thisContainer.add(northPanel,"North");

centerPanel.setLayout(new GridLayout(6,5));

for(int cols = 0;cols 6;cols++){

for(int rows = 0;rows 5;rows++ ){

diamondsButton[cols][rows]=new JButton(String.valueOf(grid[cols+1][rows+1]));

diamondsButton[cols][rows].addActionListener(this);

centerPanel.add(diamondsButton[cols][rows]);

}

}

exitButton=new JButton("退出");

exitButton.addActionListener(this);

resetButton=new JButton("重列");

resetButton.addActionListener(this);

newlyButton=new JButton("再來一局");

newlyButton.addActionListener(this);

southPanel.add(exitButton);

southPanel.add(resetButton);

southPanel.add(newlyButton);

fractionLable.setText(String.valueOf(Integer.parseInt(fractionLable.getText())));

northPanel.add(fractionLable);

mainFrame.setBounds(280,100,500,450);

mainFrame.setVisible(true);

}

public void randomBuild() {

int randoms,cols,rows;

for(int twins=1;twins=15;twins++) {

randoms=(int)(Math.random()*25+1);

for(int alike=1;alike=2;alike++) {

cols=(int)(Math.random()*6+1);

rows=(int)(Math.random()*5+1);

while(grid[cols][rows]!=0) {

cols=(int)(Math.random()*6+1);

rows=(int)(Math.random()*5+1);

}

this.grid[cols][rows]=randoms;

}

}

}

public void fraction(){

fractionLable.setText(String.valueOf(Integer.parseInt(fractionLable.getText())+100));

}

public void reload() {

int save[] = new int[30];

int n=0,cols,rows;

int grid[][]= new int[8][7];

for(int i=0;i=6;i++) {

for(int j=0;j=5;j++) {

if(this.grid[i][j]!=0) {

save[n]=this.grid[i][j];

n++;

}

}

}

n=n-1;

this.grid=grid;

while(n=0) {

cols=(int)(Math.random()*6+1);

rows=(int)(Math.random()*5+1);

while(grid[cols][rows]!=0) {

cols=(int)(Math.random()*6+1);

rows=(int)(Math.random()*5+1);

}

this.grid[cols][rows]=save[n];

n--;

}

mainFrame.setVisible(false);

pressInformation=false; //這里一定要將按鈕點擊信息歸為初始

init();

for(int i = 0;i 6;i++){

for(int j = 0;j 5;j++ ){

if(grid[i+1][j+1]==0)

diamondsButton[i][j].setVisible(false);

}

}

}

public void estimateEven(int placeX,int placeY,JButton bz) {

if(pressInformation==false) {

x=placeX;

y=placeY;

secondMsg=grid[x][y];

secondButton=bz;

pressInformation=true;

}

else {

x0=x;

y0=y;

fristMsg=secondMsg;

firstButton=secondButton;

x=placeX;

y=placeY;

secondMsg=grid[x][y];

secondButton=bz;

if(fristMsg==secondMsg secondButton!=firstButton){

xiao();

}

}

}

public void xiao() { //相同的情況下能不能消去。仔細分析,不一條條注釋

if((x0==x (y0==y+1||y0==y-1)) || ((x0==x+1||x0==x-1)(y0==y))){ //判斷是否相鄰

remove();

}

else{

for (j=0;j7;j++ ) {

if (grid[x0][j]==0){ //判斷第一個按鈕同行哪個按鈕為空

if (yj) { //如果第二個按鈕的Y坐標大于空按鈕的Y坐標說明第一按鈕在第二按鈕左邊

for (i=y-1;i=j;i-- ){ //判斷第二按鈕左側(cè)直到第一按鈕中間有沒有按鈕

if (grid[x][i]!=0) {

k=0;

break;

}

else{ k=1; } //K=1說明通過了第一次驗證

}

if (k==1) {

linePassOne();

}

}

if (yj){ //如果第二個按鈕的Y坐標小于空按鈕的Y坐標說明第一按鈕在第二按鈕右邊

for (i=y+1;i=j ;i++ ){ //判斷第二按鈕左側(cè)直到第一按鈕中間有沒有按鈕

if (grid[x][i]!=0){

k=0;

break;

}

else { k=1; }

}

if (k==1){

linePassOne();

}

}

if (y==j ) {

linePassOne();

}

}

if (k==2) {

if (x0==x) {

remove();

}

if (x0x) {

for (n=x0;n=x-1;n++ ) {

if (grid[n][j]!=0) {

k=0;

break;

}

if(grid[n][j]==0 n==x-1) {

remove();

}

}

}

if (x0x) {

for (n=x0;n=x+1 ;n-- ) {

if (grid[n][j]!=0) {

k=0;

break;

}

if(grid[n][j]==0 n==x+1) {

remove();

}

}

}

}

}

for (i=0;i8;i++ ) { //列

if (grid[i][y0]==0) {

if (xi) {

for (j=x-1;j=i ;j-- ) {

if (grid[j][y]!=0) {

k=0;

break;

}

else { k=1; }

}

if (k==1) {

rowPassOne();

}

}

if (xi) {

for (j=x+1;j=i;j++ ) {

if (grid[j][y]!=0) {

k=0;

break;

}

else { k=1; }

}

if (k==1) {

rowPassOne();

}

}

if (x==i) {

rowPassOne();

}

}

if (k==2){

if (y0==y) {

remove();

}

if (y0y) {

for (n=y0;n=y-1 ;n++ ) {

if (grid[i][n]!=0) {

k=0;

break;

}

if(grid[i][n]==0 n==y-1) {

remove();

}

}

}

if (y0y) {

for (n=y0;n=y+1 ;n--) {

if (grid[i][n]!=0) {

k=0;

break;

}

if(grid[i][n]==0 n==y+1) {

remove();

}

}

}

}

}

}

}

public void linePassOne(){

if (y0j){ //第一按鈕同行空按鈕在左邊

for (i=y0-1;i=j ;i-- ){ //判斷第一按鈕同左側(cè)空按鈕之間有沒按鈕

if (grid[x0][i]!=0) {

k=0;

break;

}

else { k=2; } //K=2說明通過了第二次驗證

}

}

if (y0j){ //第一按鈕同行空按鈕在與第二按鈕之間

for (i=y0+1;i=j ;i++){

if (grid[x0][i]!=0) {

k=0;

break;

}

else{ k=2; }

}

}

}

public void rowPassOne(){

if (x0i) {

for (j=x0-1;j=i ;j-- ) {

if (grid[j][y0]!=0) {

k=0;

break;

}

else { k=2; }

}

}

if (x0i) {

for (j=x0+1;j=i ;j++ ) {

if (grid[j][y0]!=0) {

k=0;

break;

}

else { k=2; }

}

}

}

public void remove(){

firstButton.setVisible(false);

secondButton.setVisible(false);

fraction();

pressInformation=false;

k=0;

grid[x0][y0]=0;

grid[x][y]=0;

}

public void actionPerformed(ActionEvent e) {

if(e.getSource()==newlyButton){

int grid[][] = new int[8][7];

this.grid = grid;

randomBuild();

mainFrame.setVisible(false);

pressInformation=false;

init();

}

if(e.getSource()==exitButton)

System.exit(0);

if(e.getSource()==resetButton)

reload();

for(int cols = 0;cols 6;cols++){

for(int rows = 0;rows 5;rows++ ){

if(e.getSource()==diamondsButton[cols][rows])

estimateEven(cols+1,rows+1,diamondsButton[cols][rows]);

}

}

}

public static void main(String[] args) {

lianliankan llk = new lianliankan();

llk.randomBuild();

llk.init();

}

}

//old 998 lines

//new 318 lines

基于JAVA的3D坦克游戲源代碼

JAVA猜數(shù)字小游戲源代碼

/*1、編寫一個猜數(shù)字的游戲,由電腦隨機產(chǎn)生一個100以內(nèi)的整數(shù),讓用戶去猜,如果用戶猜的比電腦大,則輸出“大了,再小點!”,反之則輸出“小了,再大點!”,用戶總共只能猜十次,并根據(jù)用戶正確猜出答案所用的次數(shù)輸出相應(yīng)的信息,如:只用一次就猜對,輸出“你是個天才!”,八次才猜對,輸出“笨死了!”,如果十次還沒有猜對,則游戲結(jié)束!*/

import java.util.*;

import java.io.*;

public class CaiShu{

public static void main(String[] args) throws IOException{

Random a=new Random();

int num=a.nextInt(100);

System.out.println("請輸入一個100以內(nèi)的整數(shù):");

for (int i=0;i=9;i++){

BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));

String str=bf.readLine();

int shu=Integer.parseInt(str);

if (shunum)

System.out.println("輸入的數(shù)大了,輸小點的!");

else if (shunum)

System.out.println("輸入的數(shù)小了,輸大點的!");

else {

System.out.println("恭喜你,猜對了!");

if (i=2)

System.out.println("你真是個天才!");

else if (i=6)

System.out.println("還將就,你過關(guān)了!");

else if (i=8)

System.out.println("但是你還……真笨!");

else

System.out.println("你和豬沒有兩樣了!");

break;}

}

}

}


當(dāng)前題目:linux命令系統(tǒng)指標,linux系統(tǒng)基本命令
分享地址:http://fisionsoft.com.cn/article/hcceoi.html