An open API service indexing awesome lists of open source software.

https://github.com/cerus/logic-builder

An ugly & interactive logic gate visualizer written in Java using plain old Java Swing
https://github.com/cerus/logic-builder

hacktoberfest java logic-circuit logic-circuit-simulator logic-gate-simulator logic-gates logic-simulation swing swing-gui

Last synced: 2 months ago
JSON representation

An ugly & interactive logic gate visualizer written in Java using plain old Java Swing

Awesome Lists containing this project

README

        

# logic-builder

[![All Contributors](https://img.shields.io/badge/all_contributors-2-orange.svg?style=flat-square)](#contributors-)

An ugly & interactive logic gate visualizer written in Java using plain old Java Swing\
Contributions are more than welcome!

## Download
[![GitHub All Releases](https://img.shields.io/github/downloads/RealCerus/logic-builder/total?style=for-the-badge)](https://github.com/RealCerus/logic-builder/releases/latest)

## Idea
The idea for this program came to mind shortly after I made my little alu representation. I was building a little ripple carry adder in the popular sandbox game Minecraft when I suddenly got the idea for this program.

## Use cases
This program can be used to understand how logic gates work, visualize complex structures or just play around with different gates.

## Controls
- Hold left click to drag nodes / draw connections
- Right click to remove a node
- Hold middle click to move the whole screen

## Available gates
- AND, OR, XOR, NOT (Inverter)
- Splitter (Takes a signal and outputs the same signal twice)
- BCD to 7-segment display gate

The following are not really gates, but I don't know where else I could list them:
- Input (Can be altered by the user; Double click to toggle the state)
- BCD Input (Converts a decimal into a binary-coded decimal)
- Output
- 7-Segment display output

## Known bugs
- StackOverflowError when creating infinite recursion ([#1](https://github.com/RealCerus/logic-builder/issues/1))

## Todo
- Finish javadoc comments ([#2](https://github.com/RealCerus/logic-builder/issues/2))
- Add Json exporter and importer ([#3](https://github.com/RealCerus/logic-builder/issues/3))
- Add a tool to create custom gates from Json exports ([#4](https://github.com/RealCerus/logic-builder/issues/4))
- Maybe add more gates?

## Gallery

Click to expand

Picture 1

Picture 2

Picture 3

Picture 4

## License
[MIT](LICENSE)

## Contributors ✨

Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):



Maximilian

🐛 💻 📖 🤔

Paul

💻

This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!