Code Monkey home page Code Monkey logo

red-team's People

Contributors

cesarbiods avatar cking20 avatar d-0-r avatar dkear avatar donavonking avatar gdave50 avatar henghaopu avatar hkobrien avatar hreitmei avatar james-aric avatar landonpatmore avatar marcellocierro avatar nsicilia avatar randynguyen007 avatar rzsupra17 avatar samwheeler2014 avatar sha224 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

red-team's Issues

user-route.js needs to be linted

Eslint is saying that this file has 113 errors:

โœ– 113 problems (113 errors, 0 warnings)
  102 errors, 0 warnings potentially fixable with the `--fix` option.

Found using: npm run lint

AI missing plays where whole new word is played next to existing tile

The algorithm as it currently stands only plays new tiles off of existing tiles. this means that if there is a vertical word going up to the row before the top row, it will never play a horizontal word in the top most row
example: CAT will never be played horizontally in the top row
"-,-,-,-,-"
"-,-,-,a,-"
"-,-,-,n,-"

Server Crash on Frontend App's close

when the server frontend is shutdown, the server crashes with this error

C:\Users\chris\Desktop\Red-Team\Server Backend\entities\ServerManager.js:60
if (p.socket === socket) {
^

TypeError: Cannot read property 'socket' of null
at ServerManager.findWhichPlayerLeft (C:\Users\chris\Desktop\Red-Team\Server Backend\entities\ServerManager.js:60:15)
at Socket.socket.on (C:\Users\chris\Desktop\Red-Team\Server Backend\entities\ServerManager.js:42:41)
at emitOne (events.js:116:13)
at Socket.emit (events.js:211:7)
at Socket.emit (C:\Users\chris\Desktop\Red-Team\Server Backend\node_modules\socket.io\lib\socket.js:140:10)
at Socket.onclose (C:\Users\chris\Desktop\Red-Team\Server Backend\node_modules\socket.io\lib\socket.js:452:8)
at Socket.ondisconnect (C:\Users\chris\Desktop\Red-Team\Server Backend\node_modules\socket.io\lib\socket.js:416:8)
at Socket.onpacket (C:\Users\chris\Desktop\Red-Team\Server Backend\node_modules\socket.io\lib\socket.js:338:12)
at C:\Users\chris\Desktop\Red-Team\Server Backend\node_modules\socket.io\lib\client.js:193:16
at _combinedTickCallback (internal/process/next_tick.js:131:7)
[nodemon] app crashed - waiting for file changes before starting...

B1.2 Discuss Schema Implementation

  • Has the schema design been discussed? Possibility of a draft is included.
  • Are the initial tables created for the statistics tracking and/or player information?

Start word position validation

When playing a two letter word as first word on empty board, more often then not frontend receives a INVALID_PLACEMENT error

Remove all banned words from the AI's memory

this needs to happen at some point to avoid having to query the DB twice before sending an AI's word off to be played. Not super critical, just removes some query time and some error checking. Also this will stop the AI from swearing, so there is that.

Board validation

Current Progress:

  • Word placement
  • Cross section placement
  • Duplicate word placement (same word played on top of the same word)
  • First word only allowed to be played through center tile
  • Word attached to played words area

Update Names on Disconnect

When anyone leaves the game, the Server Frontend should change the names to either the new person's name or Not Assigned to signify no one is there.

Implement newGameCountdown event

This event will:

  • send out timer that is decremented every 1000 milliseconds (1 second)
  • show the user the timer until the next game
  • will be sent out with the gameOver event
  • everything on the frontend needs to be disabled at this point
  • when the timer resets, the client will get a board and dataUpdate events to reset all data and to make a new game

Dictionary API Tests

Tests need to be built for testing the dictionary. PR #37 should never have had to been created if we had testing for PR #34 to check for case-insensitivity.

Tests will be used with Travis to automate builds and test code.

Frontend and AI disconnect from backend

After a certain period of time (ranging from 1-2 minutes) the AI frontend and AI entities receive EVENT_DISCONNECT for no discernible reason. This may be due to the heartbeat timeout, which is when the server pings the client periodically to check if the client is still alive. I tried setting the timeout to infinite, which fixed nothing. Only thought is that the client and server connection gets interrupted by something. Possibly need to throw time intensive calculations into a separate thread in order to keep the heartbeat alive?

Endgame Data Formalization

There is no set format for the data being sent in a endgame socket event. all it says is
"score": scores of game
"timeout": double
"gameData": array of all data of the scores and such
This must be refined.

when turning Backend into a State Machine

There should be a state/transition in the form of an event being sent and recieved from the server front end. Something such as "updateState" sent, then a "stateUpdated" sent back. this will hopefully help make the board state consistent

Travis not running tests

Moved to Jasmine, now tests are not running.

Picks up Jasmine, but won't run test.js. Works on local machines.

Bad words valid words discrepancy

The valid words dictionary and the invalid words dictionary have differences in the number of permutations per word, leading to bad words being able to be played on the game, which would cause Bastian to fall out of his chair. These differences have to be worked out at some point, at least before May 4th.
@cking20 can answer technical questions if I can't answer them.

Need a get all users in game endpoint

I need to get all the Players in the game in JSON format. I'll need all the variables of Player.js as well as there should be another bool variable added called something like "isAI" to denote if that player is an AI. Also the order in which the Players are sent back matters. The order should be consistent with the way they are represented in the Game-manager or where ever the backend keeps track of the user's array

AI sending garbage to server

Towards the later stages of the game, when the AI are trying to think of words to play, they seem to be sending garbage plays to the server. A lot of garbage gets sent. Will need to hunt it down, but saw it when I glanced at the console at a moment.

This could actual be part of the bug in #201 .

AI breaks Server when playing words

When the AI connects to the server, the first word is played. On subsequent turns, however, the server breaks with an error of:

toUpperCase is not a function
Uncaught Promise Rejection

JSON Standardization

Each JSON response needs to have a standardized response across all API calls.

Going to follow the JSON API v1.0 standard.

Each Response must have the following:

  • metadata object: data that is not critical to the response (license, author, api version, etc.)
  • ** data object: data that is critical to the response (actual json response with the requested data)
  • **errors object: data that is critical to a failed response (error code, message, status code)

Bullet points with ** means that these objects cannot coexist in the same response.

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.