Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon.

Pages: 1-

Y u no work?[java]

Name: dl 2011-10-06 5:56

/* why it no work?
 * also feel free to shit all over
 * my inefficiencies.
 */
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class LogGame implements ActionListener {
    /*
         * create array with 7 items
         * 0 = space free
         * 1 = space X
         * 2 = space Y
         */
    int[] row = {1,1,1,0,2,2,2};
    int place;
    JFrame frame;
    JPanel contentPane;
    JLabel status;
    JButton btnRow[] = new JButton[row.length];
    JButton btnMoveLeft, btnMoveRight, btnReset;
   
   
    public LogGame(){
        /* create and set up frame */
        frame = new JFrame("Log Game");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       
        /* create content pane */
        contentPane = new JPanel();
        contentPane.setBackground(Color.white);
        contentPane.setBorder(BorderFactory.createEmptyBorder(10,10,10,10));
        //contentPane.setLayout(new GridLayout(2,7,0,5));
       
        /* create and initialize buttons */           
        /* create a button for each item in the array */
        for(int i = 0; i < btnRow.length; i++){
            btnRow[i] = new JButton();
            btnRow[i].setText(Integer.toString(row[i]));
            btnRow[i].setActionCommand(Integer.toString(i));
            btnRow[i].addActionListener(this);
            btnRow[i].setBackground(Color.white);
            contentPane.add(btnRow[i]);
        }
       
        btnMoveLeft = new JButton(" X");
        btnMoveRight = new JButton("X ");
       
        btnMoveLeft.setActionCommand("L");
        btnMoveRight.setActionCommand("4");
   
        btnMoveLeft.addActionListener(this);
        btnMoveRight.addActionListener(this);
       
        btnMoveLeft.setEnabled(false);
        btnMoveRight.setEnabled(false);

        contentPane.add(btnMoveLeft);
        contentPane.add(btnMoveRight);
       
        /* add content to frame */
        frame.setContentPane(contentPane);
       
        /* size and display frame */
        frame.pack();
        frame.setVisible(true);
    }
   
    /*
     * create and show GUI
     */
    public static void runGUI(){
        LogGame run = new LogGame();
    }
   
    public void actionPerformed(ActionEvent event){
        String eventName = event.getActionCommand();
        int index = Integer.parseInt(eventName);
        int rowSelected, placeRight, placeRightHop, placeLeft, placeLeftHop;
        boolean moveRight = false, moveRightHop = false, moveLeft = false, moveLeftHop = false;
       
        if (!eventName.equals("3") || !eventName.equals("4")){
            rowSelected = index;
            place = rowSelected;
            resetButtonColor();
            btnRow[index].setBackground(Color.gray);
            //check placeRight and placeRightHop
            try {
                placeRight = row[rowSelected + 1];
                placeRightHop = row[rowSelected + 2];
                if (placeRight != 0 || placeRightHop != 0){
                    moveRight = false;
                    btnMoveRight.setEnabled(false);
                    btnMoveRight.setText("X");
                    if (placeRight == 0){
                        moveRight = true;
                        btnMoveRight.setEnabled(true);
                        btnMoveRight.setText(">");
                    } else if (placeRightHop == 0){
                        moveRight = true;
                        btnMoveRight.setEnabled(true);
                        btnMoveRight.setText(">>");
                    }
                }               
            } catch (ArrayIndexOutOfBoundsException e){
                moveRight = false;
                btnMoveRight.setEnabled(false);
                btnMoveRight.setText("X");
            }
            //check placeLeft and placeLeftHop
            try {
                placeLeft = row[rowSelected - 1];
                placeLeftHop = row[rowSelected - 2];
                if (placeLeft != 0 || placeLeftHop != 0){
                    moveLeft = false;
                    btnMoveLeft.setEnabled(false);
                    btnMoveLeft.setText("X");
                    if (placeLeft == 0){
                        moveLeft = true;
                        btnMoveLeft.setEnabled(true);
                        btnMoveLeft.setText("<");
                    } else if (placeLeftHop == 0){
                        moveRight = true;
                        btnMoveLeft.setEnabled(true);
                        btnMoveLeft.setText("<<");
                    }
                }               
            } catch (ArrayIndexOutOfBoundsException e){
                moveLeft = false;
                btnMoveLeft.setEnabled(false);
                btnMoveLeft.setText("X");
            }
        } else if (eventName.equals("3") && moveLeft == true){
            row[place - 1] = row[place]; //left
            row[place] = 0; //selectedPlace
            updateRow();
        } else if (eventName.equals("3") && moveLeftHop == true){
            row[place - 2] = row[place]; //leftHop
            row[place] = 0; //selectedPlace
            updateRow();
        } else if (eventName.equals("4") && moveRight == true){
            row[place + 1] = row[place]; //right
            row[place] = 0; //selectedPlace
            updateRow();
        } else if (eventName.equals("4") && moveRightHop == true){
            row[place + 2] = row[place]; //rightHop
            row[place] = 0; //selectedPlace
            updateRow();
        }
    }
   
    public static void main(String[] args) {
        /*
         * start GUI
         */
        javax.swing.SwingUtilities.invokeLater(new Runnable(){
            public void run(){
                runGUI();
            }
        });
    }
   
    /*
     * pre: none
     * post: updates row
     * sets button text to the integer stored in array
     */
    public void updateRow(){
        for(int i = 0; i < btnRow.length; i++){
            btnRow[i].setText(Integer.toString(row[i]));
        }
        resetButtonColor();
    }
    /*
     * pre: none
     * post: resets button colors
     * sets button colors to white
     */
    public void resetButtonColor(){
        for(int i = 0; i < btnRow.length; i++){
            btnRow[i].setBackground(Color.white);
        }
    }
}

Name: dl 2011-10-06 6:05

/*
 * heres the no-gui version of this
 * works fine
 */

import java.util.Scanner;
import java.util.*;

public class LogGame {
       
    public static void main(String[] args) {
        /*
         * create array with 7 items
         * 0 = space free
         * 1 = space X
         * 2 = space Y
         */
        int[] row = {1,1,1,0,2,2,2};
        int rowEntered;
       
        System.out.println("Welcome to LeapFrog");
        System.out.println("The first line is the 'log'");
        System.out.println("Second line is row you must select.");
        System.out.println("Once you have selected a line, you must");
        System.out.println("Move it either Left(L), Left Hop(LH), Right(R), RightHop(RH)");
        System.out.println("Goal: get all the '1's on the right, and the '2's on the left.");
        System.out.println("-start-");
        System.out.println("");//blank line
        updateRow(row);
        while (checkWin(row) == false){
            rowEntered = testInput();
            while (rowEntered < 1 || rowEntered > 7){
                System.out.println("-invalid/out of bounds-");
                updateRow(row);
                rowEntered = testInput();
            }
            checkPlace(rowEntered, row);
            checkWin(row);
        }
        System.out.println("You win!");
        System.out.println("-end-");
    }
   
    /*
     * pre: none
     * post: checks for invalid input
     * valid input returned
     */
    public static int testInput(){
        Scanner input = new Scanner(System.in);
        int test;
        try {
            System.out.print("Select a row(1-7): ");
            test = input.nextInt();                   
            return(test);
        } catch (InputMismatchException e){
            return(0);
        }
    }
   
    /*
     * pre: int[] row
     * post: updates row
     * displays the rows and selectors
     */
    public static void updateRow(int[] row){
        for (int i = 0; i < row.length; i++){
            System.out.print(row[i] + " ");
        }
        System.out.println("");
        System.out.println("1 2 3 4 5 6 7");
    }
   
    /*
     * pre: row has been entered
     * post: checks valid moves
     * possible moves returned
     */
    public static void checkPlace(int rowEntered, int[] row){
        int placeRight, placeRightHop, placeLeft, placeLeftHop;
        boolean moveRight = false, moveRightHop = false, moveLeft = false, moveLeftHop = false;
       
        //check placeRight
        try {
            placeRight = row[rowEntered];
            if (placeRight == 0){
                moveRight = true;
            }
        } catch (ArrayIndexOutOfBoundsException e){
            moveRight = false;
        }
        //check placeRightHop
        try {
            placeRightHop = row[rowEntered + 1];
            if (placeRightHop == 0){
                moveRightHop = true;
            }
        } catch (ArrayIndexOutOfBoundsException e){
            moveRightHop = false;
        }
        //check placeLeft
        try {
            placeLeft = row[rowEntered - 2];
            if (placeLeft == 0){
                moveLeft = true;
            }
        } catch (ArrayIndexOutOfBoundsException e){
            moveLeft = false;
        }
        //check placeLeftHop
        try {
            placeLeftHop = row[rowEntered - 3];
            if (placeLeftHop == 0){
                moveLeftHop = true;
            }
        } catch (ArrayIndexOutOfBoundsException e){
            moveLeftHop = false;
        }
        checkMove(moveLeftHop,moveLeft,moveRight,moveRightHop, row, rowEntered);
    }
   
    /*
     * pre: availible moves returned
     * post: obtain user input
     * row[] has been altered
     */
    public static void checkMove(boolean moveLeftHop, boolean moveLeft,boolean moveRight,boolean moveRightHop, int[] row, int rowEntered){
        Scanner input = new Scanner(System.in);
        String moveChoice;
       
        System.out.print("Move: L, LH, R, RH: ");
        moveChoice = input.nextLine();
        if (moveChoice.equalsIgnoreCase("l") && moveLeft == true){
            row[rowEntered - 2] = row[rowEntered - 1]; //left
            row[rowEntered - 1] = 0; //selectedPlace
            updateRow(row);
        } else if (moveChoice.equalsIgnoreCase("lh") && moveLeftHop == true){
            row[rowEntered - 3] = row[rowEntered - 1]; //leftHop
            row[rowEntered - 1] = 0; //selectedPlace
            updateRow(row);
        } else if (moveChoice.equalsIgnoreCase("r") && moveRight == true){
            row[rowEntered] = row[rowEntered - 1]; //right
            row[rowEntered - 1] = 0; //selectedPlace
            updateRow(row);
        } else if (moveChoice.equalsIgnoreCase("rh") && moveRightHop == true){
            row[rowEntered + 1] = row[rowEntered - 1]; //right
            row[rowEntered - 1] = 0; //selectedPlace
            updateRow(row);
        } else {
            System.out.println("-invalid move-");
            updateRow(row);
        }
    }
   
    /*
     * pre: none
     * post: checks if sides have been switched(2220111)
     * true or false returned accordingly
     */
    public static boolean checkWin(int[] row){
        if (row[0] == 2 && row[1] == 2 && row[2] == 2 && row[3] == 0 && row[4] == 1 && row[5] == 1 && row[6] == 1){
            return(true);
        } else {
            return(false);
        }
    }
}

Name: Anonymous 2011-10-06 7:04

You forgot to post any code, friend.

Name: Anonymous 2011-10-06 11:18

>> Java
GC is shit.

Name: Anonymous 2011-10-06 13:15

Java
Imperative AIDS

Name: Anonymous 2011-10-06 13:33

ENTERPRISE QUALITY!!

Don't change these.
Name: Email:
Entire Thread Thread List