📄 ludomain.java
字号:
import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.util.*;import javax.swing.event.*;import javax.swing.text.*;public class LudoMain extends JPanel implements ActionListener { static JFrame f = new JFrame("***Ludo Game*** by ***USMAN ALI***"); JTextField TxtName = new JTextField(); Keymap km = TxtName.getKeymap(); java.util.Properties pro=new java.util.Properties(); JTextField txtp1,txtp2;char lud[]={0x0644,0x0688,0x0648,' ',0x06AF,0x0649,0x0645};char p1[]={0x067E,0x06C1,0x0644,0x0627,' ',0x06A9,0x0647,0x0644,0x0627,0x0691,0x0649};char p2[]={0x062F,0x0648,0x0633,0x0631,0x0627,' ',0x06A9,0x0647,0x0644,0x0627,0x0691,0x0649};char ex[]={0x062E,0x0627,0x0631,0x062C};char str[]={0x06A9,0x0647,0x0649,0x0644,' ',0x0634,0x0631,0x0648,0x0639};char hom[]={0x06AF,0x0647,0x0631};char play[]= {0x06A9,0x0649,' ',0x0628,0x0627,0x0631,0x0649};char win[]={0x062C,0x0649,0x062A,' ',0x06AF,0x0649,0x0627,' ',0x0647,0x06D2}; String play1=new String(play); String lud1=new String(lud); String p11=new String(p1); String p22=new String(p2); String ex1=new String(ex); String str1=new String(str); String hom1=new String(hom); String win1=new String(win); String s; int nodred,nodblue,count,flag=0; ImageIcon Icon1 = new ImageIcon("WHOLE.gif"); JButton red = new JButton(Icon1); JButton blue = new JButton(Icon1); JButton Btnexit = new JButton(); JButton Btnstart = new JButton(); /////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////// public LudoMain(){ JTextComponent.loadKeymap(km, Key_Binding.Key_Binding, Key_Binding.Key_Action); setLayout(null); setBackground(new java.awt.Color (150,150, 150)); txtp1= new JTextField(50); txtp1.setText(p11); txtp1.setBounds(140,200,300, 40); txtp1. setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT); txtp1.setFont(new java.awt.Font ("Urdu Naskh Unicode",1,20)); add(txtp1); txtp2= new JTextField(50); txtp2.setText(p22); txtp2.setBounds(140, 300,300, 40); txtp2. setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT); txtp2.setFont(new java.awt.Font ("Urdu Naskh Unicode",1,20)); add(txtp2); blue.setBounds(600, 300,39, 33); blue.setBackground(new java.awt.Color (0, 0,150)); add(blue); red.setBounds(600, 200,39, 33); red.setBackground(new java.awt.Color (150, 0,0)); add(red); Btnexit.setText(ex1); Btnexit.setBackground(new java.awt.Color (0,0, 0)); Btnexit.setForeground(java.awt.Color.white); Btnexit.setFont(new java.awt.Font ("Urdu Naskh Unicode",1,20)); Btnexit.setBounds(450, 400,150, 35); Btnexit.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT); add(Btnexit); Btnexit.addActionListener(this); Btnstart.setText(str1); Btnstart.setBackground(new java.awt.Color(0,0, 0)); Btnstart.setFont(new java.awt.Font ("Urdu Naskh Unicode",1,20)); Btnstart.setForeground(java.awt.Color.white); Btnstart.setBounds(200, 400,150, 35); Btnstart.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT); add(Btnstart); Btnstart.addActionListener(this); } public void paintComponent(Graphics g) { super.paintComponent(g); Graphics2D g2 = (Graphics2D) g; g.setColor(new java.awt.Color (200,200,200)); g.fillOval(190,10,420,120); g.setColor(new java.awt.Color (0,0,0)); g.fillOval(200,20,400,100); g.setColor( new java.awt.Color (200,200,200));g.setFont(new java.awt.Font ("Urdu Naskh Unicode",0,65));g.drawString(lud1,320,80); g.setColor( new java.awt.Color (200,0,0));g.setFont(new java.awt.Font ("Urdu Naskh Unicode",0,30));g.drawString(p11,460,220); g.setColor( new java.awt.Color (0,0,200));g.setFont(new java.awt.Font ("Urdu Naskh Unicode",0,30));g.drawString(p22,460,320); } public static void main(String[] args) { JFrame f = new JFrame("***Ludo Game*** by ***USMAN ALI***"); f.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); f.getContentPane().add(new LudoMain(), BorderLayout.CENTER); f. setSize(800,570); f.setVisible(true); }public void actionPerformed(ActionEvent e) { JButton button= (JButton)e.getSource(); if(button.equals(Btnexit)) { System.exit(0); } if(button.equals(Btnstart)) { f.setVisible(false); JFrame frame = new JFrame("***Ludo Game*** by ***USMAN ALI***"); frame.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) { System.exit(0); } }); frame.getContentPane().add(new Ludo(), BorderLayout.CENTER); frame. setSize(800,570); frame.setVisible(true); f.setVisible(false);} }/**************************************************************************************************************************************************************************************************************************************************************************/public class Ludo extends JPanel implements ActionListener { private JButton red1,red2,red3,red4,play,blue1,blue2,blue3,blue4;ImageIcon Icon1 = new ImageIcon("WHOLE.gif"); //static JFrame frameLudo = new JFrame("Ludo");JLabel jLabel1 = new JLabel(); JLabel jLabelp1 = new JLabel(); JLabel jLabelp2 = new JLabel(); JLabel jLabelp12 = new JLabel(); JLabel jLabelp22 = new JLabel();int dicered=0,diceblue=0,playingdice=1,nextmove=0,nextmove2=0, redhome=0,bluehome=0 , red1no=1,red2no=1,red3no=1,red4no=1, blue1no=1,blue2no=1,blue3no=1,blue4no=1;int red1x1=75,red1y1=370,red1x2=39,red1y2=33;int red2x1=144,red2y1=370,red2x2=39,red2y2=33;int red3x1=75,red3y1=447,red3x2=39,red3y2=33;int red4x1=144,red4y1=447,red4x2=39,red4y2=33; int blue1x1=440,blue1y1=65,blue1x2=39,blue1y2=33;int blue2x1=520,blue2y1=65,blue2x2=39,blue2y2=33;int blue3x1=440,blue3y1=135,blue3x2=39,blue3y2=33;int blue4x1=520,blue4y1=135,blue4x2=39,blue4y2=33; public Ludo() { red1 = new JButton(Icon1); red2 = new JButton(Icon1); red3 = new JButton(Icon1); red4 = new JButton(Icon1); blue1 = new JButton(Icon1); blue2 = new JButton(Icon1); blue3 = new JButton(Icon1); blue4 = new JButton(Icon1); play = new JButton("Play"); setLayout(null); setBackground(new java.awt.Color (150,150, 150)); jLabelp1.setText(txtp1.getText()); jLabelp1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); jLabelp1.setForeground(new java.awt.Color (250,0,0));jLabelp1.setFont(new java.awt.Font ("Urdu Naskh Unicode",0,25));jLabelp1.setBounds(635,140,150,33); add(jLabelp1); jLabelp2.setText(txtp2.getText()); jLabelp2.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); jLabelp2.setForeground(new java.awt.Color (0,0,250));jLabelp2.setFont(new java.awt.Font ("Urdu Naskh Unicode",0,25));jLabelp2.setBounds(635,240,150,33); add(jLabelp2); //jLabelp12.setText(txtp1.getText()+" "+play1); jLabelp12.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); jLabelp12.setForeground(new java.awt.Color (250,0,0));jLabelp12.setFont(new java.awt.Font ("Urdu Naskh Unicode",0,18));jLabelp12.setBounds(635,400,150,33); add(jLabelp12); /* jLabelp22.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); jLabelp22.setForeground(new java.awt.Color (0,0,250));jLabelp22.setFont(new java.awt.Font ("Urdu Naskh Unicode",0,25));jLabelp22.setBounds(635,240,150,33); add(jLabelp22); jLabelp22.setVisible(false);*/ play.setBounds(670,457,60,33); play.setForeground(new java.awt.Color (250,250,250)); play.setBackground(new java.awt.Color (0, 0,0)); add(play); play.addActionListener(this); jLabel1.setForeground(new java.awt.Color (250,250,250));jLabel1.setFont(new java.awt.Font ("Arial Black",0,25));jLabel1.setBounds(670,407,60,33); add(jLabel1); /////////////////blue//////////////////////////// blue4.setBounds( blue4x1,blue4y1,blue4x2,blue4y2); blue4.setBackground(new java.awt.Color (0, 0,150)); add(blue4); blue4.addActionListener(this); blue3.setBounds( blue3x1,blue3y1,blue3x2,blue3y2); blue3.setBackground(new java.awt.Color (0, 0,150)); add(blue3); blue3.addActionListener(this); blue1.setBounds( blue1x1,blue1y1,blue1x2,blue1y2); blue1.setBackground(new java.awt.Color (0, 0,150)); add(blue1); blue1.addActionListener(this); blue2.setBounds( blue2x1,blue2y1,blue2x2,blue2y2); blue2.setBackground(new java.awt.Color (0, 0,150)); add(blue2); blue2.addActionListener(this); /////////////red///////////////////// //red4.setBounds(144,447,39,33); red4.setBounds( red4x1,red4y1,red4x2,red4y2); red4.setBackground(new java.awt.Color (150, 0,0)); add(red4); red4.addActionListener(this); //red3.setBounds(75,447,39,33); red3.setBounds( red3x1,red3y1,red3x2,red3y2); red3.setBackground(new java.awt.Color (150, 0,0)); add(red3); red3.addActionListener(this); red1.setBounds( red1x1,red1y1,red1x2,red1y2); red1.setBackground(new java.awt.Color (150, 0,0)); add(red1); red1.addActionListener(this); //red2.setBounds(144,370,39,33); red2.setBounds( red2x1,red2y1,red2x2,red2y2); red2.setBackground(new java.awt.Color (150, 0,0)); add(red2); red2.addActionListener(this); }//////////////////////////// GRAPHICS //////////////////////////////////////////////////////////////////////////////////////////////////////// public void paintComponent(Graphics g) { super.paintComponent(g); Graphics2D g2 = (Graphics2D) g; g.setColor(new java.awt.Color (250,250,250)); /*g.setFont(new java.awt.Font ("Arial Black",2,25));g.drawString("UDO",678,65);g.drawString("AME",688,105); g.setFont(new java.awt.Font ("Monotype Corsiva",2,65)); g.drawString("L",640,65); g.drawString("G",650,105);*/ g.setColor(new java.awt.Color (200,200,200)); g.fillOval(628,16,158,108); g.setColor(new java.awt.Color (0,0,0)); g.fillOval(632,20,150,100); g.setColor( new java.awt.Color (250,250,250));g.setFont(new java.awt.Font ("Urdu Naskh Unicode",0,50));g.drawString(lud1,652,80); /*g.setColor( new java.awt.Color (150,00,0));g.setFont(new java.awt.Font ("Urdu Naskh Unicode",0,25));//g.drawString(txtp1.getText(),680,140); g.setColor( new java.awt.Color (0,00,150));g.setFont(new java.awt.Font ("Urdu Naskh Unicode",0,25));g.drawString(txtp2.getText(),680,240); */ g.setColor(new java.awt.Color (220,220,220)); g.fillRoundRect(10,10,610,520,15,15); ///HOME ROW g.setColor(java.awt.Color.green); g.fillRoundRect(55,255,200,33,0,0); g.fillRoundRect(55,220,40,34,0,0);// g.fillRoundRect(95,289,40,34,0,0);// g.setColor(java.awt.Color.yellow); g.fillRoundRect(375,255,200,33,0,0); g.fillRoundRect(537,288,40,34,0,0);// g.fillRoundRect(497,220,40,34,0,0); // g.setColor(java.awt.Color.red); g.fillRoundRect(294,255,40,236,0,0); g.fillRoundRect(254,457,40,34,0,0); // g.fillRoundRect(335,424,40,34,0,0); // g.setColor(java.awt.Color.blue); g.fillRoundRect(294,49,40,236,0,0); g.fillRoundRect(334,49,40,34,0,0);// g.fillRoundRect(254,83,40,34,0,0); // g.setColor(new java.awt.Color (0,0,0)); int y; for(y=0;y<480;y+=34) { int x=104; g.drawRect(150+x,15+y,40,34); g.drawRect(190+x,15+y,40,34); g.drawRect(230+x,15+y,40,34); } int x; for(x=0;x<600;x+=40) { g.drawRect(15+x,220,40,34); g.drawRect(15+x,254,40,34); g.drawRect(15+x,288,40,34); } ///// HOME g.setColor(java.awt.Color.green); g.fillRoundRect(15,15,235,200,15,15); g.setColor(java.awt.Color.red); g.fillRoundRect(15,325,235,200,15,15); g.setColor(java.awt.Color.blue); g.fillRoundRect(380,15,235,200,15,15); g.setColor(java.awt.Color.yellow); g.fillRoundRect(380,325,235,200,15,15); g.setColor(new java.awt.Color (10,20, 20)); g.fillRoundRect(256,220,119,103,0,0); // green oval g.setColor(new java.awt.Color (0,130,0)); g.fillOval(40,25,180,180); g.setColor(java.awt.Color.green); g.fillRoundRect(30,110,205,10,15,15); g.setColor(java.awt.Color.green); g.fillRoundRect(125,18,10,193,15,15); // red oval g.setColor(new java.awt.Color (130,0,0)); g.fillOval(40,335,180,180); g.setColor(java.awt.Color.red); g.fillRoundRect(30,420,205,10,15,15); g.setColor(java.awt.Color.red); g.fillRoundRect(125,328,10,193,15,15); // green blue g.setColor(new java.awt.Color (0,0,130)); g.fillOval(410,25,180,180); g.setColor(java.awt.Color.blue); g.fillRoundRect(400,110,205,10,15,15); g.setColor(java.awt.Color.blue); g.fillRoundRect(495,18,10,193,15,15); // yellow oval g.setColor(new java.awt.Color (165,163,30)); g.fillOval(410,335,180,180); g.setColor(java.awt.Color.yellow); g.fillRoundRect(400,420,205,10,15,15); g.setColor(java.awt.Color.yellow); g.fillRoundRect(495,328,10,193,15,15); g.setColor(java.awt.Color.black); //g.setFont(new java.awt.Font ("Arial Black",2,15)); // g.drawString("RED HOME "+redhome,678,185); // g.setFont(new java.awt.Font ("Arial Black",2,15)); //g.drawString("BLUE HOME "+bluehome,658,285); g.setColor(new java.awt.Color (0,0,250)); g.fillRoundRect(625,280,160,50,15,15); g.setColor(new java.awt.Color (250,0,0)); g.fillRoundRect(625,180,160,50,15,15); if(redhome==0) { g.setColor(new java.awt.Color (200,200,200)); g.fillOval(630,190,30,30); g.setColor(new java.awt.Color (200,200,200)); g.fillOval(670,190,30,30); g.setColor(new java.awt.Color (200,200,200)); g.fillOval(710,190,30,30); g.setColor(new java.awt.Color (200,200,200)); g.fillOval(750,190,30,30); } if(bluehome==0) { g.setColor(new java.awt.Color (200,200,200)); g.fillOval(630,290,30,30); g.setColor(new java.awt.Color (200,200,200)); g.fillOval(670,290,30,30); g.setColor(new java.awt.Color (200,200,200)); g.fillOval(710,290,30,30); g.setColor(new java.awt.Color (200,200,200)); g.fillOval(750,290,30,30); } switch(redhome) { case 1: g.setColor(new java.awt.Color (200,200,200)); g.fillOval(670,190,30,30); g.setColor(new java.awt.Color (200,200,200)); g.fillOval(710,190,30,30); g.setColor(new java.awt.Color (200,200,200)); g.fillOval(750,190,30,30); g.setColor(new java.awt.Color (150,0,0)); g.fillOval(630,190,30,30); g.setColor(new java.awt.Color (250,250,250)); g.setFont(new java.awt.Font ("Arial Black",2,15)); g.drawString("1",640,210); break; case 2: g.setColor(new java.awt.Color (150,0,0)); g.fillOval(630,190,30,30); g.setColor(new java.awt.Color (250,250,250)); g.setFont(new java.awt.Font ("Arial Black",2,15)); g.drawString("1",640,210); g.setColor(new java.awt.Color (200,200,200)); g.fillOval(710,190,30,30); g.setColor(new java.awt.Color (200,200,200)); g.fillOval(750,190,30,30); g.setColor(new java.awt.Color (150,0,0)); g.fillOval(670,190,30,30); g.setColor(new java.awt.Color (250,250,250)); g.setFont(new java.awt.Font ("Arial Black",2,15)); g.drawString("2",680,210); break; case 3: g.setColor(new java.awt.Color (150,0,0)); g.fillOval(630,190,30,30); g.setColor(new java.awt.Color (250,250,250)); g.setFont(new java.awt.Font ("Arial Black",2,15)); g.drawString("1",640,210); g.setColor(new java.awt.Color (150,0,0)); g.fillOval(670,190,30,30); g.setColor(new java.awt.Color (250,250,250)); g.setFont(new java.awt.Font ("Arial Black",2,15)); g.drawString("2",680,210); g.setColor(new java.awt.Color (200,200,200)); g.fillOval(750,190,30,30); g.setColor(new java.awt.Color (150,0,0)); g.fillOval(710,190,30,30); g.setColor(new java.awt.Color (250,250,250)); g.setFont(new java.awt.Font ("Arial Black",2,15)); g.drawString("3",720,210); break; case 4: g.setColor(new java.awt.Color (150,0,0)); g.fillOval(630,190,30,30); g.setColor(new java.awt.Color (250,250,250)); g.setFont(new java.awt.Font ("Arial Black",2,15)); g.drawString("1",640,210); g.setColor(new java.awt.Color (150,0,0)); g.fillOval(670,190,30,30); g.setColor(new java.awt.Color (250,250,250)); g.setFont(new java.awt.Font ("Arial Black",2,15)); g.drawString("2",680,210); g.setColor(new java.awt.Color (150,0,0)); g.fillOval(710,190,30,30); g.setColor(new java.awt.Color (250,250,250)); g.setFont(new java.awt.Font ("Arial Black",2,15)); g.drawString("3",720,210); g.setColor(new java.awt.Color (150,0,0)); g.fillOval(750,190,30,30); g.setColor(new java.awt.Color (250,250,250)); g.setFont(new java.awt.Font ("Arial Black",2,15)); g.drawString("4",760,210); break; } switch(bluehome) { case 1: g.setColor(new java.awt.Color (200,200,200)); g.fillOval(670,290,30,30); g.setColor(new java.awt.Color (200,200,200)); g.fillOval(710,290,30,30); g.setColor(new java.awt.Color (200,200,200)); g.fillOval(750,290,30,30); g.setColor(new java.awt.Color (0,0,150)); g.fillOval(630,290,30,30); g.setColor(new java.awt.Color (250,250,250)); g.setFont(new java.awt.Font ("Arial Black",2,15)); g.drawString("1",640,310); break; case 2: g.setColor(new java.awt.Color (200,200,200)); g.fillOval(710,290,30,30); g.setColor(new java.awt.Color (200,200,200)); g.fillOval(750,290,30,30); g.setColor(new java.awt.Color (0,0,150)); g.fillOval(630,290,30,30); g.setColor(new java.awt.Color (250,250,250)); g.setFont(new java.awt.Font ("Arial Black",2,15)); g.drawString("1",640,310); g.setColor(new java.awt.Color (0,0,150)); g.fillOval(670,290,30,30); g.setColor(new java.awt.Color (250,250,250)); g.setFont(new java.awt.Font ("Arial Black",2,15)); g.drawString("2",680,310); break; case 3: g.setColor(new java.awt.Color (200,200,200)); g.fillOval(750,290,30,30); g.setColor(new java.awt.Color (0,0,150)); g.fillOval(630,290,30,30); g.setColor(new java.awt.Color (250,250,250)); g.setFont(new java.awt.Font ("Arial Black",2,15)); g.drawString("1",640,310); g.setColor(new java.awt.Color (0,0,150)); g.fillOval(670,290,30,30); g.setColor(new java.awt.Color (250,250,250)); g.setFont(new java.awt.Font ("Arial Black",2,15)); g.drawString("2",680,310); g.setColor(new java.awt.Color (0,0,150)); g.fillOval(710,290,30,30);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -