Giter Club home page Giter Club logo

particlesimulator-cpp's Introduction

Project Name

Particle simulation supported by threading and SFML library.

Table of Contents

Introduction

This application simulates bouncing particles. There are 3 different ways to spawn the particle. First is specifying the starting line where particles spawn. Second is specifying 2 angles where particle are arranged. Lastly each particles will have different velocity. In addition to controlling the parameters or constants, the application allows you to switch between explorer mode and developer mode. Developer mode is responsible for controlling the behavior of particle spawn. While explorer mode displays the periphery of the sprite, which is distinguished as red circular ball. During the explorer mode, the user can dictate the movement of sprite using keys w (up), a (left), s (down), d (right). To switch between two modes, tick the checkbox as indicated in the images below.

Explorer Mode

Explorer Mode

_Explorer Mode_

Developer Mode

Developer Mode

_Developer Mode_

Feature 1: Equidistant Line Segments

Feature 1: Equidistant Line Segments

_1st batch_

Feature 2: Equidistant Angle

Feature 2: Equidistant Angle

_2nd batch_

Feature 3: Equidifferent Speed

Feature 3: Equidifferent Speed

_3rd batch_

Installation

The required IDE to run this application is VS2022. Please be reminded that this application is not compatible with the VS2019.

To compile the cpp file clone or download this repository. Open the solution folder inside Problem-Set3 and then follow the guide below to update the directories inside the project property. All external libraries are contained in this repo.

  1. Project directory

Project directory

_Your current directory should look like this_
  1. General Configuration

General Configuration

_The Visual Studio must be version 2022 running on a C++20 compiler_

Opening Project Properties Click the setting icon as indicated in the image. For Problem-Set3 folder there are 3 solution files expected, namely Client1, Client2, and Server. Click any of the item to start the configuration

  1. VC++ Directories

VC++ Directories

_Check the Include and Library directories and change them according to your machine's specifications_
  1. Configure C++ vConfigure C++

  2. Configure Linker/General

Configure Linker/General

  1. Configure Linker/Input

Configure Linker/Input

  1. Repeat step 2-6 in other solution folders Repeat Steps

  2. Copy the required DLL files

Copy the required DLL files

_You need `sfml-graphics-2.dll`, `sfml-system-2.dll`, `sfml-network-2.dll`, and `sfml-window-2.dll` pasted in the directory where the executable file is located_
  1. Paste the files to the application folder

Paste the files to the application folder

_Copy paste the above dll files to following directories
```bash
C:\your_address\ParticleSimulator-CPP\Problem-Set3\Problem-Set3\x64\Debug

C:\your_address\ParticleSimulator-CPP\Problem-Set3\Problem-Set3\Client1\x64\Debug

C:\your_address\ParticleSimulator-CPP\Problem-Set3\Problem-Set3\Client2\x64\Debug
```

Now the IDE can compile and run the particle simulator application_

particlesimulator-cpp's People

Contributors

angel1120 avatar definitelyliz avatar elijdayo avatar

Watchers

 avatar

Forkers

angel1120

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.