Friendly and Intuitive Software Developer who learns quickly and specializes in application, web, and game development.
I have experience in the following programming languages:
• C#
• Java
• C++
• JavaScript
• SQL
• HTML
• CSS3
• PHP
• JQuery
View My LinkedIn Profile
A project I made in 2 weeks using Unity to create a simulation of a production line for doors and windows
This was created as a coding test for an interview. I incredibly enjoyed creating this project because I had to learn how to create and manage threads. I was also curious if I would be able to create this project on Unity because it isn’t very thread friendly and is not necessarily designed for how I envisioned the project.
Built with
Multi-threaded application
Door measurements are randomly generated to simulate orders
Calculates height and width of the window using door measurements. Windows are calculated differently depending on 3 different window types.
Constantly calculates the average measurements of finished doors and windows after each new addition
The speed of the lasers and products can be changed during runtime
Generates a report in a .txt file that lists each product information as well as the final averages of the measurements
Method to calculate window measurements using given door measurements
/// <summary>
/// Gets all doors and matches each door with their corresponding window using their IdNumber
/// The measurements are then calculated by:
/// *Getting the height and width of the door
/// *Subtracting the difference to create a gap
/// *Do calcuations depending on the selected window type
/// </summary>
public void calculateWindowMeasurements()
{
foreach (Door door in allDoors)
{
foreach (Window window in allWindows)
{
if (door.getIdNum() == window.getIdNum())
{
if (door.getSelectedWindowType().Equals("Full"))
{
//calculates height of a full window by subtracting the height of door from the gaps
//multiplied by 2 to account for both top and bottom gaps
windowHeight = door.getDoorHeight() - (heightDifference * 2);
//calculates width of a full window by subtracting the width of door from the gaps
//multiplied by 2 to account for gaps on both sides
windowWidth = door.getDoorWidth() - (widthDifference * 2);
//set the window measurements
window.setWindowHeight(windowHeight);
window.setWindowWidth(windowWidth);
}
else if (door.getSelectedWindowType().Equals("Half"))
{
//calculates height of a half window by dividing the height of door by 2 and subtracting the gap
windowHeight = (door.getDoorHeight() / 2) - heightDifference;
//calculates width of a full window by subtracting the width of door from the gaps
//multiplied by 2 to account for gaps on both sides
windowWidth = door.getDoorWidth() - (widthDifference * 2);
//set the window measurements
window.setWindowHeight(windowHeight);
window.setWindowWidth(windowWidth);
}
else if (door.getSelectedWindowType().Equals("Quarter"))
{
//calculates height of a quarter window by dividing the height of door by 4 and subtracting the gap
windowHeight = (door.getDoorHeight() / 4) - heightDifference;
//calculates width of a full window by subtracting the width of door from the gaps
//multiplied by 2 to account for gaps on both sides
windowWidth = door.getDoorWidth() - (widthDifference * 2);
//set the window measurements
window.setWindowHeight(windowHeight);
window.setWindowWidth(windowWidth);
}
else
{
}
//print(window.getId() + "\nHeight:" + window.getWindowHeight() + "\nWidth:" + window.getWindowWidth() + "\nWindow Type:" + door.getSelectedWindowType());
}
else
{
}
}
}
computationWindowDone = true;
}
Copyright 2019 © niknik27