| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2010 人关注过本帖
标题:java 实现斗地主 main函数报错及内容缺失
只看楼主 加入收藏
hzc904217071
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2021-3-7
结帖率:0
收藏
已结贴  问题点数:10 回复次数:1 
java 实现斗地主 main函数报错及内容缺失
package com.sjsq;

import java.awt.Container;
import java.awt.Point;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.EventObject;
import java.util.List;
import java.util.Vector;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenuItem;
import javax.swing.JTextField;

public class Main extends JFrame implements ActionListener{

    public Container container = null;// 定义容器
    JMenuItem start, exit, about;// 定义菜单按钮
    JButton landlord[]=new JButton[2];//抢地主按钮
    JButton publishCard[]=new JButton[2];//出牌按钮
    int dizhuFlag;//地主标志
    int turn;
    JLabel dizhu; //地主图标
    List<Card> currentList[] =new Vector[3]; //  当前的出牌
    List<Card> playerList[] = new Vector[3]; // 定义3个玩家表
    List<Card> lordList;//地主牌
    Card card[] = new Card[56]; // 定义54张牌
    JTextField time[]=new JTextField[3]; //计时器
    Time t; //定时器(线程)
    boolean nextPlayer=false; //转换角色
    public Main(){
        
        Init();// 初始化
        SetMenu();// 创建菜单 按钮(抢地主,发牌,计时器)
        this.setVisible(true);
        CardInit();//发牌
        getLord(); //发完牌开始抢地主
        time[1].setVisible(true);
        //线程安全性,把非主线程的UI控制放到里面
        t=new Time(this,10);//从10开始倒计时
        t.start();
        
    }
    private void CardInit() {
        // TODO Auto-generated method stub
        
    }
    private void Init() {
        // TODO Auto-generated method stub
        
    }
    // 抢地主
    private void SetMenu() {
        // TODO Auto-generated method stub
        
    }
    public void getLord(){
        //System.out.println(CardType.c0.toString());
        for(int i=0;i<2;i++)
            landlord[i].setVisible(true);
    }
   
             /**
              * FIXME
              */
        
   
        //如果是出牌按钮
        if(e.getSource()==publishCard[0])
        {
            List<Card> c=new Vector<Card>();
            //点选出牌
            for(int i=0;i<playerList[1].size();i++)
            {
                Card card=playerList[1].get(i);
                if(card.clicked)
                {
                    c.add(card);
                }
            }
            int flag=0;
            
            //如果我主动出牌
            if(time[0].getText().equals("不要")&&time[2].getText().equals("不要"))
            {
                if(Common.jugdeType(c)!=CardType.c0)
                    flag=1;//表示可以出牌
            }//如果我跟牌
            else{
                flag=Common.checkCards(c,currentList,this);
            }
            //判断是否符合出牌
            if(flag==1)
            {
                currentList[1]=c;
                playerList[1].removeAll(currentList[1]);//移除走的牌
                //定位出牌
                Point point=new Point();
                point.x=(770/2)-(currentList[1].size()+1)*15/2;;
                point.y=300;
                for(int i=0,len=currentList[1].size();i<len;i++)
                {
                    Card card=currentList[1].get(i);
                    Common.move(card, card.getLocation(), point);
                    point.x+=15;
                }
                //抽完牌后重新整理牌
                Common.rePosition(this, playerList[1], 1);
                time[1].setVisible(false);
                this.nextPlayer=true;
            }

        }

        @Override
        public void actionPerformed(ActionEvent e) {
            // TODO Auto-generated method stub
        }
    }

搜索更多相关主题的帖子: import Time java Point new 
2022-06-18 10:39
crackjava
Rank: 2
等 级:论坛游民
帖 子:11
专家分:10
注 册:2022-6-18
收藏
得分:10 
public static void main(String[] args)
main是不是应该这样才能是程序的入口
2022-06-18 16:10
快速回复:java 实现斗地主 main函数报错及内容缺失
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027712 second(s), 11 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved