Giter Club home page Giter Club logo

warcraftiii's Introduction

#Warcraft III Barracks Simulator

##Premise

Warcraft III is a famous strategy video game by Blizzard. In this game, players can build barracks and then use them to train footmen which they can later use to fight other players' units.

We're going to use OOP to model out Warcraft III's unit training for the Human Race. You'll be reading XCTest examples to determine what functionality needs to be built and then build it to make all the tests pass or else the Human race will die!

NOTE: The logic will not be identical to that of Warcraft III... deal with it!

##Instructions

There are multiple test files provided. Each file progresses our development of the game further. Start by opening the project.

Show the navigator panel (command+0) and navigate to the "Test Navigator" tab (command+5). Here, you'll see all the tests grouped by file. After you run each test, you will see the status for each (red x for fail, green checkmark for success). Your goal is the make all the tests pass for that file, before proceeding onto the next test file. Start by mousing over "WarcraftIII_Tests_01" and clicking on the small arrow button (looks like play).

##Steps

  1. Read the CODE for the test file that you ran
  2. Understand what tests it contains and what each test in that file is expecting
  3. Start implementing your code to satisfy a particular test ("example")
  4. Run the test suite again (control+option+command+g).
  5. Repeat steps 1 through 4 until all tests pass for that suite.
  6. Once all the tests are passing for that suite, run the next suite (file). (Note: the test suites may not be listed in order; please choose the next numbered test file)

##Notes / Tips:

In this assignment, you will only be reading/running XCTest files, not creating or modifying them. As such, do not modify the code in the test files The tests will require you to create new classes as you progress. This means you should create a new file for that class (good practice, and what this project is already doing and expecting) Normal projects do not have their tests structured this way. We've done it here to facilitate incremental building and learning

It is recommended that you consume these resources and understand their underlying concepts before starting the project: https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/OOP_ObjC/Articles/ooObjectModel.html#//apple_ref/doc/uid/TP40005149-CH5-SW4

##Topics covered:

  • How to create a class
  • How to create instance variables
  • How to synthesize readers/accessors (property)
  • How to write a method
  • How to write your own initialize method
  • How to use inheritance to extend a class
  • Extending / inheriting methods via super

warcraftiii's People

Contributors

dmathewwws avatar smasuch avatar aarondufall avatar matrinox avatar philosopherdog avatar coryalder avatar suvan92 avatar adam88labs avatar kauffmanelia avatar

Watchers

James Cloos 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.