iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java实现简单连连看游戏
  • 383
分享到

Java实现简单连连看游戏

2024-04-02 19:04:59 383人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

本文实例为大家分享了Java实现连连看游戏的具体代码,供大家参考,具体内容如下 大二时做的Java课程设计,拿了个优秀,用了icon来模拟做了个简单的连连看,代码量不多,仅供参考。

本文实例为大家分享了Java实现连连看游戏的具体代码,供大家参考,具体内容如下

大二时做的Java课程设计,拿了个优秀,用了icon来模拟做了个简单的连连看,代码量不多,仅供参考。

课设要求是实现连连看最基本的功能,所以这里写了个简单的初始界面和经典模式的一个界面。

初始界面

代码如下:

public class PictureMatching {
    JButton classical = new JButton("经典模式");
    JButton about = new JButton("关于游戏");
    JButton exit= new JButton("退出游戏");
    JFrame menus = new JFrame("连连看");
    public PictureMatching(){
         menus.setLayout(new FlowLayout(FlowLayout.CENTER,40,40));//布局
         JLabel label = new JLabel("连连看");
 
        //设置字体
         Font font = new Font("黑体",Font.PLaiN,26);
            label.setFont(font);        
            classical.setFont(font); 
            about.setFont(font);
            exit.setFont(font);
           //组件放入容器中
            menus.add(label);
            menus.add(classical);
            menus.add(about);
            menus.add(exit);
 
            Buttonlistener listener = new Buttonlistener();
            classical.addActionListener(listener);
            about.addActionListener(listener);
            exit.addActionListener(listener);
            menus.setSize(300, 450);
            menus.setLocationRelativeTo(null);
            menus.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            menus.setVisible(true);
    }
    public class Buttonlistener implements ActionListener{//初始界面的监听器
        @Override
        public void actionPerfORMed(ActionEvent e) {
            if((JButton)e.getSource() == classical){
                new Classical();
            }
            else if ((JButton)e.getSource() == about) {
                new About();
            }
            else if((JButton)e.getSource() == exit)
                System.exit(0);
        }
    }
   //主函数
    public static void main(String args[]){
        try{
            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
        }catch (Exception e) {}
        new PictureMatching();
    }
}

“关于游戏"界面可以写一些信息,这里不多赘述。

经典模式的界面如下:

代码如下:

class Classical extends JFrame implements ActionListener{
    Piture piture[][]=new Piture[12][12];
    Check check;JLabel label,time,score,rule,prop,win,lose;
    Time timer;
    CardLayout card = new CardLayout();
    JPanel panel = new JPanel(card);
    JPanel addpanel1 = new JPanel();//按钮面板
    JPanel addpanel2 = new JPanel();//暂停面板
    JPanel addpanel3 = new JPanel();//win面板
    JPanel addpanel4 = new JPanel();//lose面板
    private int s = 0;//分数 
    private int best = 0; //最高分
    JButton tip,reform,exit,stop,restart;
    int t = 3,r = 1;//提示次数,重置次数
    Path path = Paths.get("D://课程设计//最高分.txt");
    public Classical(){
        setTitle("经典模式");
        setLayout(null);
        label = new JLabel("经典模式");
        Font font = new Font("黑体", Font.PLAIN, 40);
        label.setFont(font);
        tip = new JButton("提示X3");
        reform = new JButton("重置X1");
        exit = new JButton("返回");
        stop = new JButton("暂停");
        restart = new JButton("重新开始");
        time = new JLabel();
        Font song = new Font("宋体", Font.PLAIN, 24);
        time.setFont(song);    
        score = new JLabel("分数:"+s);
        score.setFont(song);
        add(label);add(tip);add(reform);add(exit);add(stop);add(time);add(restart);add(score);add(panel);
        addpanel1.setLayout(null);
        addpanel2.setLayout(null);
        addpanel3.setLayout(null);
        addpanel4.setLayout(null);
        label.setBounds(410,50,200, 50);
        tip.setBounds(300,125,80,50);
        reform.setBounds(400,125,80,50);
        exit.setBounds(500,125,80,50);
        restart.setBounds(600,125, 100, 50);
        stop.setBounds(150,125,80,50);
        time.setBounds(80,70,250,50);
        score.setBounds(800,125,250,50);
        panel.setBounds(100, 210, 900,770);
        try(OutputStream output = Files.newOutputStream(path, StandardOpenOption.CREATE)){//读取最高分
            java.io.InputStream input = Files.newInputStream(path,StandardOpenOption.READ);
            DataInputStream in = new DataInputStream(new BufferedInputStream(input)); 
            best = in.readInt();
        } catch (IOException e) {
        }
        tip.addActionListener(this);
        reform.addActionListener(this);
        exit.addActionListener(this);
        stop.addActionListener(this);
        restart.addActionListener(this);
        //初始化所有的Piture类对象
        for(int i = 0;i<12;i++){
            for(int j = 0;j<12;j++){
                piture[i][j] = new Piture();
                piture[i][j].setX(i);
                piture[i][j].setY(j);
                if(i>=1&&i<=10&&j>=1&&j<=10)
                    piture[i][j].setK(true);
            }
         }
        ImageIcon icons[] = new ImageIcon[28];
        for(int q = 0;q<28;q++){
            icons[q] = new ImageIcon("D://课程设计//图标//图标//"+(q+1)+".png");//图标路径
        }
        //用循环将按钮赋予图标
        for(int i = 1; i < 11;i++){
            for(int j = 1;j<11;j+=2){
                int l = (int) (Math.random()*28);
                piture[i][j].setBtn(new JButton(icons[l]));
                piture[i][j+1].setBtn(new JButton(icons[l]));
            }
        }
        check = new Check();
        Reform();
        buttonclick listener = new buttonclick();
        //用循环将按钮装上监听器
        for(int i = 1; i < 11;i++){
            for(int j = 1;j<11;j++){
                piture[i][j].getBtn().addActionListener(listener);
                addpanel1.add(piture[i][j].getBtn());
                piture[i][j].getBtn().setBounds(80*(j-1),70*(i-1),80,70);
            }
        }
        rule = new JLabel("<html>规则介绍:<br><font>连连看是一个把相同两张牌连线后<br><font>消除的益智游戏,游戏时请注意,<br></font>两张牌间连线的拐点不能超过两个。</font></html>

prop = new JLabel("<html>道具介绍:<br><font>提示:自动消除一对相同的卡牌<br><font>重置:用于重新洗牌的道具");
        win = new JLabel();
        lose = new JLabel();
        rule.setFont(song);
        prop.setFont(song);
        win.setFont(song);win.setBounds(350,200, 200, 200);
        lose.setFont(song);lose.setBounds(350,200, 200, 200);
        addpanel2.setLayout(new FlowLayout(FlowLayout.CENTER,20,20));
        addpanel2.add(rule);addpanel2.add(prop);
        addpanel3.add(win);
        addpanel4.add(lose);
        panel.add(addpanel1,"p1");panel.add(addpanel2,"p2");panel.add(addpanel3,"p3");panel.add(addpanel4, "p4");
        setSize(1000,1000);
        setResizable(false);
        setLocationRelativeTo(null);
        setVisible(true);timer =new Time();
    }
    //时间类
    class Time {
        private int minute = 0;
        private int second = 0;
        private int totalSeconds;
        Timer t=new Timer();
        TimerTask task;
        private boolean Run = true;
        private boolean minuteNotAlready = false;
        private boolean secondNotAlready = false;
        public Time(){
            totalSeconds = 60 * 3;            
            initData(totalSeconds);
            t.schedule(task = new TimerTask() {
                public void run() {
                    if(Run){
                        if (secondNotAlready) {
                            startCount();
                        } else {
                            cancel();
                            best = best>s?best:s;
                            lose.setText("<html>You are lose!<br><font>分数:"+s+"<br><font>最高分:"+best);
                            card.show(panel, "p4");
                            try(OutputStream output = Files.newOutputStream(path, StandardOpenOption.CREATE);
                                    DataOutputStream dataOutputStream = new DataOutputStream(new BufferedOutputStream(output))){
                                dataOutputStream.writeInt(best);
                            }catch (Exception e3) {
                            }
                        }
                    }
                }
            }, 0, 1000);
        }
        //初始化赋值
        private void initData(int totalSeconds) {
            minute = 0;
            second = 0;
            minuteNotAlready = false;
            secondNotAlready = false;
            if (totalSeconds > 0) {
                secondNotAlready = true;
                second = totalSeconds;
                if (second >= 60) {
                    minuteNotAlready = true;
                    minute = second / 60;
                    second = second % 60;
                }
            }
            time.setText("剩余时间:"+minute+"分钟"+second+"秒");
        } 
        //计算各个值的变动
        public void startCount() {
            if (secondNotAlready) {
                if (second > 0) {
                    second--;
                    if (second == 0 && !minuteNotAlready) {
                        secondNotAlready = false;
                    }
                } else {
                    if (minuteNotAlready) {
                        if (minute > 0) {
                            minute--;
                            second = 59;
                            if (minute == 0) {
                                minuteNotAlready = false;
                            }
                        }
                    }
                }
            }
            time.setText("剩余时间:"+minute+"分钟"+second+"秒");
        }
     
    }
    @Override
    public void actionPerformed(ActionEvent e) {
        if((JButton)e.getSource() == tip){
            if(t>0){
                Tip();
                t--;
                tip.setText("提示X"+ t );
            }
        }
        else if((JButton)e.getSource() == reform){
            if(r>0){
                Reform();
                r--;
                reform.setText("重置X"+r);
            }
        }
        else if((JButton)e.getSource() == stop){
                if(stop.getText().equals("暂停")){
                    timer.Run = false;
                    stop.setText("开始");
                    card.show(panel, "p2");//显示暂停面板,即游戏规则
                    return;
                }
                else if (stop.getText().equals("开始")) {
                    timer.Run = true;
                    stop.setText("暂停");
                    card.show(panel, "p1");
                    return;
                }
        }
        else if((JButton)e.getSource() == exit){
            setVisible(false);
            }
        else if((JButton)e.getSource() == restart){
            setVisible(false);
            Classical classical = new Classical();
        }
    }
    //图案的匹配消除监听器
    public class buttonclick implements ActionListener{
        int x1,y1,x2,y2;//分别表示第一个卡牌和第二个卡牌的坐标
        public buttonclick () {
            x1 = -1;//初始化
            x2 = -1;
            y1 = -1;
            y2 = -1;
        }
        @Override
        public void actionPerformed(ActionEvent e) {
            if(x1 == -1){//如果第一个卡牌的坐标为初始值,将此时点击的按钮的内容赋予第一个卡牌
                for(int i = 1; i < 11;i++){
                    for(int j = 1;j<11;j++){     
                        if((JButton)e.getSource()==piture[i][j].getBtn()){
                            x1 = i;y1 = j;//将卡牌坐标赋予第一个卡牌
                        }
                    }
                }
            }
            else{//如果第一个卡牌的坐标不为初始值,将此时点击的按钮的内容赋予第er个卡牌
                for(int i = 1; i < 11;i++){
                    for(int j = 1;j<11;j++){
                        if((JButton)e.getSource()==piture[i][j].getBtn()){
                            if(x1!=i||y1!=j){
                                x2 = i;y2 = j;//将
                            }
                        }
                    }
                }
            }
            
            if(x1 != -1&&x2 != -1){//当两个卡牌的值都不为初始值
                if(piture[x1][y1].getBtn().getIcon() == piture[x2][y2].getBtn().getIcon()){//比较两个按钮的图标
                    boolean w = check.isMatch(new Point(x1, y1),new Point(x2,y2));//比较是否匹配
                    if(w){
                        addpanel1.remove(piture[x1][y1].getBtn());
                        piture[x1][y1].setK(false);
                        addpanel1.remove(piture[x2][y2].getBtn());
                        piture[x2][y2].setK(false);
                        x1 = -1;y1 = -1;
                        x2 = -1;y2 = -1;
                        s = s + 200;
                        score.setText("分数:"+s);
                        setVisible(false);
                        setVisible(true);
                    }
                }
                x1 = x2;
                y1 = y2;
                x2 = -1;
                y2 = -1;
            }
            try {
                if(isReform())
                    Reform();
            } catch (Exception e2) {
                timer.Run = false;
                s = s + (timer.minute*60+timer.second)*100;
                best = best>s?best:s;
                win.setText("<html>You are win!<br><font>分数:"+s+"<br><font>最高分:"+best);
                card.show(panel, "p3");//显示win面板
                //将最高分写入文件
                try(OutputStream output = Files.newOutputStream(path, StandardOpenOption.CREATE);
                        DataOutputStream dataOutputStream = new DataOutputStream(new BufferedOutputStream(output))){
                    dataOutputStream.writeInt(best);
                }catch (Exception e3) {
                }
                
            }
            
        }
    }
    //提示功能
    public void Tip(){
        int p=0,p1 = 0;
        for(int i = 0;i<12;i++){
            for(int j = 0;j<12;j++){
                if(piture[i][j].isK()){
                    p++;
                }
            }
        }
        Piture pit[] = new Piture[p];
        for(int i = 1;i<12;i++){
            for(int j = 1;j<12;j++){
                if(piture[i][j].isK()){
                    pit[p1] = piture[i][j];
                    p1++;
                }
            }
        }
        //检测匹配的卡牌,消除找到的第一对卡牌
        for(int m = 0;m<pit.length-1;m++){
            for(int n = m+1;n<pit.length;n++){
                if(pit[m].getBtn().getIcon() == pit[n].getBtn().getIcon())
                    if(check.isMatch(new Point(pit[m].getX(),pit[m].getY()), new Point(pit[n].getX(),pit[n].getY()))){
                        addpanel1.remove(pit[m].getBtn());
                        pit[m].setK(false);
                        addpanel1.remove(pit[n].getBtn());
                        pit[n].setK(false);
                        s = s + 200;
                        score.setText("分数:"+s);
                        setVisible(false);            
                        setVisible(true);
                        return;
                    }
            }
        }
        
    }
    //重置功能
    public void Reform() {
        int p=0,p1 = 0;
        //将有图案的放入一个数组中
        for(int i = 0;i<12;i++){
            for(int j = 0;j<12;j++){
                if(piture[i][j].isK()){
                    p++;
                }
            }
        }
        Piture pit[] = new Piture[p];
        for(int i = 1;i<12;i++){
            for(int j = 1;j<12;j++){
                if(piture[i][j].isK()){
                    pit[p1] = piture[i][j];
                    p1++;
                }
            }
        }
        //将图案进行打乱
        for(int k = 0;k<=pit.length/2;k++){
            int l = (int)(Math.random()*pit.length);
            Piture t = new Piture();
            t.getBtn().setIcon(pit[k].getBtn().getIcon()); 
            pit[k].getBtn().setIcon(pit[l].getBtn().getIcon());
            pit[l].getBtn().setIcon(t.getBtn().getIcon());
        }
        setVisible(false);
        setVisible(true);
        try {
            if(isReform())
            Reform();
        } catch (Exception e) {
        }
        
    }
    //检测是否需要重置
    public boolean isReform(){
        boolean is = true;
        int p=0,p1 = 0;
        //将有图案的放入一个数组中
        for(int i = 0;i<12;i++){
            for(int j = 0;j<12;j++){
                if(piture[i][j].isK()){
                    p++;
                }
            }
        }
        Piture pit[] = new Piture[p];
        for(int k = 1;k<12;k++){
            for(int l = 1;l<12;l++){
                if(piture[k][l].isK()){
                    pit[p1] = piture[k][l];
                    p1++;
                }
            }
        }
        for(int m = 0;m<pit.length-1;m++)
            for(int n =m+1;n<pit.length;n++)
                if(check.isMatch(new Point(pit[m].getX(),pit[m].getY()), new Point(pit[n].getX(),pit[n].getY())))
                    is = false;
        return is;
    }
    class Check{
        public boolean isMatch(Point a,Point b){    //检测是否匹配
            boolean b1,b2,b3;
            b3 = this.noCorner(a,b);
            b1 = this.oneCorner(a, b);
            b2 = this.twoCorner(a, b);
            if(b1||b2||b3)
                return true;
            else
                return false;
        }
        boolean horizonMatch(Point a,Point b){//横线上的扫描
            int i,j;
            i=a.y>b.y?a.y:b.y;
            j=a.y>b.y?b.y:a.y;
            boolean hor = true;
            for(int y = j+1;y<i;y++){
                if(piture[a.x][y].isK()){
                    hor = false;break;
                }
            }
            return hor;
        }
        boolean verticalMatch(Point a,Point b){//竖线上的扫描
            int i,j;
            i=a.x>b.x?a.x:b.x;
            j=a.x>b.x?b.x:a.x;
            boolean ver = true;
            for(int x = j+1;x<i;x++){
                if(piture[x][a.y].isK()){
                    ver = false;break;}
            }
            return ver;
        }
        boolean noCorner(Point a,Point b){
            if(a.x == b.x){
                if(this.horizonMatch(a, b)){
                    return true;
                }
            }
            else if(a.y == b.y){
                if(this.verticalMatch(a, b)){
                    return true;
                }
            }
            return false;
        }
        boolean oneCorner(Point a,Point b){ //一个拐点
            Point c,d;
            boolean isMatch;
            c = new Point(a.x,b.y);
            d = new Point(b.x,a.y);
            if(piture[c.x][c.y].isK() == false){
                isMatch = horizonMatch(a,c)&&verticalMatch(b,c); 
                if(isMatch){
                    return isMatch;
                }
            }
            if(piture[d.x][d.y].isK() == false){
                return isMatch = horizonMatch(b,d)&&verticalMatch(a,d);
            }
            else
                return false;
        }
        boolean twoCorner(Point a,Point b){//两个拐点
            boolean v = false;
            //扫描a点左边的所有线
            for(int y = a.y-1;y>=0;y--){
                if((!piture[a.x][y].isK())&&(!piture[b.x][y].isK())&&horizonMatch(a, new Point(a.x, y))&&horizonMatch(b, new Point(b.x, y))&&verticalMatch(new Point(a.x,y),new Point(b.x,y))){
                    v = true;break;
                }
            }
            //扫描a点右边的所有线
            for(int y = a.y+1;y<12;y++){
                if((!piture[a.x][y].isK())&&(!piture[b.x][y].isK())&&horizonMatch(a, new Point(a.x, y))&&horizonMatch(b, new Point(b.x, y))&&verticalMatch(new Point(a.x,y),new Point(b.x,y))){
                                v = true;break;
                }
            }
            //扫描a点上面的所有线
            for(int x = a.x-1;x>=0;x--){
                if((!piture[x][a.y].isK())&&(!piture[x][b.y].isK())&&verticalMatch(a, new Point(x, a.y))&&verticalMatch(b,new Point(x, b.y))&&horizonMatch(new Point(x,a.y),new Point(x,b.y))){
                            v = true;break;
                }
            }
            //扫描a点下面的所有线
            for(int x = a.x+1;x<12;x++){
                if(!piture[x][a.y].isK()&&!piture[x][b.y].isK()&&verticalMatch(a, new Point(x, a.y))&&verticalMatch(b,new Point(x, b.y))&&horizonMatch(new Point(x,a.y),new Point(x,b.y))){
                    v = true;break;
                }
            }
            return v;
        }
        
    }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: Java实现简单连连看游戏

本文链接: https://www.lsjlt.com/news/148312.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java实现简单连连看游戏
    本文实例为大家分享了Java实现连连看游戏的具体代码,供大家参考,具体内容如下 大二时做的Java课程设计,拿了个优秀,用了icon来模拟做了个简单的连连看,代码量不多,仅供参考。 ...
    99+
    2022-11-13
  • java实现简易连连看小游戏
    本文实例为大家分享了java实现简易连连看小游戏的具体代码,供大家参考,具体内容如下 新手上路,分享一下 直接上代码 package linkgame; import javax...
    99+
    2022-11-13
  • 用Java实现连连看小游戏
    很多人写游戏都是从连连看或者五子棋这类的简单小游戏入手的,最近我也尝试着写了一个连连看,想要再梳理一遍其中的思路。 连连看的规则 连连看要求在一定范围内找到两个特征一样并且能够通过空...
    99+
    2022-11-13
  • C语言实现简易连连看游戏
    本文为大家分享了C语言实现连连看游戏位的具体代码,供大家参考,具体内容如下 题目 给定一个2N×2N的方阵网格游戏盘面,每个格子中放置一些符号。这些符号一定是成对出现的,同一个符号可...
    99+
    2022-11-12
  • C++实现连连看游戏
    本文实例为大家分享了C++实现连连看游戏的具体代码,供大家参考,具体内容如下 这个项目还是挺不错的,运行后也比较有意思,可以看看。 #include<iostream> ...
    99+
    2022-11-13
  • js实现连连看游戏
    本文实例为大家分享了js实现连连看游戏的具体代码,供大家参考,具体内容如下 <!DOCTYPE html> <html>     <head>  ...
    99+
    2022-11-13
  • Android实现连连看游戏
    本文实例为大家分享了Android实现连连看游戏的具体代码,供大家参考,具体内容如下 本人用 android studio 实现的 源码 主活动 类: package package...
    99+
    2022-11-13
  • java实现连连看游戏课程设计
    本文为大家分享了JAVA语言课程设计:连连看小游戏,供大家参考,具体内容如下 1.设计内容 界面中有5*10的界面,图中共有6种不同的图片,每两个相同的图片连接在一起,如果连线中转折...
    99+
    2022-11-13
  • C++怎么实现连连看游戏
    本篇内容主要讲解“C++怎么实现连连看游戏”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++怎么实现连连看游戏”吧!struct GridInfor   ...
    99+
    2023-06-25
  • Android实现疯狂连连看游戏之实现游戏逻辑(五)
    在上一篇《我的Android进阶之旅------>Android疯狂连连看游戏的实现之加载界面图片和实现游戏Activity(四)》中提到的两个类: GameConf:负...
    99+
    2022-06-06
    Android
  • 基于Java实现连连看游戏的示例代码
    目录前言主要需求主要设计功能截图代码实现总结前言 连连看游戏顾名思义就是找出具有关联关系的事物并进行相应处理,经历了从桌面游戏、在线游戏再到社交游戏三个过程,形式多种多样。游戏的核心...
    99+
    2022-11-13
  • Android实现疯狂连连看游戏之游戏效果预览(一)
            今天看完了李刚老师的《疯狂Android讲义》一书中的第18章《疯狂连连看》,从而学会了如...
    99+
    2022-06-06
    Android
  • Android实现疯狂连连看游戏之开发游戏界面(二)
    连连看的游戏界面十分简单,大致可以分为两个区域: --游戏主界面区 --控制按钮和数据显示区 1、开发界面布局 本程序使用一个RelativeLayout作为整体的界面布局...
    99+
    2022-06-06
    界面 Android
  • 利用Matlab编写简易版连连看小游戏
    这是一款MATLAB连连看小游戏,基本实现了连连看的功能,不过目前没有写出死局判定的模块,日后可能会对其进行改进。 游戏截图 游戏组装说明 我们的变量path输入的是图像包的相...
    99+
    2022-11-13
  • 怎么用Matlab编写简易版连连看小游戏
    这篇文章主要介绍“怎么用Matlab编写简易版连连看小游戏”,在日常操作中,相信很多人在怎么用Matlab编写简易版连连看小游戏问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用Matlab编写简易版连连看...
    99+
    2023-06-29
  • 简单实现java数独游戏
    本文实例为大家分享了java数独游戏的具体代码,供大家参考,具体内容如下打算把javaFx需要的组件装好以后直接用javaFx的,但似乎eclipse的版本不对,安装了也不能用...数独代码是在之前寒假受命写的,学了一个月java的成果,现...
    99+
    2023-05-30
    java 数独游戏 ava
  • Android实现疯狂连连看游戏之加载界面图片和实现游戏Activity(四)
    正如在《我的Android进阶之旅------>Android疯狂连连看游戏的实现之状态数据模型(三)》一文中看到的,在AbstractBoard的代码中,当程序需要创建...
    99+
    2022-06-06
    界面 图片 activity Android
  • java实现简单的拼图游戏
    用Java来实现简单的拼图游戏,供大家参考,具体内容如下 首先我们看一下这个拼图小游戏的效果图: 创建一个名称为MedleyGame的类,该类继承了JFrame类;然后在该类中分别...
    99+
    2022-11-12
  • java实现简单猜拳小游戏
    本文实例为大家分享了java实现猜拳小游戏的具体代码,供大家参考,具体内容如下 User.java import java.util.Scanner; public class ...
    99+
    2022-11-12
  • java实现简单三子棋游戏
    本文实例为大家分享了java实现简单三子棋游戏的具体代码,供大家参考,具体内容如下 JOptionPane类的使用 编写程序,实现简单的三子棋游戏。在三子棋中,双方在3×...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作