Git Product home page Git Product logo

bowling-game's Introduction

Bowling-Game

My final project for Operating Systems I.

This console program consists on a Bowling Game made in C with system calls. It should be compiled as $ gcc -c bolos.c -o bolos (the executable must be called 'bolos'). The way it should be played is by executing ./bolos and then sending SIGTERM to the pin (process) called A (names can be displayed with $ ps -fu) and the signal will be propagated randomly simulating a pitch. The way to send SIGTERM to A is getting its PID (with ps -fu, for example), copying the PID of A and executing $ kill -SIGTERM <PID OF A>. After a few seconds (6) the result will be displayed in your terminal.

The program creates a tree of processes with the following structure:

flowchart TD;
    A-->B;
    A-->H;
    A-->E;
    A-->I;
    A-->C
    B-->D
    D-->G
    C-->F
    F-->J
Loading

But in a logical way, we will propagate the SIGTERM signal making this structure, that is closer to the traditional bowling game pyramid:

graph TD;
    A-->B;
    A-->C;
    B-->D;
    B-->E;
    C-->E;
    C-->F;
    D-->G;
    D-->H;
    E-->H;
    E-->I;
    F-->I;
    F-->J;
Loading

Each pin can drop (propagate SIGTERM) either one, none, or both of the pins it has below (insted of G,H,I,J that can't drop anyone). This means A can drop B, C, both or none of them, E can drop H, I, both, or none of them and so on.

P.D.: The documentation is written in spanish.

bowling-game's People

Contributors

crr004 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.