private void drawDownArrow() { if (this.y_ascensor == this.y_size + this.Y_ASCENSOR_DOWN_SHIFT * Mideas.getDisplayXFactor()) { Draw.drawQuad(Sprites.scrollbar_grey_down_arrow, this.x + 5, this.y + this.y_size); } else { Draw.drawQuad(Sprites.scrollbar_down_arrow, this.x + 5, this.y + this.y_size); } }
private void drawUpArrow() { if (this.y_ascensor == this.Y_ASCENSOR_UP_SHIFT) { Draw.drawQuad(Sprites.scrollbar_grey_up_arrow, this.x + 5, this.y + 5); } else { Draw.drawQuad(Sprites.scrollbar_up_arrow, this.x + 5, this.y + 5); } }
public static void testLoadingData(String[] args) { System.out.println("Loading point cloud from data: ex 0"); if (args.length < 1) { System.out.println("Usage: java ImageManipulation filename.dat"); System.exit(0); } // load point cloud PointCloud N; // N=PointCloud.randomPoints(10000, 3); N = Clustering.readFile(args[0]); Draw.draw2D(N, "original point cloud"); Draw.draw3D(N); }
public static void sort(Comparable[] a) { int N = a.length; Comparable[] aux = new Comparable[N]; d = new Draw(); flag = new int[N]; totalFigNum = (int) Math.pow(2, Math.ceil(Math.log(N / gate) / Math.log(2))); // total figure number d.setYscale(0, 1.2 * totalFigNum); d.setXscale(0, N); show(a, times++, totalFigNum, "input"); sort(a, aux, 0, N - 1); }
public void postInitialize() throws ReferenceNotRegisteredException { super.postInitialize(); // Regsiter Draw Operations Draw.register(); DrawInts.register(); AggregateDrawInts.register(); AggregateDraw.register(); }
public void draw() { Color c = Color.White; switch (type) { case Left: c = Color.Red; break; case Right: c = Color.Blue; break; } Draw.Circle(pos, size, c); }
public void draw() { Draw.drawQuad( Sprites.scrollbar, this.x - 2, this.y + Sprites.top_button.getImageHeight() * Mideas.getDisplayXFactor(), Sprites.scrollbar.getImageWidth() * Mideas.getDisplayXFactor(), this.y_size + 17 - Sprites.top_button.getImageHeight() * Mideas.getDisplayXFactor() - Sprites.bot_button.getImageHeight() * Mideas.getDisplayXFactor()); Draw.drawQuad(Sprites.top_button, this.x - 2, this.y); Draw.drawQuad( Sprites.bot_button, this.x - 2, this.y + 19 + this.y_size - Sprites.top_button.getImageHeight() * Mideas.getDisplayXFactor()); drawUpArrow(); drawDownArrow(); Draw.drawQuad(Sprites.ascensor, this.x + 5, this.y + this.y_ascensor); }
private void sendMessage() { Draw draw = new Draw((String) SpUtils.get(this, "name", "ha"), "", true); draw.save( this, new SaveListener() { @Override public void onSuccess() { Log.e("message", "success"); Toast.makeText(MessageActivity.this, "新建行成功", Toast.LENGTH_SHORT).show(); SpUtils.put(MessageActivity.this, "key", draw.getObjectId()); key = draw.getObjectId(); Log.e("key", key); open = true; if (key != null) mDecodeTask.execute("key:" + key); } @Override public void onFailure(int i, String s) { if (SpUtils.contains(MessageActivity.this, "key")) { mDecodeTask.execute("key:" + SpUtils.get(MessageActivity.this, "key", "defaultkey")); } } }); }
private static void show( Comparable[] a, int figNum, int totalFigNum, String text) // figNum : 0, 1, ...totalFigNum-1 { int N = a.length; double yShift = (totalFigNum - 1 - figNum) * 1.2; d.line(0, yShift, N, yShift); // draw x axis for (int i = 0; i < N; i++) { if (flag[i] == 0) d.setPenColor(Draw.GRAY); else if (flag[i] == 1) d.setPenColor(Draw.BLACK); else if (flag[i] == 2) d.setPenColor(Draw.RED); d.filledRectangle(i, yShift + (Double) a[i] / 2.0, 0.3, (Double) a[i] / 2.0); } d.setPenColor(); d.text(0, yShift + 1.0, text); }
public static void identifyCommand(String[] lineParams) { switch (lineParams.length - 1) { case 2: if (lineParams[0].equals(SET_PIXEL)) { image.setPixel(convertParam(lineParams[1]), convertParam(lineParams[2])); } else if (lineParams[0].equals(PREENCHE_REGIAO)) { image.setInitialColor( image.getPixel(convertParam(lineParams[1]), convertParam(lineParams[2]))); image.paintArea(convertParam(lineParams[1]), convertParam(lineParams[2])); } break; case 3: image.setCor( convertParam(lineParams[1]), convertParam(lineParams[2]), convertParam(lineParams[3])); break; case 4: if (lineParams[0].equals(RETA)) { image.reta( convertParam(lineParams[1]), convertParam(lineParams[2]), convertParam(lineParams[3]), convertParam(lineParams[4])); } else { image = new Draw( convertParam(lineParams[0]), convertParam(lineParams[1]), convertParam(lineParams[2]), convertParam(lineParams[3]), convertParam(lineParams[4])); } break; case 5: image.kochCurve( convertParam(lineParams[1]), convertParam(lineParams[2]), convertParam(lineParams[3]), convertParam(lineParams[4]), convertParam(lineParams[5])); break; } }
public static void testLoadingImage(String[] args) { System.out.println("Loading image data: ex 0"); if (args.length < 1) { System.out.println("Usage: java ImageManipulation image"); System.exit(0); } // load input image BufferedImage bimg = ImageManipulation.loadImage(args[0]); int dimx = bimg.getWidth(); int dimy = bimg.getHeight(); // get array of pixels from image, in L*u*v* space WritableRaster raster = bimg.getRaster(); System.out.println("Pixels array created from image"); // build point cloud from raster int dim = 3; PointCloud N = ImageManipulation.rasterToPointCloud(raster, dimx, dimy, dim); // draw input image and corresponding point cloud System.out.println("dim = " + dim + ", size = " + PointCloud.size(N)); Draw.draw3D(N); Fenetre fInput = new Fenetre(bimg, "input image"); }
private void drawLadder() { int width = (int) (frameSize.getWidth() / player); int height = (int) (frameSize.getHeight()); for (int i = 0; i < player; i++) { draw.gImg.drawLine( width * i + width / 2, 0, width * i + width / 2, (int) frameSize.getHeight() - 50); } for (int i = 0; i < ladderMap.length; i++) for (int j = 0; j < ladderMap[i].length - 1; j++) { if (ladderMap[i][j] == 1) { draw.gImg.drawLine( width * j + width / 2, (int) ((frameSize.getHeight() - 80) / 10 * i + frameSize.getHeight() * 0.02), width * (j + 1) + width / 2, (int) ((frameSize.getHeight() - 80) / 10 * i + frameSize.getHeight() * 0.02)); // draw.gImg.drawLine((int)(frameSize.getWidth()/player*j+frameSize.getWidth()/player/2), // (int)((frameSize.getHeight()-80)/10*i+frameSize.getHeight()*0.02), // (int)(frameSize.getWidth()/player*(j+1)+frameSize.getWidth()/player/2), // (int)((frameSize.getHeight()-80)/10*i+frameSize.getHeight()*0.02)); } } draw.repaint(); }
public static void main(String[] args) { if (args.length > 1) { FileReader comandsFile; try { // Load txt file comandsFile = new FileReader(args[0]); BufferedReader reader = new BufferedReader(comandsFile); // Read first line of comands file String line = reader.readLine(); // while has comands read line while (line != null) { String[] lineParams = line.split(" "); identifyCommand(lineParams); line = reader.readLine(); } reader.close(); image.salva(args[1]); } catch (IOException e) { e.printStackTrace(); } } }
public void getInput() { if (gameStatus != -1) { float b = (float) (15f / Main.fps); switch (controlMode) { case 3: if (Keyboard.isKeyDown(Keyboard.KEY_DOWN) && !player.isBot) { if (player.y <= 100 * Main.ratio - player.amplitude * 2 - player.sy) player.playerYShift += b; } case 1: if (Keyboard.isKeyDown(Keyboard.KEY_LEFT) && !player.isBot) { if (player.freak >= player.minFreak) player.freak -= freakChanger; } if (Keyboard.isKeyDown(Keyboard.KEY_RIGHT) && !player.isBot) { if (player.freak <= player.maxFreak) player.freak += freakChanger; } if (player2 != null) { if (Keyboard.isKeyDown(Keyboard.KEY_A) && !player2.isBot) { if (player2.freak >= player.minFreak) player2.freak -= freakChanger; } if (Keyboard.isKeyDown(Keyboard.KEY_D) && !player2.isBot) { if (player2.freak <= player.maxFreak) player2.freak += freakChanger; } } break; case 2: if (Keyboard.isKeyDown(Keyboard.KEY_SPACE) && !player.isBot) { if (player.freak <= player.maxFreak) player.freak += freakChanger; } if (Keyboard.isKeyDown(Keyboard.KEY_1)) { ListWorker.getList(); } if (Keyboard.isKeyDown(Keyboard.KEY_M)) { gameConfiguration.mute = true; if (Draw.musicIsPlaying(Music.FON1)) Draw.musicStop(Music.FON1); } if (Keyboard.isKeyDown(Keyboard.KEY_N)) { gameConfiguration.mute = false; if (!Draw.musicIsPlaying(Music.FON1)) Draw.musicPlay(Music.FON1); } if (Keyboard.isKeyDown(Keyboard.KEY_0)) { mouseGrabbed = true; } if (Keyboard.isKeyDown(Keyboard.KEY_9)) { mouseGrabbed = false; } if (Keyboard.isKeyDown(Keyboard.KEY_P)) { pause = true; } if (Keyboard.isKeyDown(Keyboard.KEY_O)) { pause = false; } if (player2 != null) { if (Keyboard.isKeyDown(Keyboard.KEY_Q) && !player2.isBot) { if (player2.freak <= player2.maxFreak) player2.freak += freakChanger; } } break; } if (Keyboard.isKeyDown(Keyboard.KEY_I)) { player.immortalityDie = 99999999; player.die = false; } if (Keyboard.isKeyDown(Keyboard.KEY_O)) { player.immortalityDie = 0; player.die = false; } /*if (Keyboard.isKeyDown(Keyboard.KEY_3)) { if (gameStatus == 9) restartGame = true; gameStatus = 3; changedGameStatus = true; return; } if (Keyboard.isKeyDown(Keyboard.KEY_1)) { if (gameStatus == 9) restartGame = true; gameStatus = 1; changedGameStatus = true; return; } if (Keyboard.isKeyDown(Keyboard.KEY_2)) { if (gameStatus == 9) restartGame = true; gameStatus = 2; changedGameStatus = true; return; } if (Keyboard.isKeyDown(Keyboard.KEY_0)) { if (gameStatus == 9) restartGame = true; gameStatus = 0; changedGameStatus = true; return; } if (Keyboard.isKeyDown(Keyboard.KEY_4)) { if (gameStatus == 9) restartGame = true; gameStatus = 4; changedGameStatus = true; return; } */ } lastKeyDownTime++; if (Keyboard.isKeyDown(Keyboard.KEY_ESCAPE)) { if (lastKeyDownTime > 10) { lastKeyDownTime = 0; changedGameStatus = true; if (gameStatus == 9) { restartGame = true; gameStatus = 0; changedGameStatus = true; } else { if (gameStatus == 2) { gameStatus = 1; } else { if (gameStatus == 1) { gameStatus = 2; } else { if (gameStatus == 0) { changedGameStatus = false; } else { gameStatus = 0; } } } } } } if (Mouse.isButtonDown(0)) { if (lastKeyDownTime > 10) { lastKeyDownTime = 0; switch (checkButtonIsOver()) { case 1: switch (gameStatus) { case (-1): gameStatus = 0; break; case 0: gameStatus = 2; changedGameStatus = true; Main.restartGame(); break; case 1: gameStatus = 2; changedGameStatus = true; break; case 3: if (pg > 1) { pg--; } // getPreviousTopList(); break; case 4: setMultiplayer(); break; case 9: saveScore(); gameStatus = 10; changedGameStatus = true; break; case 10: gameStatus = 2; Main.restartGame(); break; } break; case 2: switch (gameStatus) { case 0: gameStatus = 3; // TOP SCORES changedGameStatus = true; break; case 1: gameStatus = 2; Main.restartGame(); break; case 3: if (pg < maxPg) { pg++; } // getNextTopList(); break; case 4: setBot(); break; case 9: gameStatus = 10; break; case 10: gameStatus = 0; changedGameStatus = true; break; } changedGameStatus = true; break; case 3: switch (gameStatus) { case 0: gameStatus = 4; // Settings createNewConfiguration(); changedGameStatus = true; break; case 1: gameStatus = 0; changedGameStatus = true; break; case 3: gameStatus = 0; changedGameStatus = true; break; case 4: setAudio(); break; } break; case 4: switch (gameStatus) { case 0: exit(); break; case 4: // setPreviousMusicGenre(); break; } break; case 5: if (gameStatus == 4) // setNextMusicGenre(); break; case 6: if (gameStatus == 4) gameStatus = 0; changedGameStatus = true; if (changedSettings == true) { changedSettings = false; saveConfiguration(); gameConfigurationNew = null; } break; case 7: if (gameStatus == 4) gameStatus = 0; changedGameStatus = true; if (changedSettings == true) { changedSettings = false; gameConfigurationNew = null; } break; default: /* if (gameStatus == 9) { restartGame = true; gameStatus = 2; //changedGameStatus = true; }*/ break; } } } if ((gameStatus == -1) || (gameStatus == 9)) { while (Keyboard.next()) { // System.out.println(playerName); char x = Keyboard.getEventCharacter(); // if ((int)(x) == 42) { // continue; // } if ((int) (x) == 0) continue; if ((int) (x) == 32) continue; if ((int) (x) == 13) { gameStatus = 0; break; } if ((int) (x) == 8) { if (playerNamelenght > 0) { playerName.deleteCharAt(playerNamelenght - 1); playerNamelenght--; } continue; } // playerName = Keyboard.getKeyName(x); // playerNameChars[playerNamelenght] = Keyboard.get if (playerNamelenght < 15) { playerName.append(x); playerNamelenght++; } // System.out.println(playerName); } } }
public void render() { switch (gameStatus) { case -1: break; case 1: case 2: case 9: // distance += 0.2; if (Main.game.player.funX >= GOPlayer.beginX && (gameConfiguration.playersAmount + gameConfiguration.isBot < 2)) { Draw.xshift = (float) Math.pow(Main.game.player.funX - GOPlayer.beginX, 1f); } else Draw.xshift = 0; if (distance * moveOnStep >= 20) distance = 0; Draw.draw(DrawFigure.FON2, 0, 20 * Main.ratio, 150, 60 * Main.ratio); for (GO ob : allObjects) { ob.render(); } for (GOPlayer obPlayer : players) { for (GOPoint point : obPlayer.path) { point.render(); } obPlayer.render(); } for (GO ob : obstacles) { ob.render(); } for (GOPrism bonus : bonuses) { bonus.render(); } Draw.gameInterface(); if ((gameStatus == 1) || (gameStatus == 9)) { if (changedGameStatus) Draw.wallpaper = Draw.shadowTexture; changedGameStatus = false; } else { return; } break; case 3: changedGameStatus = false; break; case 4: if (changedGameStatus) Draw.wallpaper = loadTexture("fon/textureWithShadow"); changedGameStatus = false; break; case 0: if (changedGameStatus) { Draw.wallpaper = Draw.wallTexture; changedGameStatus = false; } break; case 10: if (changedGameStatus) { Draw.wallpaper = Draw.wallTexture; changedGameStatus = false; } break; } Draw.drawWallpaper(Draw.wallpaper); selected = checkButtonIsOver(); Draw.drawContextMenu(gameStatus, selected); if (gameStatus == 3) Draw.drawTopScoreList(pg, maxPg); // Draw.drawCoords(); if (gameStatus == -1) { // Draw.drawGradient(Draw.gradient, shadowing); // System.out.println(shadowing); } else { Draw.drawFPS(); } }
public static void main(String[] args) throws IOException { if (args.length == 0) { System.out.println( "usage: crop-objects [OPTION]... FILE [DIR]\n" + "crops detected objects from image FILE and writes their subimages to files. \n" + "Can specify the DIR in which to create the files, otherwise subimage files are " + "created in the same directory as FILE is in by default. \n" + "-t [n] [m] set the high and low threshold values. n and m are values between 0 and 1."); System.exit(1); } // interpret options and read arguments if (args[0].equals("-t")) { threshLow = Float.parseFloat(args[1]); threshHigh = Float.parseFloat(args[2]); filename = args[3]; if (args.length == 5) { dir = args[4]; } } else { filename = args[0]; if (args.length == 2) { dir = args[1]; } } // get path to directory file is in String name = FilenameUtils.removeExtension(filename); // get image BufferedImage image = UtilImageIO.loadImage(new File(filename).getAbsolutePath()); if (image == null) { System.out.println( "usage: crop-objects [OPTION]... FILE [DIR]\n" + "crops detected objects from image FILE and writes their subimages to files. \n" + "Can specify the DIR in which to create the files, otherwise subimage files are " + "created in the same directory as FILE is in by default. \n" + "-t [n] [m] set the high and low threshold values. n and m are values between 0 and 1."); System.exit(1); } minsize = (int) (0.1 * Math.min(image.getHeight(), image.getWidth())); // find objects in image // generate candidate contours ArrayList<List<PointIndex_I32>> objects = new ArrayList<List<PointIndex_I32>>(); List<BufferedImage> results = new ArrayList<BufferedImage>(); List<List<PointIndex_I32>> candidates = new ArrayList<List<PointIndex_I32>>(); ImageFloat32 input = ConvertBufferedImage.convertFromSingle(image, null, ImageFloat32.class); BufferedImage bw = ConvertBufferedImage.convertTo( input, new BufferedImage(image.getWidth(), image.getHeight(), image.getType())); File binaryfile = new File(name + "_" + "binary.png"); ImageIO.write(bw, "png", binaryfile); ImageUInt8 binary = new ImageUInt8(input.width, input.height); // Finds edges inside the image CannyEdge<ImageFloat32, ImageFloat32> canny = FactoryEdgeDetectors.canny( blurRadius, true, dynamicThreshold, ImageFloat32.class, ImageFloat32.class); canny.process(input, threshLow, threshHigh, binary); List<Contour> contours = BinaryImageOps.contour(binary, rule, null); BufferedImage visualBinary = VisualizeBinaryData.renderBinary(binary, null); File cannyfile = new File(name + "_" + "canny.png"); ImageIO.write(visualBinary, "png", cannyfile); BufferedImage cannyContour = VisualizeBinaryData.renderExternal(contours, null, binary.width, binary.height, null); File cannyContourfile = new File(name + "_" + "contour.png"); ImageIO.write(cannyContour, "png", cannyContourfile); for (Contour c : contours) { // Only the external contours are relevant. List<PointIndex_I32> vertices = ShapeFittingOps.fitPolygon(c.external, true, toleranceDist, toleranceAngle, 100); candidates.add(vertices); } for (List<PointIndex_I32> vertices : candidates) { try { Candidate c = new Candidate(vertices, image); if (c.size(minsize)) { c.rotate(); results.add(c.getImage()); objects.add(vertices); } } catch (Exception e) { System.out.println("Error creating candidate from contour " + e.getMessage()); } } // write subimages of objects to files int i = 0; for (BufferedImage obj : results) { // print images to file try { File outputfile = new File(name + "_" + i + ".png"); i++; ImageIO.write(obj, "png", outputfile); } catch (IOException e) { System.out.println("Error writing subimages" + e.getMessage()); } } // draw objects onto original image and save Draw.drawPolygons(objects, image); File outputfile = new File(name + "_" + "annotated.png"); ImageIO.write(image, "png", outputfile); }
public Game() { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); gameConfiguration.isBot = Main.defBotAmount; gameConfiguration.playersAmount = Main.defPlayersAmount; gameConfiguration.mute = Main.defMute; System.out.println("DEFMUTE" + Main.defMute); if (gameConfiguration.mute) { Draw.musicStop(Music.FON1); } else { if (!Draw.musicIsPlaying(Music.FON1)) Draw.musicPlay(Music.FON1); } try { maxPg = (ListWorker2.getList(0, 100).size()) / 10; } catch (NullPointerException nullex) { maxPg = 1; } try { if ((ListWorker2.getList(0, 100).size() - ((ListWorker2.getList(0, 100).size()) / 10) > 0)) ++maxPg; } catch (NullPointerException nullp) { maxPg = 1; } // System.out.println(maxPg+"maxPg"); try { maxElems = ListWorker2.getList(0, 100).size(); } catch (NullPointerException nnsdf) { maxElems = 0; } // System.out.println(maxElems+"maxElems"); clear(); controlMode = 2; try { // GOPlayer massOfPlayers[] = new GOPlayer()[]; GOPlayer massOfPlayers[] = new GOPlayer[gameConfiguration.playersAmount + gameConfiguration.isBot]; // for(int i = 0; i < GameConfiguration.playersAmount; i++) { // massOfPlayers[i] = player = new GOPlayer(50 + 10*i, 50*Main.ratio, 2, // DrawFigure.CIRCLE, User.defaultName, 2 + i, false); // } if ((gameConfiguration.playersAmount + gameConfiguration.isBot) == 1) { massOfPlayers[0] = (player = GOPlayer.newBuilder() .setXStart(GOPlayer.beginX) .setYStart(50 * Main.ratio) .setSize(2) .setFigure(DrawFigure.CIRCLE) .setName(User.defaultName) .setColor(2) .isBot(false) .build()); // System.out.println("A: " + player.x); } if (((gameConfiguration.playersAmount) + (gameConfiguration.isBot)) == 2) { // System.out.println("TWO"); massOfPlayers[0] = (player = GOPlayer.newBuilder() .setXStart(45) .setYStart(40 * Main.ratio) .setSize(2) .setFigure(DrawFigure.CIRCLE) .setName(User.defaultName) .setColor(2) .isBot(false) .build()); if (gameConfiguration.isBot == 1) { // System.out.println("true"); isBt = true; } else { // System.out.println("false"); isBt = false; } massOfPlayers[1] = (player2 = GOPlayer.newBuilder() .setXStart(GOPlayer.beginX) .setYStart(60 * Main.ratio) .setSize(2) .setFigure(DrawFigure.CIRCLE) .setName(User.defaultName + "_2") .setColor(4) .isBot(isBt) .build()); } if (gameConfiguration.playersAmount >= 3) { // System.out.println(">3"); massOfPlayers[0] = (player = GOPlayer.newBuilder() .setXStart(GOPlayer.beginX) .setYStart(35 * Main.ratio) .setSize(2) .setFigure(DrawFigure.CIRCLE) .setName(User.defaultName) .setColor(2) .isBot(false) .build()); massOfPlayers[1] = (player = GOPlayer.newBuilder() .setXStart(GOPlayer.beginX) .setYStart(50 * Main.ratio) .setSize(2) .setFigure(DrawFigure.CIRCLE) .setName(User.defaultName + "_2") .setColor(4) .isBot(false) .build()); massOfPlayers[2] = (player = GOPlayer.newBuilder() .setXStart(GOPlayer.beginX) .setYStart(65 * Main.ratio) .setSize(2) .setFigure(DrawFigure.CIRCLE) .setName(User.defaultName + "_3") .setColor(3) .isBot(true) .build()); } repairMassOfPlayers(massOfPlayers); addAllPlayers(massOfPlayers); } catch (PlayerDoNotExist myE) { System.err.print(myE); } allObjects.add(blackHole); if (!Draw.musicIsPlaying(Music.FON1) && !gameConfiguration.mute) { Draw.musicPlay(Music.FON1); } // prism = new GOPrism(); }
private void draw() { Draw draw = new Draw(); while (draw.performStep()) ; }
private void init() { setLayout(new BorderLayout()); setVisible(false); state = 2; con.removeAll(); setSize(600, 450); Dimension screen = Toolkit.getDefaultToolkit().getScreenSize(); frameSize = getSize(); setLocation( (int) (screen.getWidth() / 2 - frameSize.getWidth() / 2), (int) (screen.getHeight() / 2 - frameSize.getHeight() / 2)); con = getContentPane(); setVisible(true); ladderWidth = player; ladderMap = new int[ladderHeight][ladderWidth]; player_pl = new JPanel(); goal_pl = new JPanel(); player_pl.setLayout(new GridLayout(1, 1, 5, 5)); goal_pl.setLayout(new GridLayout(1, 1, 5, 5)); player_bt = new JButton[player]; goal_bt = new JButton[player]; for (int i = 0; i < player; i++) { String s = String.valueOf(i + 1) + "번"; player_bt[i] = new JButton(s); goal_bt[i] = new JButton("꽝"); player_bt[i].setBounds( (int) (frameSize.getWidth() / player * i + frameSize.getWidth() / player * 0.1), 5, (int) (frameSize.getWidth() / player * 0.85), 25); goal_bt[i].setBounds( (int) (frameSize.getWidth() / player * i + frameSize.getWidth() / player * 0.05), (int) (frameSize.getHeight() - 50), (int) (frameSize.getWidth() / player * 0.9), 25); player_pl.add(player_bt[i]); goal_pl.add(goal_bt[i]); player_bt[i].addActionListener(this); goal_bt[i].addActionListener(this); } while (true) { int i = (int) (Math.random() * 10); if (i < player) { goal_bt[i].setText("당첨"); break; } } con.add(player_pl, "North"); con.add(goal_pl, "South"); draw = new Draw(); con.add(draw, "Center"); draw.init(); initLadder(); validate(); repaint(); // play = new Play(this, draw, frameSize,1); // play.start(); // // play2 = new Play(this, draw, frameSize,5); // play2.start(); play = new Play[player]; addComponentListener(new ComponentResizedHdl()); }
public void actionPerformed(ActionEvent event) { if (d.again) { initTree(tree); d.again = false; } if (event.getSource() == send) { String c1 = attachment1.getText(); String c2 = attachment2.getText(); String c3 = valueOfArc.getText(); if (c1.matches(regularExpression) && c2.matches(regularExpression) && c3.matches(regularExpression)) { int s1 = Integer.parseInt(c1); int s2 = Integer.parseInt(c2); int value = Integer.parseInt(c3); if (s1 <= d.getNumberOfNodes() && s2 <= d.getNumberOfNodes() && s1 != s2) { Arc a = new Arc(s1, s2, value); boolean already = false; int emplacement = 0; int i = 0; while (tree[i] != null && i < tree.length) { if ((tree[i].getNode1() == a.getNode1() || tree[i].getNode1() == a.getNode2()) && (tree[i].getNode2() == a.getNode1() || tree[i].getNode2() == a.getNode2())) { emplacement = i; already = true; } i++; } if (!already) { tree[d.getNumberOfArc()] = a; d.addArc(a, d.getNumberOfArc()); } else { tree[emplacement].setCost(value); d.modifArc(emplacement, value); } d.repaint(); } } } else if (event.getSource() == step) { if (tree[0] != null) { if (d.getCpt() == 0) { if (d.getChoice().equals("Kruskal")) { k = new Kruskal(tree, d.getNumberOfNodes(), d.getNumberOfArc()); d.finalTree = k.tree; } d.end = true; } if (d.finalTree[d.getCpt()] != null) { d.setCpt(d.getCpt() + 1); } d.repaint(); } } }