GitHunt
SK

skamal16/Mobile-Trainer-Board

My second semester project for my object-oriented programming course. A simulation game for the lab work done in my second semester Digital Logic Design course.

Mobile-Trainer-Board

My second semester project for my object-oriented programming course.
A simulation game for the lab work done in my second semester
Digital Logic Design course.

Bio

I am a student in university studying software engineering, and this
project was my end semester project for my Object Oriented Programming course.
At this time while I am pleased with how my project turned out as my first
project in java and my first time implementing OOP concepts, but at the same
time I recognize how messy the organization of my code is, and how many
aspects can be immensly improved upon. I hope you all will give me ideas and
educated me in being better at Object Oriented Programming and how to
improve upon my current project.

How to Run the Program

Currently you need to have Netbeans on your computer. And you also need a
screen size of 1920, 1080, for it to run properly. Download the Project
folder, and simply open said project from NetBeans with File --> Open
Project --> Browse for where you downloaded the project file, and open it.
Then press F6 to run.

How to Use the Program

To start a wire, move your cursor over a node or terminal until it is
selected, then left click. Drag the mouse to extend the wire and to end
wiring, right click on a node or terminal. Make sure it is selected first,
else the wiring will cancel. To add components, go to the IC Menu on the
top left, and choose a component from the drop down menu. Right click on
the node that corresponds to the top right pin of the component you are
trying to place, to attach the component to the bread board. Switches
are activated by left clicking. The red and black terminals on the top
left side and bottom right side are Vcc and Ground respectively. As in
real life, the Integrated Circuit components need vcc and ground
connected to them, and the pin configuration is the same as their
respective ICs in real life.

Future Plans

At the moment I have uploaded the project folder as is from NetBeans, as
I can't seem to figure out how to build the project properly. When I
build it, it doesn't work properly. I would like to learn to make it into
a jar file or exe file.

Another problem is my project is not flexible for different screen sizes.
My screen while I was working on the project is 1920, 1080. It should
run fine on those screen sizes. I need to make it so that it can work
on different screen sizes.

Currently I am looking for a proper way to resize images in Java. The last
time I tried a method I found online, it had a bug in it that the image
corners would crop out when I would zoom in our out.

After I can zoom in and out as much as I like, I will work on making a proper
BreadBoard class that can be added onto the existing breadboards as much as
one would like, so as to be able to design larger circuits.

After I have accomplished both of these tasks I will add on more components
and try out sequential circuits, but I believe with the way my underlying
logic for electricity is, I might need to completely change the base logic
at some point in time. I would love some ideas on that.

Contributors

MIT License
Created June 1, 2018
Updated January 28, 2023