Code Monkey home page Code Monkey logo

cpp_graphics_project's Introduction

Collector

AP CSP Senior Project. Learning SDL in C++ independently.

Controls

  1. Left Mouse

    a. Auto Zoom in Rectangles

    b. Single Pixel Draw Tool in Cursor Modes

    c. Accelerates Game Speed for Conway's Game of Life modes

  2. Right Mouse

    a. Auto Zoom in Rectangles (other direction)

    b. Cross Hair Draw Tool in Cursor Modes

    c. Deccelerates Game Speed for Conway's Game of Life modes

  3. Middle Mouse

    a. Toggles Memory Clear
  4. Console Inputs

    You may be prompted to enter parameters for certain modes

    a. Density or Grid Size

    • Grid Size represents the size of each grid square and Density represents the average distance between "Live" pixels in a given row. In either, greater input will result in sparser pixel placement.

    b. Seed

    • Any positive integer, this is used for deterministically seeding pixels

    Program Output Samples

1. Solid Color

Creates a window which continuosly cycles through hues.

Image

2. Grid

Creates a grid which can be zoomed in and out of using left and right click respectively. The grid's color cycles similarly to "Solid Color."

Image

3. Cursor

Creates a blank canvas which can be painted with cursor using left click and with a cross-brush using right click. Paint tools are activated through toggling. The user may also toggle painting on or off with the middle mouse button.

Image

4. Cursor Filled

This improves on "Cursor" by filling in gaps between cursor location gaps. This results in connected lines instead of groups of dots as well as a smoother strokes with the cross-brush tool. Controls are identical as "Cursor."

Image

5. Game of Life

Creates a board randomly populated with white cells that are either 'Alive' ordark cells that are 'Dead.' The cells then spontaneusly 'Die' or become 'Alive' according to the rules of John Conway's Game of Life.

Image

6. Game of Life (Seed & Density)

Acts the same as "Game of Life," but the initial state can be generated from "Seed" and "Density" parameter inputs. In either program the final result consists of either static or cyclical groups of cells akin to a 'Starry Sky.'

Image

7. Growth Random

Similar to the "Game of Life," this program starts with random "Live" and "Dead" cells. However, in this program cells never die. Instead the cells continously multiply around random nucleation points, areas with a sufficiently high concentration of live cells, until the entire window is filled.

Image

8. Growth (Seed & Density)

Acts similarly to "Growth Random," but the initial state is generated from "Seed" and "Density" parameter inputs. In either program the final result consists of a filled window as growth areas merge and multiply.

Image

cpp_graphics_project's People

Contributors

kyrylo-bakumenko 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.