Software Engineering Project

       Welcome, to my projects page. Down below I have a few different projects that I have worked on, in a few various languages. This is a work in progress so please stop by again to see what I am working on. Have any questions or ideas you would like to share? If so please contact me here.

Down below is a Python function for a weather station.

weather

       This project is a weather station built with python with the help of a Raspberry Pi, a Grove Pi, 3 LED sensors, a light sensor and a temperature and humidity sensor. This was the final project for Emerging Systems Architectures & Technologies at SNHU. This program takes temperature and humidity readings every 30 minutes, only when the lights are on. This is to simulate day time, in the requirements they did not want to take any readings at night. Then depending on what the temperature and humidity is, it will have a different color LED on to show a range of values. The values then get stored in a JSON file on the local machine. For this project I also wrote a webpage to take these values and display them in a graph. I created this project in October 2018 for a class in Emerging System Architecture and Technology for Southern New Hampshire University. Below is a video I made for my class, I am talking about the code review process and the changes that I eventually made to the project.

       In the development of this project, I used python, JavaScript, JSON, HTML, Grove Pi, Raspberry Pi, and all the sensors and external devices to get this project to work. This is a fully functional program that shows a software development project. I improved this project by just tiding it up. I followed Python coding standards and put everything inline. I also got rid of old testing statements and repeated code that could be put in a single function.

       This project was great and showed how important code review is. I went through this project line by line looking for every little thing I could. Is it perfect? Probably not, but I still want to shoot for that. That is why code review is important and something I really enjoy. I love constructive critisim and having somewhere else show me where I can make my project flow or just over all improvements is awesome. When you write code, you think it is perfect and being able to step back and try to look at it as if it is someone else’s code is not easy but something we must do. So, if you see something that needs changed or have an idea, please use the Contact Me section and shoot me a message!

Here is a snippet of the code after the changes were made. This shows the different requirements needed to have each LED on or off.

        # If Light is on, records data
        if resistance > threshold:
            # Send HIGH to switch off LED
            lights()
        # If light is off, turns off and stop recording
        else:
            [temp, humidity] = dht(dht_sensor_port, dht_sensor_type)
            # celsius to fahrenheit conversion
            fahrenheit = (temp * 9/5) + 32
            print(fahrenheit, humidity)
            t = fahrenheit
            h = humidity
            # Send LOW to switch on LED depending on the Temp and humidity
            if fahrenheit > 95:
                grovepi.digitalWrite(RLed, 1)
            elif (60 > fahrenheit < 85) and (humidity < 80):
                grovepi.digitalWrite(GLed, 1)
            elif (85 > fahrenheit < 95) and (humidity < 80):
                grovepi.digitalWrite(BLed, 1)
            elif humidity > 80:
                grovepi.digitalWrite(GLed, 1)
                grovepi.digitalWrite(BLed, 1)
            else:
                print("No Readings!")
            # Sends data to the global array
            outputData.append([t, h])

Find the repository here

C# RPG

Home Screen

       This artifact was one I started to help down the road of learning C#. This is a text-based RPG with a GUI, using WPF, XAML, and C#. Up above is a screen shot of the starting screen for the game, where you wake up confused in an open prison cell. This is based off a tutorial series by Scott Lilley found here. I started this whole project in the beginning of September and I continue to work on it whenever the time allows me to.

Screen from Game

       Above is another screen grab. This one shows the weapons inventory and even one of the cartoons I have drawn for this game (the worried crocodile). I am planning on drawing all the enemies and traders in the game and giving it a more cartoon feel. Below is a picture showing how the trader mechanic works in my game. If time allows I would live to do all the art in the game but I am worrying more about the programming side of things at the moment.

Trader Screen

       This has been a fun (and sometime frustrating) project that I continue to grow and change almost never ending. That might just be my OCD, but there is always something that is never ‘just right.’ It has everything I love in programming in one project. From the layout design to the problem solving that comes with trying to implement your own ideas into a game of your own. I hope you enjoy it and come back when it is finished, maybe even try to escape the prison!

Below I added just a snippet of the magic attack function.

	// Checks to make sure a Monster is on the location
	if (CurrentMonster == null)
	{
		RaiseMessage("Just who are you trying to Magically Attack?");
		return;
	}

	// If there is no current spell it will give this error
	if (CurrentSpell == null)
	{
		RaiseMessage("You must select a spell, to do the magics.");
		return;
	}

	// Makes sure you have enough mana to cast spell
	if (CurrentPlayer.MagicPoints >= CurrentSpell.ManaCost)
	{
		RaiseMessage($"You attack with a {CurrentSpell.Name} spell and do {CurrentSpell.MagicDamage} damage.");
		CurrentMonster.TakeDamage(CurrentSpell.MagicDamage);
		CurrentPlayer.SpendMana(CurrentSpell.ManaCost);
	}
	else
	{
		RaiseMessage($"You have insufficent mana to cast {CurrentSpell.Name}");
	}

Find the repository here

Java Book Tracker

Book Tracker

       This was a project I built to help me keep track of the many books I read throughout my search for truth. Up above is a screen shot of the program with some examples listed to the right hand side. This program was written in Java with Swing, which is a GUI widget tool for Java. This program was a great learning experience and one I hope to improve on very soon.

Import and Export

       For this project I even added and import and export feature so I can save my booklist and import or export if needed. This has been a great tool and learning experience and please feel free to download and try it out!

Find the whole repository here.

       Well that was some of my work and i hope you enjoyed it. I hope you come back and see what I will be working on next, I would give some hints but I don’t like spoilers. All of my work can be found [here] (https://github.com/MrMauzy) and hope to see you soon!