Git Product home page Git Product logo

noahs-ark's Introduction

Noah's ark

Noah's ark is the final project in our course Software Development tools. This CI pipeline exercise is done in our school Centria in Jakobstad, where we are the first students to be educated to junior developers in Road to software engineering. Our training started in January 2020 and will continue until December 2020. Due to the pandemic COVID-19 we're doing our school remotely this spring and hope we can meet in school again this fall.

We have been five students working on this exercise. Our group is called 3# and the members are: Md Al Amin, Markus Björklund, Anna Isokoski, Petrina Lindqvist and Janne Nylund.


How the program works:

This program consists of a UserInterface where you can try out all the animals. The program lists all the animals that have been created. You can ask for which animal to see and what you want the animal to do.

We have wild and tame animals.

WILD

Wild animals are tiger, wolf and bear and they can:

  • Make sound
  • Hunt (if an animals hunt succeeds the animal gains 1kg of weight.)

TAME

Tame animals are bird, cat, dog and horse and they can:

  • Talk to the owner
  • Make sound
  • Come to the owner
  • Eat (an animal gains 1kg in weight when eating.)

Class diagram

In this class diagram we have an abstract class called Animal with the method Makesound. The animals cat, dog, bird, and horse with methods Eat, TalkToOwner, MakeSound, and ComeHere inherits ITame. All the animals have a weight which increases when they eat and you can give them a name. The animals bear, tiger, and wolf with methods Hunt and MakeSound inherits IWild. Wild animals also have a weight that increases when a hunt is successful. Both Itame and IWild are using the interface UserInterface.

class


Sequence diagram

In the sequence diagram, you can see how the program works. In the diagram, we have included just one tame animal and one wild animal because the function is the same for all the other animal types.

When you first run the program you are greeted with a welcome message and after that, you have the option to choose between a total of seven animals. This is the main start point for the program and also the starting point to which we are referring every time you want to choose a new animal.

As stated earlier in the readme file there is a small difference between how the tame versus wild animals behave but all the tame animals need to have a name before you can make them do anything.

We also see frequent use of the Console Clear command in the diagram and that is called to make the user experience more enjoyable and not clutter the whole terminal window.

When you are done with the program and want to quit we are using a global exit command instead of breaking the loop.

sequence


Folder structure

This image represents a scaled-down folder structure of the files used in our program. The files in assets folder are not shown in this image but that is where for example this file is.

tree


If you are interested in how we progressed with adding files, building the program, and extending it you are welcomed to check out our board in Trello. You can find it here.


Copyright

Copyright on drawn images © 2017-2020, Anna Isokoski

noahs-ark's People

Contributors

amin-ban avatar janne-nylund avatar markusbjorklund avatar petrinalindqvist avatar sissilisko avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.