Package org.gbcpainter.game.model.grid

Examples of org.gbcpainter.game.model.grid.Pipe


    }
  }

  @Test
  public void testPipeColoring() throws Exception {
    Pipe pipe = new PipeImpl( new ImmutableSegment2D( 0, 0, 0, 10 ) );

    assertFalse( pipe.isColored() );
    pipe.setColored( new Point( 0, 1 ), true );

    assertFalse( pipe.isColored() );
    assertTrue( pipe.isColoredAt( new Point( 0, 1 ) ) );

    for (int i = 1; i < 4; i++) {
      pipe.setColored( new Point( 0, i ), true );
    }

    try {
      pipe.setColored( new Point( 88, 55 ), true );
      fail();
    } catch ( IllegalArgumentException e ) {
    }

    try {
      pipe.setColored( new Point( 0, 0 ), true );
      fail();
    } catch ( IllegalArgumentException e ) {
    }

    try {
      pipe.setColored( new Point( 0, 10 ), true );
      fail();
    } catch ( IllegalArgumentException e ) {
    }

    assertFalse( pipe.isColored() );
    assertTrue( pipe.isColoredAt( new Point( 0, 3 ) ) );
    assertFalse( pipe.isColoredAt( new Point( 0, 4 ) ) );

    pipe.setColored( new Point( 0, 1 ), false );
    assertFalse( pipe.isColoredAt( new Point( 0, 1 ) ) );
    assertTrue( pipe.isColoredAt( new Point( 0, 2 ) ) );

    pipe.reset();
    assertFalse( pipe.isColoredAt( new Point( 0, 2 ) ) );


    for (int i = 1; i < 10; i++) {
      pipe.setColored( new Point( 0, i ), true );
    }
    assertTrue( pipe.isColored() );

    pipe.reset();
    assertFalse( pipe.isColored() );

    for (int i = 1; i < 4; i++) {
      pipe.setColored( new Point( 0, i ), true );
    }

    for (int i = 9; i > 4; i--) {
      pipe.setColored( new Point( 0, i ), true );
    }

    assertFalse( pipe.isColored() );

    pipe.setColored( new Point( 0, 4 ), true );

    assertTrue( pipe.isColored() );
  }
View Full Code Here


    assertFalse( junction.isColored() );
  }

  @Test
  public void pipeHitTest() throws Exception {
    Pipe pipe = new PipeImpl( new ImmutableSegment2D( 0, 0, 0, 10 ) );

    assertTrue( pipe.contains( new Point( 0, 1 ) ) );
    assertFalse( pipe.contains( new Point( 0, 0 ) ) );
    assertFalse( pipe.contains( new Point( 0, 10 ) ) );

    assertFalse( pipe.contains( new Point( 1, 0 ) ) );
    assertFalse( pipe.contains( new Point( - 1, 0 ) ) );

    assertEquals( pipe.getAvailableDirections(), new HashSet<>( Arrays.asList( PERPENDICULAR_DIRECTION.UP, PERPENDICULAR_DIRECTION.DOWN ) ) );
  }
View Full Code Here

    UnmodifiableUndirectedGraph<Junction, Pipe> levelMap = level.getMap();
    this.faces = new HashMap<>( facesMap.size() );

    for (Map.Entry<Set<Pipe>, Integer> faceAndId : facesMap.entrySet()) {
      /* Per ogni faccia ... */
      Pipe firstPipe = faceAndId.getKey().iterator().next();
      Junction lastJunction = levelMap.getEdgeSource( firstPipe );
      Pipe lastPipe = null;
      GeneralPath faceShape = new GeneralPath();
      faceShape.moveTo( lastJunction.getPosition().x, lastJunction.getPosition().y );
      while ( ! firstPipe.equals( lastPipe ) ) {
        /* Aggiunge la linea*/

        Pipe nextPipe = null;
        final Set<Pipe> connectedSegments = new HashSet<>( levelMap.edgesOf( lastJunction ) );
        if ( lastPipe == null ) {
          /* È il primo loop */
          lastPipe = firstPipe;
        }
View Full Code Here

      UnmodifiableUndirectedGraph<Junction, Pipe> levelMap = level.getMap();
      faces = new HashMap<>( facesMap.size() );

      for (Map.Entry<Set<Pipe>, Integer> faceAndId : facesMap.entrySet()) {
      /* Per ogni faccia ... */
        Pipe firstPipe = faceAndId.getKey().iterator().next();
        Junction lastJunction = levelMap.getEdgeSource( firstPipe );
        Pipe lastPipe = null;
        GeneralPath faceShape = new GeneralPath();
        faceShape.moveTo( lastJunction.getPosition().x, lastJunction.getPosition().y );
        while ( ! firstPipe.equals( lastPipe ) ) {
        /* Aggiunge la linea*/

          Pipe nextPipe = null;
          final Set<Pipe> connectedSegments = new HashSet<>( levelMap.edgesOf( lastJunction ) );
          if ( lastPipe == null ) {
          /* È il primo loop */
            lastPipe = firstPipe;
          }
View Full Code Here

TOP

Related Classes of org.gbcpainter.game.model.grid.Pipe

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.