java在線學習平台源碼(開源在線教育平台源碼)

本文目錄一覽:

求java小程序源代碼 在線等 急急急!!!

下面是俄羅斯方塊遊戲源代碼

還沒完,這代碼太長了,我用我另一個號再粘上

import javax.swing.*;

import javax.swing.JOptionPane;

import javax.swing.border.Border;

import javax.swing.border.EtchedBorder;

import java.awt.*;

import java.awt.event.*;

/**

* 遊戲主類,繼承自JFrame類,負責遊戲的全局控制。

* 內含

* 1, 一個GameCanvas畫布類的實例引用,

* 2, 一個保存當前活動塊(ErsBlock)實例的引用,

* 3, 一個保存當前控制面板(ControlPanel)實例的引用;*/

public class ErsBlocksGame extends JFrame {

/**

* 每填滿一行計多少分*/

public final static int PER_LINE_SCORE = 100;

/**

* 積多少分以後能升級*/

public final static int PER_LEVEL_SCORE = PER_LINE_SCORE * 20;

/**

* 最大級數是10級*/

public final static int MAX_LEVEL = 10;

/**

* 默認級數是5*/

public final static int DEFAULT_LEVEL = 5;

private GameCanvas canvas;

private ErsBlock block;

private boolean playing = false;

private ControlPanel ctrlPanel;

private JMenuBar bar = new JMenuBar();

private JMenu

mGame = new JMenu(“遊戲設置”),

mControl = new JMenu(“遊戲控制”),

mWindowStyle = new JMenu(“窗口風格”);

private JMenuItem

miNewGame = new JMenuItem(“新遊戲”),

miSetBlockColor = new JMenuItem(“設置顏色 …”),

miSetBackColor = new JMenuItem(“設置底色 …”),

miTurnHarder = new JMenuItem(“提升等級”),

miTurnEasier = new JMenuItem(“調底等級”),

miExit = new JMenuItem(“退出”),

miPlay = new JMenuItem(“開始遊戲”),

miPause = new JMenuItem(“暫停”),

miResume = new JMenuItem(“繼續”);

private JCheckBoxMenuItem

miAsWindows = new JCheckBoxMenuItem(“風格1”),

miAsMotif = new JCheckBoxMenuItem(“風格2”),

miAsMetal = new JCheckBoxMenuItem(“風格3”, true);

/**

* 主遊戲類的構造函數

* @param title String,窗口標題*/

public ErsBlocksGame(String title) {

super(title);

//this.setTitle(“lskdf”);

setSize(315, 392);

Dimension scrSize = Toolkit.getDefaultToolkit().getScreenSize();

//獲得屏幕的大小

setLocation((scrSize.width – getSize().width) / 2,

(scrSize.height – getSize().height) / 2);

createMenu();

Container container = getContentPane();

container.setLayout(new BorderLayout(6, 0));

canvas = new GameCanvas(20, 12);

ctrlPanel = new ControlPanel(this);

container.add(canvas, BorderLayout.CENTER);

container.add(ctrlPanel, BorderLayout.EAST);

addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent we) {

JOptionPane about=new JOptionPane();

stopGame();

System.exit(0);

}

});

addComponentListener(new ComponentAdapter() {

public void componentResized(ComponentEvent ce) {

canvas.fanning();

}

});

show();

canvas.fanning();

}

// 遊戲“複位”

public void reset() {

ctrlPanel.reset();

canvas.reset();

}

/**

* 判斷遊戲是否還在進行

* @return boolean, true-還在運行,false-已經停止*/

public boolean isPlaying() {

return playing;

}

/**

* 得到當前活動的塊

* @return ErsBlock, 當前活動塊的引用*/

public ErsBlock getCurBlock() {

return block;

}

/**

* 得到當前畫布

* @return GameCanvas, 當前畫布的引用 */

public GameCanvas getCanvas() {

return canvas;

}

/**

* 開始遊戲*/

public void playGame() {

play();

ctrlPanel.setPlayButtonEnable(false);

miPlay.setEnabled(false);

ctrlPanel.requestFocus();

}

/**

* 遊戲暫停*/

public void pauseGame() {

if (block != null) block.pauseMove();

ctrlPanel.setPauseButtonLabel(false);

miPause.setEnabled(false);

miResume.setEnabled(true);

}

/**

* 讓暫停中的遊戲繼續*/

public void resumeGame() {

if (block != null) block.resumeMove();

ctrlPanel.setPauseButtonLabel(true);

miPause.setEnabled(true);

miResume.setEnabled(false);

ctrlPanel.requestFocus();

}

/**

* 用戶停止遊戲 */

public void stopGame() {

playing = false;

if (block != null) block.stopMove();

miPlay.setEnabled(true);

miPause.setEnabled(true);

miResume.setEnabled(false);

ctrlPanel.setPlayButtonEnable(true);

ctrlPanel.setPauseButtonLabel(true);

}

/**

* 得到當前遊戲者設置的遊戲難度

* @return int, 遊戲難度1-MAX_LEVEL*/

public int getLevel() {

return ctrlPanel.getLevel();

}

/**

* 讓用戶設置遊戲難度

* @param level int, 遊戲難度1-MAX_LEVEL*/

public void setLevel(int level) {

if (level 11 level 0) ctrlPanel.setLevel(level);

}

/**

* 得到遊戲積分

* @return int, 積分。*/

public int getScore() {

if (canvas != null) return canvas.getScore();

return 0;

}

/**

* 得到自上次升級以來的遊戲積分,升級以後,此積分清零

* @return int, 積分。*/

public int getScoreForLevelUpdate() {

if (canvas != null) return canvas.getScoreForLevelUpdate();

return 0;

}

/**

* 當分數累計到一定的數量時,升一次級

* @return boolean, ture-update successufl, false-update fail

*/

public boolean levelUpdate() {

int curLevel = getLevel();

if (curLevel MAX_LEVEL) {

setLevel(curLevel + 1);

canvas.resetScoreForLevelUpdate();

return true;

}

return false;

}

/**

* 遊戲開始*/

private void play() {

reset();

playing = true;

Thread thread = new Thread(new Game());

thread.start();

}

/**

* 報告遊戲結束了*/

private void reportGameOver() {

JOptionPane.showMessageDialog(this, “遊戲結束!”);

}

/**

* 建立並設置窗口菜單 */

private void createMenu() {

bar.add(mGame);

bar.add(mControl);

bar.add(mWindowStyle);

mGame.add(miNewGame);

mGame.addSeparator();

mGame.add(miSetBlockColor);

mGame.add(miSetBackColor);

mGame.addSeparator();

mGame.add(miTurnHarder);

mGame.add(miTurnEasier);

mGame.addSeparator();

mGame.add(miExit);

mControl.add(miPlay);

mControl.add(miPause);

mControl.add(miResume);

mWindowStyle.add(miAsWindows);

mWindowStyle.add(miAsMotif);

mWindowStyle.add(miAsMetal);

setJMenuBar(bar);

miPause.setAccelerator(

KeyStroke.getKeyStroke(KeyEvent.VK_P, KeyEvent.CTRL_MASK));

miResume.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0));

miNewGame.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent ae) {

stopGame();

reset();

setLevel(DEFAULT_LEVEL);

}

});

miSetBlockColor.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent ae) {

Color newFrontColor =

JColorChooser.showDialog(ErsBlocksGame.this,

“設置積木顏色”, canvas.getBlockColor());

if (newFrontColor != null)

canvas.setBlockColor(newFrontColor);

}

});

miSetBackColor.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent ae) {

Color newBackColor =

JColorChooser.showDialog(ErsBlocksGame.this,

“設置底版顏色”, canvas.getBackgroundColor());

if (newBackColor != null)

canvas.setBackgroundColor(newBackColor);

}

});

miTurnHarder.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent ae) {

int curLevel = getLevel();

if (curLevel MAX_LEVEL) setLevel(curLevel + 1);

}

});

miTurnEasier.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent ae) {

int curLevel = getLevel();

if (curLevel 1) setLevel(curLevel – 1);

}

});

miExit.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent ae) {

System.exit(0);

}

});

miPlay.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent ae) {

playGame();

}

});

miPause.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent ae) {

pauseGame();

}

});

miResume.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent ae) {

resumeGame();

}

});

miAsWindows.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent ae) {

String plaf = “com.sun.java.swing.plaf.windows.WindowsLookAndFeel”;

setWindowStyle(plaf);

canvas.fanning();

ctrlPanel.fanning();

miAsWindows.setState(true);

miAsMetal.setState(false);

miAsMotif.setState(false);

}

});

miAsMotif.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent ae) {

String plaf = “com.sun.java.swing.plaf.motif.MotifLookAndFeel”;

setWindowStyle(plaf);

canvas.fanning();

ctrlPanel.fanning();

miAsWindows.setState(false);

miAsMetal.setState(false);

miAsMotif.setState(true);

}

});

miAsMetal.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent ae) {

String plaf = “javax.swing.plaf.metal.MetalLookAndFeel”;

setWindowStyle(plaf);

canvas.fanning();

ctrlPanel.fanning();

miAsWindows.setState(false);

miAsMetal.setState(true);

miAsMotif.setState(false);

}

});

}

/**

* 根據字串設置窗口外觀

* @param plaf String, 窗口外觀的描述

*/

private void setWindowStyle(String plaf) {

try {

UIManager.setLookAndFeel(plaf);

SwingUtilities.updateComponentTreeUI(this);

} catch (Exception e) {

}

}

/**

* 一輪遊戲過程,實現了Runnable接口

* 一輪遊戲是一個大循環,在這個循環中,每隔100毫秒,

* 檢查遊戲中的當前塊是否已經到底了,如果沒有,

* 就繼續等待。如果到底了,就看有沒有全填滿的行,

* 如果有就刪除它,並為遊戲者加分,同時隨機產生一個

* 新的當前塊,讓它自動下落。

* 當新產生一個塊時,先檢查畫布最頂上的一行是否已經

* 被佔了,如果是,可以判斷Game Over了。*/

private class Game implements Runnable {

public void run() {

//產生新方快

int col = (int) (Math.random() * (canvas.getCols() – 3)),

style = ErsBlock.STYLES[(int) (Math.random() * 7)][(int) (Math.random() * 4)];

while (playing) {

if (block != null) { //第一次循環時,block為空

if (block.isAlive()) {

try {

Thread.currentThread().sleep(100);

} catch (InterruptedException ie) {

ie.printStackTrace();

}

continue;

}

}

checkFullLine(); //檢查是否有全填滿的行

if (isGameOver()) { //檢查遊戲是否應該結束了

miPlay.setEnabled(true);

miPause.setEnabled(true);

miResume.setEnabled(false);

ctrlPanel.setPlayButtonEnable(true);

ctrlPanel.setPauseButtonLabel(true);

reportGameOver();

return;

}

block = new ErsBlock(style, -1, col, getLevel(), canvas);

block.start();

col = (int) (Math.random() * (canvas.getCols() – 3));

style = ErsBlock.STYLES[(int) (Math.random() * 7)][(int) (Math.random() * 4)];

ctrlPanel.setTipStyle(style);

}

}

/**

* 檢查畫布中是否有全填滿的行,如果有就刪除之*/

public void checkFullLine() {

for (int i = 0; i canvas.getRows(); i++) {

int row = -1;

boolean fullLineColorBox = true;

for (int j = 0; j canvas.getCols(); j++) {

if (!canvas.getBox(i, j).isColorBox()) {

fullLineColorBox = false;

break;

}

}

if (fullLineColorBox) {

row = i–;

canvas.removeLine(row);

}

}

}

/**

* 根據最頂行是否被占,判斷遊戲是否已經結束了。

* @return boolean, true-遊戲結束了,false-遊戲未結束*/

private boolean isGameOver() {

for (int i = 0; i canvas.getCols(); i++) {

ErsBox box = canvas.getBox(0, i);

if (box.isColorBox()) return true;

}

return false;

}

}

怎樣在網上查找JAVA源代碼

用百度搜索一下,就用“JAVA源代碼“做為搜索條件。一般能找到很多網站。

要學JAVA最好還是找本書看一看。JAVA能做的東西很多,你要決定你的主攻方向然後就去找相應的資料。

你要學哪方面:

JAVA應用程序開發,

JAVA網絡開發:JSP,APPLET。

JAVA手持設備軟件開發,像手機軟件等。

如果對程序還不是很懂,最好找本JAVA入門級的書看看,然後再決定。

哪裡有JAVA開發板,軟件開發平台,Web開發平台或快速開發平台的源碼,包括工作流源碼,還有JAVA OA源碼?

公司OA業務擴展需要,需要有相應的開發平台和OA系統支撐,希望符合一下條件:JAVA、J2EE,JAVA快速開發平台源碼,JAVA軟件開發平台源碼,或者JAVA開發板源碼,包括JAVA工作流源碼,最好是JBPM的,另外就是有相應的系統源碼,如JAVA OA系統源碼。

首先您需要一個帶由標準OA 的開發平台,平台的語言是JAVA,J2EE,那麼很好,我這邊推薦下天翎的地代碼開發平台,本身是java語言,自帶宏語言,就是J2ee,所以,在這個維度是吻合,另外現在如果他們周年慶合作,會有一個優惠,贈送知識文檔管理系統和OA 系統。基本上該有的公文處理,待辦事情等都具備。

看是否這樣的回復是吻合貴司需求的?

存在即合理

誰有JavaWeb版本的在線考試系統,求完整源代碼

愛考在線考試系統 1.2.1 版本 web瀏覽 全國唯一開源免費在線考試系統1.支持幾乎所有的題型,包括選擇題,判斷題,填空題,問答題,複合題(選詞,完型填空,閱讀理解),多空選擇題,連線題等; 2.支持智能出卷,讓您可以根據題型,章節(知識分類),試題難度,分值等組成一份完整的試卷; 3.支持在線練習或考試,並能設置考試的考生(或員工)範圍,時間。讓您能輕鬆組織一場在線考試; 4.支持客觀題自動判卷以及主觀題手動判卷,並能自動核計總分,並統計排名,生成成績分析報表; 5.簡化錄入試題功能,支持智能識別,能極大簡化你的錄入工作; 6.支持共享題庫。讓用戶可以從愛考網下載試題,試卷,讓您分享海量題庫。 免除自己錄題的煩惱; 7.是免費開源的在線考試系統,您不需要為此支付任何費用,並且可以下載源代碼以供學習和研究。

求Java的在線學習系統源代碼

Java 程序員必須收藏的資源大全

古董級工具

這些工具伴隨着Java一起出現,在各自輝煌之後還在一直使用。

Apache Ant:基於XML的構建管理工具。

cglib:字節碼生成庫。

GlassFish:應用服務器,由Oracle贊助支持的Java EE參考實現。

Hudson:持續集成服務器,目前仍在活躍開發。

JavaServer Faces:Mojarra是JSF標準的一個開源實現,由Oracle開發。

JavaServer Pages:支持自定義標籤庫的網站通用模板庫。

Liquibase:與具體數據庫獨立的追蹤、管理和應用數據庫Scheme變化的工具。

2.構建工具

構建及應用依賴關係處理工具。

Apache Maven:Maven是一款聲明式構建及依賴管理工具,採用約定優於配置方式進行管理。相對Apache Ant更推薦使用Maven,前者採用了過程式管理,維護相對困難。

Bazel:來自Google的構建工具,可以快速、可靠地構建代碼。

Gradle:使用Groovy(非XML)進行增量構建,可以很好地與Maven依賴管理配合工作。

需要這些學習資料和工具的可以自己下載哦

java的代碼分享網站有哪些?

1. java2s

這個網站非常好,分成三大類,分別是Example 、Products 、 Articles ,每個大類下又分別設許多小類,還有搜索功能,這樣查找起來非常方便。。比如,如果要學習SWT/JFace,只要把Example下的SWT JFace Eclipse 研究一下也就可以了。另外,這個網站還有JavaScript DHTML 、 C# / C Sharp 、 C / ANSI-C 、 SQL / MySQL 等類。總之,非常好。

2. codeZoo

這是O’Reily旗下的,除了Java之外,還有Ruby、Python。

3. Java學習源代碼檢索系統

難得看見國產的,好歹也要支持一下,分類也算清楚。

4. Koders

是個綜合查詢的網站,不過它好像是從代碼中查找關鍵詞,包含的語言挺多的。

5. Resources for Java server-side developers

確切的說,它是一個資源收集的網站,代碼查詢並不多。不過它分類相當細,如Articles、Books、Examples、Extensions、Frameworks等類,你可以輸入Spring或Hibernate作為關鍵詞搜索一下看看。

—–

原創文章,作者:XAAPT,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/128680.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
XAAPT的頭像XAAPT
上一篇 2024-10-03 23:25
下一篇 2024-10-03 23:25

相關推薦

  • Python能否跨平台

    Python作為一門高級編程語言,是一種跨平台的編程語言。下面從多個方面探討Python能否跨平台。 一、Python的跨平台性 Python可以在Windows、Linux、Ma…

    編程 2025-04-29
  • 雲智直聘 源碼分析

    本文將會對雲智直聘的源碼進行分析,包括前端頁面和後端代碼,幫助讀者了解其架構、技術實現以及對一些常見的問題進行解決。通過本文的閱讀,讀者將會了解到雲智直聘的特點、優勢以及不足之處,…

    編程 2025-04-29
  • SDN開源組織中ONOS起步最早

    ONOS是一個開源軟件定義網絡(SDN)操作系統,由ON.Lab創建並一直在開發。該平台旨在通過使用網絡虛擬化技術使工程師能夠快速靈活地創建和管理網絡服務。 一、ONOS的優勢 在…

    編程 2025-04-29
  • GitHub好玩的開源項目

    本文旨在介紹GitHub上一些好玩的開源項目,並提供代碼示例供讀者參考和學習。 一、Emoji列表 GitHub上有一份完整的Emoji列表,它支持各種平台和設備,方便用戶在Git…

    編程 2025-04-28
  • 兼職程序員外包平台的開發與實現

    隨着社會經濟和科技的快速發展,更多人選擇通過互聯網進入編程行業。兼職開發已成為一種新型就業方式,並且這種方式在新冠肺炎疫情襲來、大規模遠程辦公的背景下更為普遍。本文將從多個方面詳細…

    編程 2025-04-28
  • 雲盤開源系統哪個好?

    本文將會介紹幾種目前主流的雲盤開源系統,從不同方面對它們做出分析比較,以此來確定哪個雲盤開源系統是最適合您的。 一、Seafile Seafile是一款非常出色的雲盤開源系統,它的…

    編程 2025-04-28
  • Python網站源碼解析

    本文將從多個方面對Python網站源碼進行詳細解析,包括搭建網站、數據處理、安全性等內容。 一、搭建網站 Python是一種高級編程語言,適用於多種領域。它也可以用於搭建網站。最常…

    編程 2025-04-28
  • Python在線編輯器的優勢與實現方式

    Python在線編輯器是Python語言愛好者的重要工具之一,它可以讓用戶方便快捷的在線編碼、調試和分享代碼,無需在本地安裝Python環境。本文將從多個方面對Python在線編輯…

    編程 2025-04-28
  • 開源Python CMS的優勢和應用範圍

    開源Python CMS是一種基於Python架構的內容管理系統。它不僅具有高效可靠的核心框架,還有大量的插件和現成的模板,可以充分滿足各種網站需求,使開發人員輕鬆地進行網站設計和…

    編程 2025-04-28
  • 開源軟件授權使用證明

    開源軟件在現今的軟件開發領域中發揮了非常重要的作用。但是,開源軟件的免費使用並不意味着用戶可以隨意使用,因為開源軟件本身也有授權的問題。本文將從多個方面闡述開源軟件授權使用證明的相…

    編程 2025-04-28

發表回復

登錄後才能評論