- ๐ Hi, Iโm @hopesgit or Hope!
- ๐ Iโm interested in video games, solving problems, and making things work!
- ๐ฑ Iโm currently learning Ruby, Python, and C++
- ๐๏ธ Iโm looking to collaborate on something that helps others!
battleship's Introduction
battleship's People
battleship's Issues
Iteration 4: Variable board size
This should allow the user to select the proportions of the board. Functionality should include:
- length input by the player
- width input by the player
- needs to initialize as many cells as needed to fit the requirements
- must be tested completely
Iteration 3: Player Class
This should handle all aspects of a player and its actions. This should be able to:
- Instantiate
- Attack the other player's board
- Place ships on its own board
- Win/lose
- whatever else we decide!
Iteration 2: Board valid_placement? method
This method should take two arguments:
- a ship object
- an array of coordinates
This method should check (and test!) a few things related to the placement of the ship: - the length of the ship object
- the length of the array
- the length of the array matches the ship's length
- the ship is being placed on consecutive cells
- the ship isn't being placed diagonally
- the ship is being placed completely on the board
This should also actually place the ship onto the selected cells
Iteration 1: Ship sunk?
Ship sunk? method
Iteration 2: Board valid_coordinate? method
This should take the form a method for checking coordinates that can report a boolean argument.
Criteria:
- the coordinate should be in the form
- the coordinate should be a coordinate that can go on the board
Iteration 4: Happy with Refactor?
NOTE: THIS ONLY GETS MARKED DONE ONCE WE AGREE THAT THE PROJECT IS GOOD AND READY or we run out of time to refactor
Iteration 1: Cell render
Iteration 4: Smarty-Pants AI
Why let the AI be random when it can be ruthless?
Iteration 1: Ship hit
Ship class hit method
Iteration 3: Game winner
Game should be able to:
- Detect that someone has won
- Be able to tell which player has won
- Give output of which player won
- Be able to end when winner is detected
- Ask the player to play again
Iteration 1: Ship setup/initialization
Just making the initialization method for ships!
Iteration 1: Ship Length
Ship Length method (part of initialize)
Iteration 1: Cell fired_upon?
Iteration 1: Cell place_ship
Cell class place_ship method
should result in ship object being added to cell
Iteration 1: Cell initialize/coordinate/ship
Initialization methods/instance attributes for Ship class
Iteration 3: Game gameplay
Gotta be able to play a game!
Iteration 1: Cell fire_upon
Iteration 1: Ship Name
Setting up ship value "name"
Iteration 1: Ship health
Ship health method (part of initialize)
Iteration 2: Board render method
Simple in concept, tough in execution.
This render method should render the state of each cell in the player's board to the terminal. It should also take an optional argument to render S's instead of .'s in the places where that's appropriate.
Iteration 4: Custom ships
This should allow the user to create custom ships. These ships will have the following attributes, all customizable:
- name
- length
- health (uses length)
Iteration 3: Game intro
The game needs an intro!
Board render fix
Board render isn't exactly to spec due to needing the numbers and letters for rows and colums
Iteration 2: Board cells method
This should create all 16 cells (4x4) that the board needs to run, in the form of a hash where each key is a coordinate and its value is a cell object for that coordinate
Iteration 1: Cell empty?
Cell class empty? method
should check for ship and report "true" if ship exists in cell
Setup
Make the file structure and readme for the repository
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.