Coder Social home page Coder Social logo

tetris's Introduction

Tetris

Tetris game and bot for playing Tetris

Implementing

  • Piece Abstraction
  • Board Abstraction
  • Rotation that is CCW
  • Use SRS for board (Most confusing part)

Bugs/Fixing/Todo

Todo

  • Implement dropHeight method

Fixes

  • Use the Sanity checks provided
  • The I needs to be lifted up a y value at creation to fix weird rotation Behavior

Major Bugs

  • Witnessed rotation on final drop eliminated the block of another value (Could be wallkicks)
  • Moving left/right when piece is at bottom leads to index out of bounds

Resources

Driving Table

Driver Hours Date Individual Comments
Ryan 1.5 10/06/2017 No Rotation Code
Matthew 1.5 10/07/2017 Yes Rotation Testing
Ryan 1 10/07/2017 Yes Piece Calculations
Ryan 1 10/08/2017 Yes Piece Movements
Ryan 1 10/09/2017 No Finishing Touches for Early Submission
Ryan 1.5 10/11/2017 Yes Bug fixes and refactoring
Ryan 2 10/12/2017 Yes More bug fixes, refactoring and genetic algorithm
Matthew 2.5 10/12/17 Yes Wall Kicks and piece state reflection
Matthew 4 10/12/17 Yes Board Testing
Ryan 5 10/12/17 Yes Genetic Algorithm
Matthew 2 10/13/17 Yes Testing Completion
Ryan 4 10/13/17 Yes More work on our trashy GA

Fixing Last Lab - Our Issues

Negatives

  • Code failed some cases
  • More commenting (particularly on utility methods)
  • Report may have been a little too terse
  • More explicit discussion of edge-cases
  • Degroup Test cases

Positives

  • Good test coverage of positive/negative and unit/integration tests
  • He was impressed by brevity (shortest report of all)

Assumptions

  • We assumed pieces would be given in a certain way - every time. (The way being how they are written in JTetris) (This probably our biggest and most dangerous assumption)
  • We assumed their would only be 7 different pieces, and thus 3 different classifications for them (Square, "I", Other)
  • We assumed a board would have to be at least 4x4 (to fit the "I") piece, if not we throw an error
  • For the clockwise function we assume that the object will have 4 rotations (excluding Square) so we can call counterclockwise 3 times

tetris's People

Watchers

Ryan Zhou avatar Matthew Anderson 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.