Skip to content

algorithm-visualizer/tracers.java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tracers.java JitPack API reference Travis (.com)

This repository is part of the project Algorithm Visualizer.

tracers.java is a visualization library for Java. You can use it on algorithm-visualizer.org or locally on your machine.

Installation

Gradle

  1. Add the JitPack repository to build.gradle.

    allprojects {
      repositories {
        jcenter()
        maven { url "https://jitpack.io" }
      }
    }
  2. Add the dependency.

    dependencies {
      implementation 'org.algorithm-visualizer:tracers.java:+'
    }

Maven

  1. Add the JitPack repository to pom.xml.

    <repositories>
      <repository>
          <id>jitpack.io</id>
          <url>https://jitpack.io</url>
      </repository>
    </repositories>
  2. Add the dependency.

    <dependency>
      <groupId>org.algorithm-visualizer</groupId>
      <artifactId>tracers.java</artifactId>
      <version>[1.0.0,)</version>
    </dependency>
    

Usage

// import visualization libraries {
import org.algorithm_visualizer.*;
// }

class Main {
    // define tracer variables {
    Array2DTracer array2dTracer = new Array2DTracer("Grid");
    LogTracer logTracer = new LogTracer("Console");
    // }

    // define input variables
    String[] messages = {
            "Visualize",
            "your",
            "own",
            "code",
            "here!",
    };

    // highlight each line of messages recursively
    void highlight(int line) {
        if (line >= messages.length) return;
        String message = messages[line];
        // visualize {
        logTracer.println(message);
        array2dTracer.selectRow(line, 0, message.length() - 1);
        Tracer.delay();
        array2dTracer.deselectRow(line, 0, message.length() - 1);
        // }
        highlight(line + 1);
    }

    Main() {
        // visualize {
        Layout.setRoot(new VerticalLayout(new Commander[]{array2dTracer, logTracer}));
        array2dTracer.set(messages);
        Tracer.delay();
        // }
        highlight(0);
    }

    public static void main(String[] args) {
        new Main();
    }
}

Check out the API reference for more information.

Contributing

Check out the contributing guidelines.