精华内容
下载资源
问答
  • java小游戏源代码大全
    千次阅读
    2021-03-05 15:49:09

    一:坦克大战

    源码import java.util.ArrayList;

    import java.awt.*;

    import java.awt.event.*;

    import java.util.List;

    import javax.swing.JOptionPane;

    public class TankClient extends Frame implements ActionListener {

    /**

    *

    */

    private static final long serialVersionUID = 1L;

    public static final int Fram_width = 800; //

    public static final int Fram_length = 600;

    public static boolean printable = true;

    MenuBar jmb = null;

    Menu jm1 = null, jm2 = null, jm3 = null, jm4 = null;

    MenuItem jmi1 = null, jmi2 = null, jmi3 = null, jmi4 = null, jmi5 = null,

    jmi6 = null, jmi7 = null, jmi8 = null, jmi9 = null;

    Image screenImage = null;

    Tank homeTank = new Tank(300, 560, true, Direction.STOP, this);//

    GetBlood blood = new GetBlood();

    Home home = new Home(373, 545, this);

    List theRiver = new ArrayList();

    List tanks = new ArrayList();

    List bombTanks = new ArrayList();

    List bullets = new ArrayList();

    List trees = new ArrayList();

    List homeWall = new ArrayList();

    List otherWall = new ArrayList();

    List metalWall = new ArrayList();

    public void update(Graphics g) {

    screenImage = this.createImage(Fram_width, Fram_length);

    Graphics gps = screenImage.getGraphics();

    Color c = gps.getColor();

    gps.setColor(Color.GRAY);

    gps.fillRect(0, 0, Fram_width, Fram_length);

    gps.setColor(c);

    framPaint(gps);

    g.drawImage(screenImage, 0, 0, null);

    }

    public void framPaint(Graphics g) {

    Color c = g.getColor();

    g.setColor(Color.green);

    Font f1 = g.getFont();

    g.setFont(new Font("TimesRoman", Font.BOLD, 20));

    g.drawString("最高分: ", 200, 70);

    g.setFont(new Font("TimesRoman", Font.ITALIC, 30));

    g.drawString("" + tanks.size(), 400, 70);

    g.setFont(new Font("TimesRoman", Font.BOLD, 20));

    g.drawString("得分ֵ: ", 500, 70);

    g.setFont(new Font("TimesRoman", Font.ITALIC, 30));

    g.drawString("" + homeTank.getLife(), 650, 70);

    g.setFont(f1);

    if (tanks.size() == 0 && home.isLive() && homeTank.isLive()) {

    Font f = g.getFont();

    g.setFont(new Font("TimesRoman", Font.BOLD, 60));

    this.otherWall.clear();

    g.drawString(" ", 310, 300);

    g.setFont(f);

    }

    if (homeTank.isLive() == false) {

    Font f = g.getFont();

    g.setFont(new Font("TimesRoman", Font.BOLD, 40));

    tanks.clear();

    bullets.clear();

    g.setFont(f);

    }

    g.setColor(c);

    for (int i = 0; i < theRiver.size(); i++) {

    River r = theRiver.get(i);

    r.draw(g);

    }

    for (int i = 0; i < theRiver.size(); i++) {

    River r = theRiver.get(i);

    homeTank.collideRiver(r);

    r.draw(g);

    }

    home.draw(g);

    homeTank.draw(g);

    homeTank.eat(blood);

    for (int i = 0; i < bullets.size(); i++) {

    Bullets m = bullets.get(i);

    m.hitTanks(tanks);

    m.hitTank(homeTank);

    版权属于:逍遥子大表哥

    按照知识共享署名-非商业性使用 4.0 国际协议进行许可,转载引用文章应遵循相同协议。

    更多相关内容
  • 15个java小游戏源码合集:Java打猎射击游戏,Java对对碰按钮版(最终版),Java俄罗斯方块2,Java飞行射击类游戏,Java推箱子2,Java网络五子棋2等等15个Java小游戏源码
  • java贪吃蛇小游戏代码java小游戏源码
  • 该资源包含5个JAVA小游戏源码,并且附有说明文档,需要的童鞋可以下载哦!
  • 20款java小游戏源码Zip

    2017-06-05 23:38:12
    包含20款java小游戏源码,帮助你更好的学习java
  • 包括以下游戏源码:沙漠阻击手,3D魔方游戏,财富城市,贪吃蛇,俄罗斯方块,麻将,三维迷宫,扫雷,推箱子,算卦游戏和简单回合游戏11个游戏源码,欢迎下载,供学习与交流。
  • java小游戏 (源码)swing五子棋源代码java小游戏 (源码)swing五子棋源代码java小游戏 (源码)swing五子棋源代码java小游戏 (源码)swing五子棋源代码java小游戏 (源码)swing五子棋源代码java小游戏 (源码)swing五子棋...
  • java小游戏源码,亲测可用。内含 推箱子,坦克大战,俄罗斯方块,贪吃蛇,扫雷。好玩不贵,值得一探。
  • 包含Java桌球小游戏源码及相关素材
  • Java实现windows自带小游戏,蜘蛛纸牌小游戏源码
  • Java源码包实例源码JAVA开发...Java坦克大战网络对战版源代码.rar Java声音播放程序源代码.rar JAVA实现CLDC与MIDP底层编程的代码.rar Java实现HTTP连接与浏览,Java源码下载.rar Java实现的FTP连接与数据浏览程序.rar
  • Java小游戏_Java扫雷

    2021-03-16 06:23:06
    Java扫雷程序源码,java Swing实现的扫雷游戏程序源代码,内含需求分析+设计说明+程序文件说明。运行java StartJMine启动程序,或双击StartJMine.bat启动扫雷游戏主程序。程序框架都在JMine.java中。JMine.java 还...
  • 摘要:JAVA源码,游戏娱乐,贪吃蛇 Java贪吃蛇小游戏源代码,非Android源码,当然Android中也是可以运行的,同是基于Java平台,不过修改运行方式。这是运行于Java手机的J2ME游戏源码,也是挺基础的,学习Android游戏...
  • 附件是几十个java游戏源代码打包,仅供学习使用。 1、纯java编写 2、主流小游戏
  • java小游戏源码集合

    2021-05-19 10:50:45
    8款java小游戏。包含五子棋,坦克大战,贪吃蛇,接苹果,跳跳球,推箱子,中国象棋,火柴人跑酷000000000000000000000000000000
  • java小游戏源码2021版

    2021-05-20 09:02:42
    java小游戏 有5款经典热血小游戏
  • 160个项目开发实例,聊天项目,小游戏适和新手学习(项目采用GBK编码)。 import java.util.*; import java.io.*; import java.awt.*; import java.awt.event.*; import java.applet.*; import javax.swing.*;...
  • Java超级玛丽源代码,带背景音效,学习java编写游戏时可好好参考下,如果要运行看效果,需要在JAVA虚拟机情况下,运行编译生成的Mario.jar文件。
  • 资源名称:Java五子棋游戏源代码集锦资源目录:【】514]java编写的智能五子棋【】five【】fiveChess【】FiveInARow【】Java五子棋代码【】java实现五子棋【】java编写的一个简单的五子棋程序【】java编的五子棋【】...
  • java开发的小游戏源码下载微型RTS microRTS 是 RTS 游戏的一个小型实现,旨在执行 AI 研究。 与使用像 Wargus 或 StarCraft(使用 BWAPI)这样的成熟游戏相比,使用 microRTS 的优势在于 microRTS 简单得多,并且...
  • 求一个简单的Java小游戏代码

    万次阅读 2021-02-12 10:21:10
    展开全部连连看的小源码package Lianliankan;import javax.swing.*;import java.awt.*;import java.awt.event.*;public class lianliankan implements ActionListener{JFrame mainFrame; //主面...

    展开全部

    连连看的小源码

    package Lianliankan;

    import javax.swing.*;

    import java.awt.*;

    import java.awt.event.*;

    public class lianliankan implements ActionListener

    {

    JFrame mainFrame; //主面32313133353236313431303231363533e58685e5aeb931333335326239板

    Container thisContainer;

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

    JButton diamondsButton[][] = new JButton[6][5];//游戏按钮数组

    JButton exitButton,resetButton,newlyButton; //退出,重列,重新开始按钮

    JLabel fractionLable=new JLabel("0"); //分数标签

    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;j<7;j++ ) {

    if (grid[x0][j]==0){ //判断第一个按钮同行哪个按钮为空

    if (y>j) { //如果第二个按钮的Y坐标大于空按钮的Y坐标说明第一按钮在第二按钮左边

    for (i=y-1;i>=j;i-- ){ //判断第二按钮左侧直到第一按钮中间有没有按钮

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

    k=0;

    break;

    }

    else{ k=1; } //K=1说明通过了第一次验证

    }

    if (k==1) {

    linePassOne();

    }

    }

    if (y

    for (i=y+1;i<=j ;i++ ){ //判断第二按钮左侧直到第一按钮中间有没有按钮

    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 (x0

    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 (x0>x) {

    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;i<8;i++ ) { //列

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

    if (x>i) {

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

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

    k=0;

    break;

    }

    else { k=1; }

    }

    if (k==1) {

    rowPassOne();

    }

    }

    if (x

    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 (y0

    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 (y0>y) {

    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 (y0>j){ //第一按钮同行空按钮在左边

    for (i=y0-1;i>=j ;i-- ){ //判断第一按钮同左侧空按钮之间有没按钮

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

    k=0;

    break;

    }

    else { k=2; } //K=2说明通过了第二次验证

    }

    }

    if (y0

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

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

    k=0;

    break;

    }

    else{ k=2; }

    }

    }

    }

    public void rowPassOne(){

    if (x0>i) {

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

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

    k=0;

    break;

    }

    else { k=2; }

    }

    }

    if (x0

    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工程 上网搜下java小游戏源码 自己好好看看

    追问

    好吧,我用的是文本

    本回答被提问者和网友采纳

    2Q==

    已赞过

    已踩过<

    你对这个回答的评价是?

    评论

    收起

    展开全文
  • 7个Java小游戏源代码

    千次下载 热门讨论 2007-11-10 17:34:03
    7个Java小游戏源代码 解压密码是:yykings
  • java小游戏 Typing(源码)

    2022-05-31 20:31:29
    java小游戏 Typing(源码)java小游戏 Typing(源码)java小游戏 Typing(源码)java小游戏 Typing(源码)java小游戏 Typing(源码)java小游戏 Typing(源码)java小游戏 Typing(源码)java小游戏 Typing(源码)java小游戏 ...
  • java小游戏 TDGame(源码)

    2022-05-31 20:31:00
    java小游戏 TDGame(源码)java小游戏 TDGame(源码)java小游戏 TDGame(源码)java小游戏 TDGame(源码)java小游戏 TDGame(源码)java小游戏 TDGame(源码)java小游戏 TDGame(源码)java小游戏 TDGame(源码)java小游戏 ...
  • java小游戏 STGFly(源码)

    2022-05-31 20:30:09
    java小游戏 STGFly(源码)java小游戏 STGFly(源码)java小游戏 STGFly(源码)java小游戏 STGFly(源码)java小游戏 STGFly(源码)java小游戏 STGFly(源码)java小游戏 STGFly(源码)java小游戏 STGFly(源码)java小游戏 ...
  • 简单的java小游戏源码蛋糕柜台 在Greenfoot IDE中开发的简单平台游戏。 源代码取自《 Creative Greenfood》一书。 我已更新代码以在新的Greenfoot 3上运行。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 77,767
精华内容 31,106
关键字:

java小游戏源代码大全