From 45ca241e8d8188cf22b2a05d09c2456dd0d3d700 Mon Sep 17 00:00:00 2001 From: Chris Ashfield Date: Tue, 14 Jan 2014 19:19:07 -0800 Subject: [PATCH 01/13] Updated roster position #4 --- week1/exercises/roster.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/week1/exercises/roster.txt b/week1/exercises/roster.txt index 897cf1c..5b75cc4 100644 --- a/week1/exercises/roster.txt +++ b/week1/exercises/roster.txt @@ -1,8 +1,8 @@ #, name, email, github, twitter, hip chat 0, 1, -2, -3, +2, Chris Ashfield, biodieselchris@gmail.com, kewpiedoll, N/A, chrisashfield +3, 4, 5, 6, From 45d33631e6e53d0e4d406d004d09bae9099254f0 Mon Sep 17 00:00:00 2001 From: Chris Ashfield Date: Tue, 14 Jan 2014 19:21:49 -0800 Subject: [PATCH 02/13] Updated position roster #4 --- week1/exercises/roster.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/week1/exercises/roster.txt b/week1/exercises/roster.txt index 5b75cc4..9e50f88 100644 --- a/week1/exercises/roster.txt +++ b/week1/exercises/roster.txt @@ -1,9 +1,9 @@ #, name, email, github, twitter, hip chat 0, 1, -2, Chris Ashfield, biodieselchris@gmail.com, kewpiedoll, N/A, chrisashfield +2, 3, -4, +4, Chris Ashfield, biodieselchris@gmail.com, kewpiedoll, N/A, chrisashfield 5, 6, 7, From eeb45570aa584bbdbd932f90e236e934131dd96d Mon Sep 17 00:00:00 2001 From: Chris Ashfield Date: Tue, 14 Jan 2014 19:40:14 -0800 Subject: [PATCH 03/13] Add in-class examples --- week1/exercises/rspec_spec.rb | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/week1/exercises/rspec_spec.rb b/week1/exercises/rspec_spec.rb index b00c711..c09ba3d 100644 --- a/week1/exercises/rspec_spec.rb +++ b/week1/exercises/rspec_spec.rb @@ -43,7 +43,7 @@ # When this example fails, # it will show "expected" as 2, and "actual" as 1 - 1.should eq 2 + 1.should_not eq 2 end @@ -77,16 +77,19 @@ # Fix the Failing Test # Order of Operations is Please Excuse My Dear Aunt Sally: # Parentheses, Exponents, Multiplication, Division, Addition, Subtraction - (1+2-5*6/2).should eq -6 + ((((1+2)-5)*6)/2).should eq -6 end it "should count the characters in your name" do - pending + "Tom".should have(3).characters end - it "should check basic math" - - it "should check basic spelling" + it "should check basic math" do + (40+2).should eq 42 + end + it "should check basic spelling" do + "Field".should include('ie') + end end end From 916f001cd7e0b7899df70db119711123e6b1cd84 Mon Sep 17 00:00:00 2001 From: Chris Ashfield Date: Thu, 16 Jan 2014 17:03:15 -0800 Subject: [PATCH 04/13] finished homework --- week1/homework/questions.txt | 7 +++++++ week1/homework/string_example.rb | 5 +++++ week1/homework/strings_and_rspec_spec.rb | 11 +++++++---- 3 files changed, 19 insertions(+), 4 deletions(-) create mode 100644 week1/homework/string_example.rb diff --git a/week1/homework/questions.txt b/week1/homework/questions.txt index 2257bb9..3a1c01e 100644 --- a/week1/homework/questions.txt +++ b/week1/homework/questions.txt @@ -3,13 +3,20 @@ Chapter 3 Classes, Objects, and Variables p.86-90 Strings (Strings section in Chapter 6 Standard Types) 1. What is an object? +Objects are instances created by classes containing state and behavior. 2. What is a variable? +Variables are a device used to store data. In Ruby a variable is a reference to an object. 3. What is the difference between an object and a class? +An object is one particular instance of a class. An object may have state and behavior unique to that +instance even though it was generated from the same class. A class is code read by the interpreter to create objects. 4. What is a String? +A string is a literal sequence of characters. In ruby, Strings are objects. 5. What are three messages that I can send to a string object? Hint: think methods + 6. What are two ways of defining a String literal? Bonus: What is the difference between them? +You can use single or double quotes (' or "). The double quotes allows for many more escape sequences. diff --git a/week1/homework/string_example.rb b/week1/homework/string_example.rb new file mode 100644 index 0000000..3d88df8 --- /dev/null +++ b/week1/homework/string_example.rb @@ -0,0 +1,5 @@ +@my_string = "Renée is a fun teacher. Ruby is a really cool programming language" +puts @my_string.size +result = [] +result = @my_string.split(/\./) +puts result \ No newline at end of file diff --git a/week1/homework/strings_and_rspec_spec.rb b/week1/homework/strings_and_rspec_spec.rb index ea79e4c..d9a2c2e 100644 --- a/week1/homework/strings_and_rspec_spec.rb +++ b/week1/homework/strings_and_rspec_spec.rb @@ -12,14 +12,17 @@ before(:all) do @my_string = "Renée is a fun teacher. Ruby is a really cool programming language" end - it "should be able to count the charaters" + it "should be able to count the charaters" do + @my_string.size.should eq 66 + end it "should be able to split on the . charater" do - pending - result = #do something with @my_string here + result = [] + result = @my_string.split(/\./) result.should have(2).items end it "should be able to give the encoding of the string" do - pending 'helpful hint: should eq (Encoding.find("UTF-8"))' + @my_string.encoding.should eq (Encoding.find("UTF-8")) + # pending 'helpful hint: should eq (Encoding.find("UTF-8"))' end end end From f6ad362a7dfc451dbb33bc81bf17b31b32b8995b Mon Sep 17 00:00:00 2001 From: Chris Ashfield Date: Thu, 16 Jan 2014 17:05:04 -0800 Subject: [PATCH 05/13] appended question 5 --- week1/homework/questions.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/week1/homework/questions.txt b/week1/homework/questions.txt index 3a1c01e..908cafb 100644 --- a/week1/homework/questions.txt +++ b/week1/homework/questions.txt @@ -16,7 +16,8 @@ instance even though it was generated from the same class. A class is code read A string is a literal sequence of characters. In ruby, Strings are objects. 5. What are three messages that I can send to a string object? Hint: think methods +length, empty?, and encoding 6. What are two ways of defining a String literal? Bonus: What is the difference between them? -You can use single or double quotes (' or "). The double quotes allows for many more escape sequences. +You can use single or double quotes (' or "). The double quotes allows for many more escape sequences and ruby expressions to be included. You can also use %q or %Q which behave much like ' and ". From 1beb4387a418e6da738e01895b0cad8984a0533e Mon Sep 17 00:00:00 2001 From: Chris Ashfield Date: Thu, 23 Jan 2014 07:23:39 -0800 Subject: [PATCH 06/13] completed hw 2 --- week2/homework/questions.txt | 5 ++++ week2/homework/simon_says.rb | 55 ++++++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 week2/homework/simon_says.rb diff --git a/week2/homework/questions.txt b/week2/homework/questions.txt index 939e42d..ae0b4ca 100644 --- a/week2/homework/questions.txt +++ b/week2/homework/questions.txt @@ -3,11 +3,16 @@ Containers, Blocks, and Iterators Sharing Functionality: Inheritance, Modules, and Mixins 1. What is the difference between a Hash and an Array? +A hash uses a key / value pair to store data as an indexed collection where the key is any object. An array stores a collection that is accessible by a key that is an integer. 2. When would you use an Array over a Hash and vice versa? +Arrays acces is more efficient but a hash gives the user more flexibility over the collection. Hashes enumerate values in the order that the associated keys were given. 3. What is a module? Enumerable is a built in Ruby module, what is it? +Modules are a grouping of methods, classes and constants. Enumerable is a mixin that allows use of the host class' each method. 4. Can you inherit more than one thing in Ruby? How could you get around this problem? +Ruby is a single-inheritance language though you cna use mixins that essentially give the user multiple-inheritance ability. 5. What is the difference between a Module and a Class? +A module is a grouping of code though it is not instantiated as classes are. There are no instances of a module that get made. diff --git a/week2/homework/simon_says.rb b/week2/homework/simon_says.rb new file mode 100644 index 0000000..565c593 --- /dev/null +++ b/week2/homework/simon_says.rb @@ -0,0 +1,55 @@ +module SimonSays + + def echo(word) + "#{word}" + end + + def shout(word) + "#{word.upcase}" + end + + def repeat(word) + end + + def repeat(word, n) + if n > 2 + string = "" + while n > 1 + string += "#{word} " + n -= 1 + end + string += "#{word}" + else + "#{word} #{word}" + end + end + + def start_of_word(word, n) + a = 0 + string = "" + while a <= n + string += word[a] + n -= 1 + a += 1 + end + string + end + + def first_word(phrase) + word = phrase.split + word[0] + end + +end + +class RunSimon + include SimonSays +end + +#below was only for testing +w = RunSimon.new +p w.echo("Hello") +p w.echo("Hello") +p w.shout("Hello") +p w.repeat("hello", 3) +p w.first_word("Hello there") From e23bfbc449f5a6e1684e5be2db2e96cde1152ce5 Mon Sep 17 00:00:00 2001 From: Chris Ashfield Date: Thu, 23 Jan 2014 18:58:48 -0800 Subject: [PATCH 07/13] in class work on hw2 --- week2/homework/.rspec | 2 ++ week2/homework/simon_says.rb | 27 ++++++++++++++------------- 2 files changed, 16 insertions(+), 13 deletions(-) create mode 100644 week2/homework/.rspec diff --git a/week2/homework/.rspec b/week2/homework/.rspec new file mode 100644 index 0000000..b36b4b5 --- /dev/null +++ b/week2/homework/.rspec @@ -0,0 +1,2 @@ +--color +--format nested \ No newline at end of file diff --git a/week2/homework/simon_says.rb b/week2/homework/simon_says.rb index 565c593..665a4d2 100644 --- a/week2/homework/simon_says.rb +++ b/week2/homework/simon_says.rb @@ -1,17 +1,18 @@ module SimonSays - def echo(word) - "#{word}" + def echo word + word end - def shout(word) + def shout word "#{word.upcase}" end def repeat(word) + word + ' ' + word end - def repeat(word, n) + def repeat(word, n=2) if n > 2 string = "" while n > 1 @@ -42,14 +43,14 @@ def first_word(phrase) end -class RunSimon - include SimonSays -end +#class RunSimon + # include SimonSays +#end #below was only for testing -w = RunSimon.new -p w.echo("Hello") -p w.echo("Hello") -p w.shout("Hello") -p w.repeat("hello", 3) -p w.first_word("Hello there") +# w = RunSimon.new +# p w.echo("Hello") +# p w.echo("Hello") +# p w.shout("Hello") +# p w.repeat("hello", 3) +# p w.first_word("Hello there") From 0e9dae74beff2c188f0b7b49347f28440463cfdd Mon Sep 17 00:00:00 2001 From: Chris Ashfield Date: Thu, 30 Jan 2014 17:29:26 -0800 Subject: [PATCH 08/13] Finished HW week3 and some exercise changes --- week3/exercises/human.rb | 5 ++++ week3/exercises/monster.rb | 2 +- week3/exercises/monsters.rb | 12 +++++++++ week3/exercises/other_thing.rb | 1 + week3/exercises/test.rb | 1 + week3/exercises/vampire.rb | 10 +++++++ week3/exercises/zombie.rb | 9 +++++++ week3/homework/calculator.rb | 43 +++++++++++++++++++++++++++++++ week3/homework/calculator_spec.rb | 3 ++- week3/homework/questions.txt | 8 ++++++ 10 files changed, 92 insertions(+), 2 deletions(-) create mode 100644 week3/exercises/human.rb create mode 100644 week3/exercises/other_thing.rb create mode 100644 week3/exercises/test.rb create mode 100644 week3/exercises/zombie.rb create mode 100644 week3/homework/calculator.rb diff --git a/week3/exercises/human.rb b/week3/exercises/human.rb new file mode 100644 index 0000000..ebb34cf --- /dev/null +++ b/week3/exercises/human.rb @@ -0,0 +1,5 @@ +require_relative 'named_thing' + +class Human + include NamedThing +end diff --git a/week3/exercises/monster.rb b/week3/exercises/monster.rb index 013c3d2..78a612c 100644 --- a/week3/exercises/monster.rb +++ b/week3/exercises/monster.rb @@ -7,7 +7,7 @@ class Monster def initialize(noc, legs, name="Monster", vul = [], dangers = []) super(name) @nocturnal = noc - @vlunerabilities = vul + @vulnerabilities = vul @dangers = dangers @legs = legs end diff --git a/week3/exercises/monsters.rb b/week3/exercises/monsters.rb index 0635daa..dce7a83 100644 --- a/week3/exercises/monsters.rb +++ b/week3/exercises/monsters.rb @@ -35,3 +35,15 @@ :vulnerabilities => ['CO2', 'ice', 'cold'], :legs => 0 } + +# in class work here +class Someclass + def runthis + p $monsters.count{|m| m[:nocturnal]} + p $monsters.select{|m| m[:nocturnal]}.map{|m| m[:name]} + $monsters.map{|m| m[:legs]}.inject(:+) + end +end + + + diff --git a/week3/exercises/other_thing.rb b/week3/exercises/other_thing.rb new file mode 100644 index 0000000..c697ab5 --- /dev/null +++ b/week3/exercises/other_thing.rb @@ -0,0 +1 @@ +module OtherThing \ No newline at end of file diff --git a/week3/exercises/test.rb b/week3/exercises/test.rb new file mode 100644 index 0000000..4b01448 --- /dev/null +++ b/week3/exercises/test.rb @@ -0,0 +1 @@ +puts "#{File.dirname(__FILE__)}" \ No newline at end of file diff --git a/week3/exercises/vampire.rb b/week3/exercises/vampire.rb index 764adf6..4f6151c 100644 --- a/week3/exercises/vampire.rb +++ b/week3/exercises/vampire.rb @@ -3,4 +3,14 @@ class Vampire < Monster def initialize(noc=true, legs=2, name ="Vampire", vul=[:garlic, :sunlight], dangers=[:bites]) super(noc,legs,name,vul,dangers) end + + +protected # only instances of this class and subclasses (check definition) + + def bite! human + + end + +private # only this instance + end diff --git a/week3/exercises/zombie.rb b/week3/exercises/zombie.rb new file mode 100644 index 0000000..de4645e --- /dev/null +++ b/week3/exercises/zombie.rb @@ -0,0 +1,9 @@ +require './named_thing.rb' + +class Zombie + include NamedThing + + def say_name + "uuuuurrrgggghhhh #{@name}" + end +end diff --git a/week3/homework/calculator.rb b/week3/homework/calculator.rb new file mode 100644 index 0000000..322e33b --- /dev/null +++ b/week3/homework/calculator.rb @@ -0,0 +1,43 @@ +class Calculator + + def sum(num) + if num[0] == nil + 0 + else + num.inject(:+) + end + end + + def multiply(a, b=1) + if a.class == Array + a.inject(:*) + else + a * b + end + end + + def pow(num,exp) + num ** exp + end + + # factorial expressions + def fac(fact_num) + if fact_num == 0 + 1 + else + product = 1 + while fact_num > 0 + product = product * fact_num + fact_num -= 1 + end + product + end + end +end + +c = Calculator.new +puts c.multiply(2,6) +puts c.multiply([2,3,4]) +puts c.pow(2,6) +puts c.fac(0) +puts c.fac(5) \ No newline at end of file diff --git a/week3/homework/calculator_spec.rb b/week3/homework/calculator_spec.rb index 5a418ed..23bf716 100644 --- a/week3/homework/calculator_spec.rb +++ b/week3/homework/calculator_spec.rb @@ -1,4 +1,5 @@ -require "#{File.dirname(__FILE__)}/calculator" +#require "#{File.dirname(__FILE__)}/calculator" +require "./calculator" describe Calculator do diff --git a/week3/homework/questions.txt b/week3/homework/questions.txt index dfb158d..0e413e5 100644 --- a/week3/homework/questions.txt +++ b/week3/homework/questions.txt @@ -5,11 +5,19 @@ Please Read: - Chapter 22 The Ruby Language: basic types (symbols), variables and constants 1. What is a symbol? +A symbol is an identifier corresponding to s a string. The name is constructed by preceeding +the string with a colon, such as :name. 2. What is the difference between a symbol and a string? +A symbol is an identifier whereas a string is simply a sequence of characters. A symbol can be a constant, a method or a class in three separate contexts and calls to all of these will point to the +same object during the execution of the entire program. 3. What is a block and how do I call a block? +A block is simply a set of Ruby statements or expressions between braces or a do/end pair. Blocks only +appear after method invocation. 4. How do I pass a block to a method? What is the method signature? +A block may be called by a method using the yield keyword. 5. Where would you use regular expressions? +Regular expressions are utilized to match a pattern against a string.Therefore they are used to find, change and remove certain portions of matching string patterns. \ No newline at end of file From 1840c8ddab803a0ca82fec6b9cd958cd56f882e9 Mon Sep 17 00:00:00 2001 From: Chris Ashfield Date: Thu, 6 Feb 2014 17:32:39 -0800 Subject: [PATCH 09/13] HW week4 --- week4/homework/questions.txt | 9 +++++++++ week4/homework/worker.rb | 9 +++++++++ 2 files changed, 18 insertions(+) create mode 100644 week4/homework/worker.rb diff --git a/week4/homework/questions.txt b/week4/homework/questions.txt index 187b3d3..98e2a20 100644 --- a/week4/homework/questions.txt +++ b/week4/homework/questions.txt @@ -3,12 +3,21 @@ Chapter 10 Basic Input and Output The Rake Gem: http://rake.rubyforge.org/ 1. How does Ruby read files? +It opens the file and reads each line with gets, usually using a "while line" loop. 2. How would you output "Hello World!" to a file called my_output.txt? +File.open("my_output.txt", "w") do |file| + file.puts "Hello World!" +end 3. What is the Directory class and what is it used for? +It represents a directory stream that gives filenames in the directory of the operating system. 4. What is an IO object? +It is the basis for all input and output. 5. What is rake and what is it used for? What is a rake task? +A rkae is any executable ruby code though it is conventionally used to package tasks, which are +a list of prerequisites and actions. Rake is ruby's version of 'makefile.' + diff --git a/week4/homework/worker.rb b/week4/homework/worker.rb new file mode 100644 index 0000000..74b09ad --- /dev/null +++ b/week4/homework/worker.rb @@ -0,0 +1,9 @@ +class Worker + + def work + end + +end + +# I tried several different ways of getting started on this but it did not work out for me so I need +# to get a much better understanding of how blocks work. \ No newline at end of file From a9eb2856cefb5d029f63e1346b6ab5576c4f57bb Mon Sep 17 00:00:00 2001 From: Chris Ashfield Date: Thu, 27 Feb 2014 17:48:21 -0800 Subject: [PATCH 10/13] week7 hw --- week7/class_materials/minitest/book.rb | 26 ++++++++++++++++++- .../step_definitions/cool_game_steps.rb | 19 ++++++++++++++ week7/coolgame_redo/features/test.feature | 13 ++++++++++ week7/exercises/features/converter.feature | 4 +-- .../features/step_definitions/converter.rb | 21 +++++++++++++++ .../step_definitions/converter_steps.rb | 15 +++++++++++ week7/features/step_definitions/cool_game.rb | 22 ++++++++++++++++ .../step_definitions/cool_game_steps.rb | 19 ++++++++++++++ week7/features/test.feature | 13 ++++++++++ week7/homework/features/pirate.feature | 15 +++++------ .../features/step_definitions/pirate.rb | 5 ++++ week7/homework/questions.txt | 5 ++++ 12 files changed, 166 insertions(+), 11 deletions(-) create mode 100644 week7/coolgame_redo/features/step_definitions/cool_game_steps.rb create mode 100644 week7/coolgame_redo/features/test.feature create mode 100644 week7/exercises/features/step_definitions/converter.rb create mode 100644 week7/exercises/features/step_definitions/converter_steps.rb create mode 100644 week7/features/step_definitions/cool_game.rb create mode 100644 week7/features/step_definitions/cool_game_steps.rb create mode 100644 week7/features/test.feature create mode 100644 week7/homework/features/step_definitions/pirate.rb diff --git a/week7/class_materials/minitest/book.rb b/week7/class_materials/minitest/book.rb index 294444b..b80a5c3 100644 --- a/week7/class_materials/minitest/book.rb +++ b/week7/class_materials/minitest/book.rb @@ -1,6 +1,30 @@ class Book + attr_accessor :pages, :title, :author + + def initialize title = "", author = "", pages = "" + @title = title + @author = author + @pages = pages + end + + def characters + @pages.inject(0){|sum, page| sum += page.length} + end + + def page_count + @pages + end + + def pretty_print + "#{title} - #{author} pages: #{page_count}" + end + end +b = Book.new('test', "Mr. Test", 4) +p b.pages.length + + require 'minitest/autorun' # Unit tests @@ -25,7 +49,7 @@ def test_that_book_can_print_pretty describe "when counting characters" do it "should count the characters on every page" do - @book.characters.must_equal 29 + @book.characters.must_equal 76 end end end \ No newline at end of file diff --git a/week7/coolgame_redo/features/step_definitions/cool_game_steps.rb b/week7/coolgame_redo/features/step_definitions/cool_game_steps.rb new file mode 100644 index 0000000..4cfafaa --- /dev/null +++ b/week7/coolgame_redo/features/step_definitions/cool_game_steps.rb @@ -0,0 +1,19 @@ +Given(/^"(.*?)" is logged in$/) do |arg1| + pending # express the regexp above with the code you wish you had +end + +When(/^he clicks move$/) do + pending # express the regexp above with the code you wish you had +end + +Then(/^he wins the game$/) do + pending # express the regexp above with the code you wish you had +end + +Then(/^he sees the text "(.*?)"$/) do |arg1| + pending # express the regexp above with the code you wish you had +end + +Then(/^he loses the game$/) do + pending # express the regexp above with the code you wish you had +end \ No newline at end of file diff --git a/week7/coolgame_redo/features/test.feature b/week7/coolgame_redo/features/test.feature new file mode 100644 index 0000000..0ae5687 --- /dev/null +++ b/week7/coolgame_redo/features/test.feature @@ -0,0 +1,13 @@ +Feature: This is a really cool game. + +Scenario: Chris always win the game. + Given "Chris" is logged in + When he clicks move + Then he wins the game + And he sees the text "You Won!" + +Scenario: Bill always loses the game. + Given "Bill" is logged in + When he clicks move + Then he loses the game + And he sees the text "You Lose!" diff --git a/week7/exercises/features/converter.feature b/week7/exercises/features/converter.feature index 5e262a8..372bc41 100644 --- a/week7/exercises/features/converter.feature +++ b/week7/exercises/features/converter.feature @@ -5,13 +5,13 @@ Feature: Converting metric Scenario: Given I have entered 32 into the converter - And I set the type to Fahrenheit + And I set the type to "Fahrenheit" When I press convert Then the result returned should be 0.0 Scenario: Given I have entered 75 into the converter - And I set the type to Fahrenheit + And I set the type to "Fahrenheit" When I press convert Then the result returned should be 23.9 diff --git a/week7/exercises/features/step_definitions/converter.rb b/week7/exercises/features/step_definitions/converter.rb new file mode 100644 index 0000000..d75539e --- /dev/null +++ b/week7/exercises/features/step_definitions/converter.rb @@ -0,0 +1,21 @@ +class Converter + + def initialize c_temp + @c_temp = c_temp.to_f + end + + def type=(type) + @type = type + end + + def convert + self.send("#{@type}_convertion") + end + + private + + def Fahrenheit_convertion + ((@c_temp - 32.0) / 1.8).round(1) + end + +end \ No newline at end of file diff --git a/week7/exercises/features/step_definitions/converter_steps.rb b/week7/exercises/features/step_definitions/converter_steps.rb new file mode 100644 index 0000000..fa2eaad --- /dev/null +++ b/week7/exercises/features/step_definitions/converter_steps.rb @@ -0,0 +1,15 @@ +Given(/^I have entered (\d+) into the converter$/) do |arg1| + @converter = Converter.new(arg1) +end + +Given(/^I set the type to "(.*?)"$/) do |type| + @converter.type = type +end + +When(/^I press convert$/) do + @result = @converter.convert +end + +Then(/^the result returned should be (\d+)\.(\d+)$/) do |arg1, arg2| + @result.should eq "#{arg1}.#{arg2}".to_f +end \ No newline at end of file diff --git a/week7/features/step_definitions/cool_game.rb b/week7/features/step_definitions/cool_game.rb new file mode 100644 index 0000000..e2351ff --- /dev/null +++ b/week7/features/step_definitions/cool_game.rb @@ -0,0 +1,22 @@ +class CoolGame + def initialize name + @player = name + end + + def move + if @player == "Chris" + @won = true + else + @won = false + end + end + + def won? + @won + end + + def output + "You #{won? ? 'Won!' : 'Lose!'}" + end + +end \ No newline at end of file diff --git a/week7/features/step_definitions/cool_game_steps.rb b/week7/features/step_definitions/cool_game_steps.rb new file mode 100644 index 0000000..1bea4d0 --- /dev/null +++ b/week7/features/step_definitions/cool_game_steps.rb @@ -0,0 +1,19 @@ +Given(/^"(.*?)" is logged in$/) do |name| + @game = CoolGame.new(name) +end + +When(/^he clicks move$/) do + @game.move +end + +Then(/^he wins the game$/) do + @game.won?.should be_true +end + +Then(/^he sees the text "(.*?)"$/) do |arg1| + @game.output.should eq arg1 +end + +Then(/^he loses the game$/) do + @game.won?.should be_false +end diff --git a/week7/features/test.feature b/week7/features/test.feature new file mode 100644 index 0000000..0ae5687 --- /dev/null +++ b/week7/features/test.feature @@ -0,0 +1,13 @@ +Feature: This is a really cool game. + +Scenario: Chris always win the game. + Given "Chris" is logged in + When he clicks move + Then he wins the game + And he sees the text "You Won!" + +Scenario: Bill always loses the game. + Given "Bill" is logged in + When he clicks move + Then he loses the game + And he sees the text "You Lose!" diff --git a/week7/homework/features/pirate.feature b/week7/homework/features/pirate.feature index 7de1a0b..45934fb 100644 --- a/week7/homework/features/pirate.feature +++ b/week7/homework/features/pirate.feature @@ -1,11 +1,10 @@ # language: en-pirate -Ahoy matey!: Pirate Speak - I would like help to talk like a pirate +Ahoy matey!: Pirate Speak -Heave to: The mighty speaking pirate - Gangway! I have a PirateTranslator - Blimey! I say 'Hello Friend' - Aye I hit translate - Let go and haul it prints out 'Ahoy Matey' - Avast! it also prints 'Shiber Me Timbers You Scurvey Dogs!!' +Heave to: The mighty speaking pirate + Gangway! I have a PirateTranslator + Blimey! I say 'Hello Friend' + Aye I hit translate + Let go and haul it prints out 'Ahoy Matey' + Avast! it also prints 'Shiber Me Timbers You Scurvey Dogs!!' diff --git a/week7/homework/features/step_definitions/pirate.rb b/week7/homework/features/step_definitions/pirate.rb new file mode 100644 index 0000000..69aa850 --- /dev/null +++ b/week7/homework/features/step_definitions/pirate.rb @@ -0,0 +1,5 @@ +class PirateTranslator + def send method=nil, arg + "Ahoy Matey\n Shiber Me Timbers You Scurvey Dogs!!" + end +end diff --git a/week7/homework/questions.txt b/week7/homework/questions.txt index d55387d..c327bb3 100644 --- a/week7/homework/questions.txt +++ b/week7/homework/questions.txt @@ -3,7 +3,12 @@ Please Read Chapters 23 and 24 DuckTyping and MetaProgramming Questions: 1. What is method_missing and how can it be used? +method_missing is a ruby method located in BasicClass. A method call will look for a method in the object's class, then it's super class, and so on until it reaches BasicObject if the method is not found beforehand, which simply raises one of two exceptions. Therefore method_missing can be overridden to 1) handle all calls to undefined methods, or 2) handle some pre_defined calls to an unknown method and pass others onward to the superclass. Defining a method_missing could be used to simulate accessors though it often is not worth the trouble. More often it is used as a filter and has powerful subtleties (especially in Rails). 2. What is and Eigenclass and what is it used for? Where Do Singleton methods live? +An Eigenclass is an anonymous class created when singleton methods are utilized. The original class becomes the superclass to this new anonymous class which ensures the normal method lookup pattern for the instance is unaltered. 3. When would you use DuckTypeing? How would you use it to improve your code? +DuckTypeing is the general lack of static typing that is found in Java (which is the last class that I took!). At first it seems like it could create problems, but people gravitate towards a certain style of coding and type safety is more illusionary than it might've otherwise been before just trying it out. In Ruby the class is almost never the type. This can have multiple benefits to writing and changing code to be more dynamic. For example a class of an object does not need to be tested and you don't need to check types of arguments. 4. What is the difference between a class method and an instance method? What is the difference between instance_eval and class_eval? +An instance method is called on the instance of a class whereas class methods are called on the class (i.e., no "new" instance of the class is necessary). Class_eval is a method of the module class and it evaluates inside the context of the class whereas instance_eval is a method of the Object class which evaluates within the context of a specific object. SO (somewhat confusingly), class_eval will create instance methods and instance_eval will create class methods. 5. What is the difference between a singleton class and a singleton method? +A singleton method is a method added to only a single instance. After researching quite a bit I sort of feel like a singleton class and methods are describing substantially similar code or concepts, to the point this actually may be a trick question (currently hopeful on this theory, but more likely I am missing something). \ No newline at end of file From 086650a542f1dace9d61d38fadeabf8788022b47 Mon Sep 17 00:00:00 2001 From: Chris Ashfield Date: Thu, 13 Mar 2014 16:56:04 -0700 Subject: [PATCH 11/13] added final from elsewhere so I can push it --- final | 1 + midterm/instructions_and_questions.txt | 12 +- week3/exercises/book.rb | 28 +- week3/exercises/human.rb | 2 + week3/exercises/monster.rb | 5 + week3/exercises/monsters.rb | 5 +- week3/exercises/other_thing.rb | 6 +- week3/exercises/vampire.rb | 4 + week3/homework/calculator.rb | 1 + week3/homework/calculator_ans.rb | 24 + week4/class_materials/odd_number.rb | 4 + week4/exercises/char-test.rb | 11 + week4/exercises/code_time.rb | 10 + week4/exercises/code_timer_spec.rb | 37 ++ week4/homework/lor | 0 week4/homework/worker.rb | 17 +- week4/homework/worker_spec.rb | 6 + week5/class_materials/Rakefile.rb | 11 + week5/exercises/Rakefile.rb | 43 ++ week5/exercises/test | 4 + week6/exercises/happy_jeweler_gem | 1 + week6/exercises/happy_test_gem | 1 + week7/answers/features/pirate.feature | 10 + .../features/step_definitions/pirate.rb | 20 + .../features/step_definitions/pirate_steps.rb | 19 + week7/features/step_definitions/cool_game.rb | 5 +- .../step_definitions/cool_game_steps.rb | 2 +- week7/features/test.feature | 2 +- .../features/step_definitions/pirate_steps.rb | 2 +- .../step_definitions/tic-tac-toe-steps.rb | 124 ---- week7/homework/features/tic-tac-toe.feature | 57 -- week7/homework/play_game.rb | 22 - week8/class_materials/couch.rb | 31 +- week8/class_materials/couch_spec.rb | 1 + week8/class_materials/experiment.rb | 3 +- week8/exercises/couch.rb | 43 +- week8/exercises/couch_spec.rb | 4 +- week9/doc/Hat.html | 202 ++++++ week9/doc/HeadGear.html | 105 ++++ week9/doc/created.rid | 2 + week9/doc/fonts.css | 167 +++++ week9/doc/fonts/Lato-Light.ttf | Bin 0 -> 94668 bytes week9/doc/fonts/Lato-LightItalic.ttf | Bin 0 -> 94196 bytes week9/doc/fonts/Lato-Regular.ttf | Bin 0 -> 96184 bytes week9/doc/fonts/Lato-RegularItalic.ttf | Bin 0 -> 95316 bytes week9/doc/fonts/SourceCodePro-Bold.ttf | Bin 0 -> 71200 bytes week9/doc/fonts/SourceCodePro-Regular.ttf | Bin 0 -> 71692 bytes week9/doc/images/add.png | Bin 0 -> 733 bytes week9/doc/images/arrow_up.png | Bin 0 -> 372 bytes week9/doc/images/brick.png | Bin 0 -> 452 bytes week9/doc/images/brick_link.png | Bin 0 -> 764 bytes week9/doc/images/bug.png | Bin 0 -> 774 bytes week9/doc/images/bullet_black.png | Bin 0 -> 211 bytes week9/doc/images/bullet_toggle_minus.png | Bin 0 -> 207 bytes week9/doc/images/bullet_toggle_plus.png | Bin 0 -> 209 bytes week9/doc/images/date.png | Bin 0 -> 626 bytes week9/doc/images/delete.png | Bin 0 -> 715 bytes week9/doc/images/find.png | Bin 0 -> 659 bytes week9/doc/images/loadingAnimation.gif | Bin 0 -> 5886 bytes week9/doc/images/macFFBgHack.png | Bin 0 -> 207 bytes week9/doc/images/package.png | Bin 0 -> 853 bytes week9/doc/images/page_green.png | Bin 0 -> 621 bytes week9/doc/images/page_white_text.png | Bin 0 -> 342 bytes week9/doc/images/page_white_width.png | Bin 0 -> 309 bytes week9/doc/images/plugin.png | Bin 0 -> 591 bytes week9/doc/images/ruby.png | Bin 0 -> 592 bytes week9/doc/images/tag_blue.png | Bin 0 -> 1880 bytes week9/doc/images/tag_green.png | Bin 0 -> 613 bytes week9/doc/images/transparent.png | Bin 0 -> 97 bytes week9/doc/images/wrench.png | Bin 0 -> 610 bytes week9/doc/images/wrench_orange.png | Bin 0 -> 584 bytes week9/doc/images/zoom.png | Bin 0 -> 692 bytes week9/doc/index.html | 85 +++ week9/doc/js/darkfish.js | 140 +++++ week9/doc/js/jquery.js | 18 + week9/doc/js/navigation.js | 142 +++++ week9/doc/js/search.js | 109 ++++ week9/doc/js/search_index.js | 1 + week9/doc/js/searcher.js | 228 +++++++ week9/doc/rdoc.css | 580 ++++++++++++++++++ week9/doc/table_of_contents.html | 55 ++ week9/exceptions.rb | 31 + week9/rdoc_demo.rb | 21 + week9/sinatra_test.rb | 22 + 84 files changed, 2231 insertions(+), 255 deletions(-) create mode 160000 final create mode 100644 week3/homework/calculator_ans.rb create mode 100644 week4/exercises/char-test.rb create mode 100644 week4/exercises/code_time.rb create mode 100644 week4/exercises/code_timer_spec.rb create mode 100644 week4/homework/lor create mode 100644 week5/class_materials/Rakefile.rb create mode 100644 week5/exercises/Rakefile.rb create mode 100644 week5/exercises/test create mode 160000 week6/exercises/happy_jeweler_gem create mode 160000 week6/exercises/happy_test_gem create mode 100644 week7/answers/features/pirate.feature create mode 100644 week7/answers/features/step_definitions/pirate.rb create mode 100644 week7/answers/features/step_definitions/pirate_steps.rb delete mode 100644 week7/homework/features/step_definitions/tic-tac-toe-steps.rb delete mode 100644 week7/homework/features/tic-tac-toe.feature delete mode 100644 week7/homework/play_game.rb create mode 100644 week9/doc/Hat.html create mode 100644 week9/doc/HeadGear.html create mode 100644 week9/doc/created.rid create mode 100644 week9/doc/fonts.css create mode 100644 week9/doc/fonts/Lato-Light.ttf create mode 100644 week9/doc/fonts/Lato-LightItalic.ttf create mode 100644 week9/doc/fonts/Lato-Regular.ttf create mode 100644 week9/doc/fonts/Lato-RegularItalic.ttf create mode 100644 week9/doc/fonts/SourceCodePro-Bold.ttf create mode 100644 week9/doc/fonts/SourceCodePro-Regular.ttf create mode 100644 week9/doc/images/add.png create mode 100644 week9/doc/images/arrow_up.png create mode 100644 week9/doc/images/brick.png create mode 100644 week9/doc/images/brick_link.png create mode 100644 week9/doc/images/bug.png create mode 100644 week9/doc/images/bullet_black.png create mode 100644 week9/doc/images/bullet_toggle_minus.png create mode 100644 week9/doc/images/bullet_toggle_plus.png create mode 100644 week9/doc/images/date.png create mode 100644 week9/doc/images/delete.png create mode 100644 week9/doc/images/find.png create mode 100644 week9/doc/images/loadingAnimation.gif create mode 100644 week9/doc/images/macFFBgHack.png create mode 100644 week9/doc/images/package.png create mode 100644 week9/doc/images/page_green.png create mode 100644 week9/doc/images/page_white_text.png create mode 100644 week9/doc/images/page_white_width.png create mode 100644 week9/doc/images/plugin.png create mode 100644 week9/doc/images/ruby.png create mode 100644 week9/doc/images/tag_blue.png create mode 100644 week9/doc/images/tag_green.png create mode 100644 week9/doc/images/transparent.png create mode 100644 week9/doc/images/wrench.png create mode 100644 week9/doc/images/wrench_orange.png create mode 100644 week9/doc/images/zoom.png create mode 100644 week9/doc/index.html create mode 100644 week9/doc/js/darkfish.js create mode 100644 week9/doc/js/jquery.js create mode 100644 week9/doc/js/navigation.js create mode 100644 week9/doc/js/search.js create mode 100644 week9/doc/js/search_index.js create mode 100644 week9/doc/js/searcher.js create mode 100644 week9/doc/rdoc.css create mode 100644 week9/doc/table_of_contents.html create mode 100644 week9/exceptions.rb create mode 100644 week9/rdoc_demo.rb create mode 100644 week9/sinatra_test.rb diff --git a/final b/final new file mode 160000 index 0000000..d2b63e5 --- /dev/null +++ b/final @@ -0,0 +1 @@ +Subproject commit d2b63e55c6d942d7e2fe1acf877f5e861be8612b diff --git a/midterm/instructions_and_questions.txt b/midterm/instructions_and_questions.txt index e38c84d..b304676 100644 --- a/midterm/instructions_and_questions.txt +++ b/midterm/instructions_and_questions.txt @@ -1,9 +1,9 @@ Instructions for Mid-Term submission and Git Review (10pts): - - Create a git repository for your answers - - Add and Commit as you work through the questions and programming problems - - Your git log should reflect your work, don't just commit after you have finished working - - Use .gitignore to ignore any files that are not relevant to the midterm - - E-mail me your ssh public key + DONE - Create a git repository for your answers + (OK) - Add and Commit as you work through the questions and programming problems + (OK) - Your git log should reflect your work, don't just commit after you have finished working + (to learn...) - Use .gitignore to ignore any files that are not relevant to the midterm + DONE - E-mail me your ssh public key - I will email you back with your repository name - Add a remote to your git repository: git@reneedv.com:RubyWinter2014/YOURREPOSITORYNAME.git - Push your changes to the remote @@ -15,7 +15,9 @@ Instructions for Mid-Term submission and Git Review (10pts): - What is the difference between how a String, a symbol, a FixNum, and a Float are stored in Ruby? - Are these two statements equivalent? Why or Why Not? 1. x, y = "hello", "hello" + different object_id 2. x = y = "hello" + same object id - What is the difference between a Range and an Array? - Why would I use a Hash instead of an Array? - What is your favorite thing about Ruby so far? diff --git a/week3/exercises/book.rb b/week3/exercises/book.rb index c13e4d4..f16a186 100644 --- a/week3/exercises/book.rb +++ b/week3/exercises/book.rb @@ -1,7 +1,27 @@ -class Book +$global_hello = "hi there" - def pages - - end +module Library + class Book + HELLO = "hello I shouldn't change..." + attr_accessor :pages, :titles + + @@library_count = 0 + + def self.library_count + @@library_count + end + + def initialize pages = 0 Title = "N/A" + @pages = pages + @title = title + @@library_count += 1 + end + + def happy + $global_hello = "hello" + "There are #{@pages} happy pages." + end + + end end \ No newline at end of file diff --git a/week3/exercises/human.rb b/week3/exercises/human.rb index ebb34cf..079de02 100644 --- a/week3/exercises/human.rb +++ b/week3/exercises/human.rb @@ -1,5 +1,7 @@ require_relative 'named_thing' +require_relative 'other_thing' class Human include NamedThing + include OtherThing end diff --git a/week3/exercises/monster.rb b/week3/exercises/monster.rb index 78a612c..9cc7803 100644 --- a/week3/exercises/monster.rb +++ b/week3/exercises/monster.rb @@ -11,4 +11,9 @@ def initialize(noc, legs, name="Monster", vul = [], dangers = []) @dangers = dangers @legs = legs end + + def attack! human + puts "hi from Monster" + super + end end diff --git a/week3/exercises/monsters.rb b/week3/exercises/monsters.rb index dce7a83..e598187 100644 --- a/week3/exercises/monsters.rb +++ b/week3/exercises/monsters.rb @@ -41,9 +41,12 @@ class Someclass def runthis p $monsters.count{|m| m[:nocturnal]} p $monsters.select{|m| m[:nocturnal]}.map{|m| m[:name]} - $monsters.map{|m| m[:legs]}.inject(:+) + p $monsters.map{|m| m[:legs]}.inject(:+) end end +s = Someclass.new +s.runthis + diff --git a/week3/exercises/other_thing.rb b/week3/exercises/other_thing.rb index c697ab5..d868dd0 100644 --- a/week3/exercises/other_thing.rb +++ b/week3/exercises/other_thing.rb @@ -1 +1,5 @@ -module OtherThing \ No newline at end of file +module OtherThing + def say_name + "hello" + end +end \ No newline at end of file diff --git a/week3/exercises/vampire.rb b/week3/exercises/vampire.rb index 4f6151c..00bb6b0 100644 --- a/week3/exercises/vampire.rb +++ b/week3/exercises/vampire.rb @@ -4,6 +4,10 @@ def initialize(noc=true, legs=2, name ="Vampire", vul=[:garlic, :sunlight], dang super(noc,legs,name,vul,dangers) end + def attack! human + puts "hi from Vampire" + end + protected # only instances of this class and subclasses (check definition) diff --git a/week3/homework/calculator.rb b/week3/homework/calculator.rb index 322e33b..c93d62e 100644 --- a/week3/homework/calculator.rb +++ b/week3/homework/calculator.rb @@ -35,6 +35,7 @@ def fac(fact_num) end end +# for testing a bit... c = Calculator.new puts c.multiply(2,6) puts c.multiply([2,3,4]) diff --git a/week3/homework/calculator_ans.rb b/week3/homework/calculator_ans.rb new file mode 100644 index 0000000..9cb3f49 --- /dev/null +++ b/week3/homework/calculator_ans.rb @@ -0,0 +1,24 @@ +class Calculator + + def sum input + total = 0 + input.each do |i| + total += i + end + total + input.reduce 0, :+ + end + + def multiply *args + args.flatten.inject 1, :* #what does the "1, :+" do exactly? + end + + def pow b,e + b**e + end + + def fac n + multiply (1..n).to_a # one approach + + end + diff --git a/week4/class_materials/odd_number.rb b/week4/class_materials/odd_number.rb index bdcc0ac..d8efd20 100644 --- a/week4/class_materials/odd_number.rb +++ b/week4/class_materials/odd_number.rb @@ -21,3 +21,7 @@ def <=> (other) end end +a = OddNumber.new(5) +b = (OddNumber.new(1)..OddNumber.new(31)).to_a +puts b + diff --git a/week4/exercises/char-test.rb b/week4/exercises/char-test.rb new file mode 100644 index 0000000..c3893c8 --- /dev/null +++ b/week4/exercises/char-test.rb @@ -0,0 +1,11 @@ +class AllChars + +def doit a + puts a + doit a.succ +end + +end + +c = AllChars.new() +c.doit("a") \ No newline at end of file diff --git a/week4/exercises/code_time.rb b/week4/exercises/code_time.rb new file mode 100644 index 0000000..5b8c8be --- /dev/null +++ b/week4/exercises/code_time.rb @@ -0,0 +1,10 @@ +class CodeTimer + + def self.time_code n=1 + start = Time.now + n.times{yield} + (Time.now - start) / n.to_f + end + + +end \ No newline at end of file diff --git a/week4/exercises/code_timer_spec.rb b/week4/exercises/code_timer_spec.rb new file mode 100644 index 0000000..7b94fde --- /dev/null +++ b/week4/exercises/code_timer_spec.rb @@ -0,0 +1,37 @@ +require './code_time' + +describe CodeTimer do + + it "should run our code" do + flag = false + CodeTimer.time_code do + flag = true + end + + flag.should be_true + + end + + it "should time our code" do + Time.stub(:now).and_return(0,3) + time = CodeTimer.time_code do + end + time.should be_within(0.1).of(3.0) + end + + it "should run our code multiple times" do + count = 0 + CodeTimer.time_code 100 do + count += 1 + end + count.should eq 100 + end + + it "should give us the average time to run" do + Time.stub(:now).and_return(0,300) + time = CodeTimer.time_code 100 do + end + time.should be_within(0.1).of(3.0) + end + +end \ No newline at end of file diff --git a/week4/homework/lor b/week4/homework/lor new file mode 100644 index 0000000..e69de29 diff --git a/week4/homework/worker.rb b/week4/homework/worker.rb index 74b09ad..e85e9a4 100644 --- a/week4/homework/worker.rb +++ b/week4/homework/worker.rb @@ -1,9 +1,16 @@ +# no "include" means class and not module +# create a "class level method" which uses "self." Does not rely on a particular instance. + class Worker + # define a class level method - def work - end + def self.work t = 1 + # this works but use inject + #r = nil + #t.times { r = yield } + #r -end + t.times.inject(nil) { yield } + end -# I tried several different ways of getting started on this but it did not work out for me so I need -# to get a much better understanding of how blocks work. \ No newline at end of file +end \ No newline at end of file diff --git a/week4/homework/worker_spec.rb b/week4/homework/worker_spec.rb index dfc6f02..9e954e9 100644 --- a/week4/homework/worker_spec.rb +++ b/week4/homework/worker_spec.rb @@ -2,6 +2,12 @@ describe Worker do + # this is how you get each instance to work without "self" + #before :each do + # worker = Worker.new + #end + # and then Worker.work just becomes work? + it "executes a block and returns a string" do result = Worker.work do "hello" diff --git a/week5/class_materials/Rakefile.rb b/week5/class_materials/Rakefile.rb new file mode 100644 index 0000000..f701c13 --- /dev/null +++ b/week5/class_materials/Rakefile.rb @@ -0,0 +1,11 @@ +task :default => [:say_hello, :say_hi] + +desc "Output hello world" +task :say_hello => [:say_hi] do + puts "hello world" +end + +desc "Output hi" +task :say_hi do + puts "hi" +end diff --git a/week5/exercises/Rakefile.rb b/week5/exercises/Rakefile.rb new file mode 100644 index 0000000..a19d35e --- /dev/null +++ b/week5/exercises/Rakefile.rb @@ -0,0 +1,43 @@ +#task :default => [:read_names, :make_dir, :make_all_dirs] + +desc "Reads all the lines in the names and outputs them" +task :read_names do + file_helper("names") do |line| + puts line + end +end + + +desc "Create a class directory" +task :make_dir do + Dir.mkdir "class" unless Dir.exists? "class" +end + +desc "Create a directory in the class directory for every name" +task :make_all_dirs => [:make_dir] do + Dir.chdir("class") + file_helper("../names") do |line| + Dir.mkdir line.chomp unless Dir.exists? line.chomp + end + Dir.chdir("..") +end + +desc "clean up directories created" +task :remove_all_dirs => [:make_all_dirs] do + Dir.chdir("class") + file_helper("../names") do |line| + Dir.rmdir line.chomp if Dir.exists? line.chomp + end + Dir.chdir("..") + end + Dir.rmdir("class") +end + +def file_helper file_name + File.open(file_name) do |f| + f.each do |line| + yield line.chomp + end + end +end + diff --git a/week5/exercises/test b/week5/exercises/test new file mode 100644 index 0000000..2e6e96b --- /dev/null +++ b/week5/exercises/test @@ -0,0 +1,4 @@ +Hello +Another line +BLAH +BLAH \ No newline at end of file diff --git a/week6/exercises/happy_jeweler_gem b/week6/exercises/happy_jeweler_gem new file mode 160000 index 0000000..e3470da --- /dev/null +++ b/week6/exercises/happy_jeweler_gem @@ -0,0 +1 @@ +Subproject commit e3470dad4d2ac3cb845e6b87aa9506e31a43d3cd diff --git a/week6/exercises/happy_test_gem b/week6/exercises/happy_test_gem new file mode 160000 index 0000000..f5a8953 --- /dev/null +++ b/week6/exercises/happy_test_gem @@ -0,0 +1 @@ +Subproject commit f5a8953f1cd6a552e722899e80a525d6081f6b5d diff --git a/week7/answers/features/pirate.feature b/week7/answers/features/pirate.feature new file mode 100644 index 0000000..45934fb --- /dev/null +++ b/week7/answers/features/pirate.feature @@ -0,0 +1,10 @@ +# language: en-pirate + +Ahoy matey!: Pirate Speak + +Heave to: The mighty speaking pirate + Gangway! I have a PirateTranslator + Blimey! I say 'Hello Friend' + Aye I hit translate + Let go and haul it prints out 'Ahoy Matey' + Avast! it also prints 'Shiber Me Timbers You Scurvey Dogs!!' diff --git a/week7/answers/features/step_definitions/pirate.rb b/week7/answers/features/step_definitions/pirate.rb new file mode 100644 index 0000000..9e6e37c --- /dev/null +++ b/week7/answers/features/step_definitions/pirate.rb @@ -0,0 +1,20 @@ +class String + def to_pirate_symbol + self.downcase.gsub(' ', '_').intern + end +end + +class PirateTranslator + PIRATE_WORDS = { + hello_friend: "Ahoy Matey" + } + + def say something + @said = something + end + + def translate + + end + +end diff --git a/week7/answers/features/step_definitions/pirate_steps.rb b/week7/answers/features/step_definitions/pirate_steps.rb new file mode 100644 index 0000000..61cb930 --- /dev/null +++ b/week7/answers/features/step_definitions/pirate_steps.rb @@ -0,0 +1,19 @@ +Gangway /^I have a (\w+)$/ do |arg| + @translator = Kernel.const_get(arg).new +end + +Blimey /^I (\w+) '(.+)'$/ do |method, arg| + @translator.send(method, arg) +end + +Letgoandhaul /^I hit (\w+)$/ do |arg| + @result = @translator.send(arg) +end + +Letgoandhaul /^it prints out '(.+)'$/ do |arg| + @result.split("\n ").first.should == arg +end + +Letgoandhaul /^it also prints '(.+)'$/ do |arg| + @result.split("\n ").last.should == arg +end diff --git a/week7/features/step_definitions/cool_game.rb b/week7/features/step_definitions/cool_game.rb index e2351ff..afd2316 100644 --- a/week7/features/step_definitions/cool_game.rb +++ b/week7/features/step_definitions/cool_game.rb @@ -1,5 +1,6 @@ -class CoolGame - def initialize name +class CoolGame + + def initialize name @player = name end diff --git a/week7/features/step_definitions/cool_game_steps.rb b/week7/features/step_definitions/cool_game_steps.rb index 1bea4d0..c8d0a96 100644 --- a/week7/features/step_definitions/cool_game_steps.rb +++ b/week7/features/step_definitions/cool_game_steps.rb @@ -1,4 +1,4 @@ -Given(/^"(.*?)" is logged in$/) do |name| +Given(/^"(.*?)" is logged in$/) do |name| @game = CoolGame.new(name) end diff --git a/week7/features/test.feature b/week7/features/test.feature index 0ae5687..e386330 100644 --- a/week7/features/test.feature +++ b/week7/features/test.feature @@ -10,4 +10,4 @@ Scenario: Bill always loses the game. Given "Bill" is logged in When he clicks move Then he loses the game - And he sees the text "You Lose!" + And he sees the text "You Lose!" diff --git a/week7/homework/features/step_definitions/pirate_steps.rb b/week7/homework/features/step_definitions/pirate_steps.rb index faf1a7f..61cb930 100644 --- a/week7/homework/features/step_definitions/pirate_steps.rb +++ b/week7/homework/features/step_definitions/pirate_steps.rb @@ -1,5 +1,5 @@ Gangway /^I have a (\w+)$/ do |arg| - @translator = Kernel.const_get(arg).new + @translator = Kernel.const_get(arg).new end Blimey /^I (\w+) '(.+)'$/ do |method, arg| diff --git a/week7/homework/features/step_definitions/tic-tac-toe-steps.rb b/week7/homework/features/step_definitions/tic-tac-toe-steps.rb deleted file mode 100644 index a3287c1..0000000 --- a/week7/homework/features/step_definitions/tic-tac-toe-steps.rb +++ /dev/null @@ -1,124 +0,0 @@ -require 'rspec/mocks/standalone' -require 'rspec/expectations' -Given /^I start a new Tic\-Tac\-Toe game$/ do - @game = TicTacToe.new -end - -When /^I enter my name (\w+)$/ do |name| - @game.player = name -end - -Then /^the computer welcomes me to the game with "(.*?)"$/ do |arg1| - @game.welcome_player.should eq arg1 -end - -Then /^randomly chooses who goes first$/ do - [@game.player, "Computer"].should include @game.current_player -end - -Then /^who is X and who is O$/ do - TicTacToe::SYMBOLS.should include @game.player_symbol, @game.computer_symbol -end - -Given /^I have a started Tic\-Tac\-Toe game$/ do - @game = TicTacToe.new(:player) - @game.player = "Renee" -end - -Given /^it is my turn$/ do - @game.current_player.should eq "Renee" -end - -Given /^the computer knows my name is Renee$/ do - @game.player.should eq "Renee" -end - -Then /^the computer prints "(.*?)"$/ do |arg1| - @game.should_receive(:puts).with(arg1) - @game.indicate_palyer_turn -end - -Then /^waits for my input of "(.*?)"$/ do |arg1| - @game.should_receive(:gets).and_return(arg1) - @game.get_player_move -end - -Given /^it is the computer's turn$/ do - @game = TicTacToe.new(:computer, :O) - @game.current_player.should eq "Computer" -end - -Then /^the computer randomly chooses an open position for its move$/ do - open_spots = @game.open_spots - @com_move = @game.computer_move - open_spots.should include(@com_move) -end - -Given /^the computer is playing X$/ do - @game.computer_symbol.should eq :X -end - -Then /^the board should have an X on it$/ do - @game.current_state.should include 'X' -end - -Given /^I am playing X$/ do - @game = TicTacToe.new(:computer, :X) - @game.player_symbol.should eq :X -end - -When /^I enter a position "(.*?)" on the board$/ do |arg1| - @old_pos = @game.board[arg1.to_sym] - @game.should_receive(:get_player_move).and_return(arg1) - @game.player_move.should eq arg1.to_sym -end - -When /^"(.*?)" is not taken$/ do |arg1| - @old_pos.should eq " " -end - -Then /^it is now the computer's turn$/ do - @game.current_player.should eq "Computer" -end - -When /^there are three X's in a row$/ do - @game = TicTacToe.new(:computer, :X) - @game.board[:C1] = @game.board[:B2] = @game.board[:A3] = :X -end - -Then /^I am declared the winner$/ do - @game.determine_winner - @game.player_won?.should be_true -end - -Then /^the game ends$/ do - @game.over?.should be_true -end - -Given /^there are not three symbols in a row$/ do - @game.board = { - :A1 => :X, :A2 => :O, :A3 => :X, - :B1 => :X, :B2 => :O, :B3 => :X, - :C1 => :O, :C2 => :X, :C3 => :O - } - @game.determine_winner -end - -When /^there are no open spaces left on the board$/ do - @game.spots_open?.should be_false -end - -Then /^the game is declared a draw$/ do - @game.draw?.should be_true -end - -When /^"(.*?)" is taken$/ do |arg1| - @game.board[arg1.to_sym] = :O - @taken_spot = arg1.to_sym -end - -Then /^computer should ask me for another position "(.*?)"$/ do |arg1| - @game.board[arg1.to_sym] = ' ' - @game.should_receive(:get_player_move).twice.and_return(@taken_spot, arg1) - @game.player_move.should eq arg1.to_sym -end diff --git a/week7/homework/features/tic-tac-toe.feature b/week7/homework/features/tic-tac-toe.feature deleted file mode 100644 index 6f3134d..0000000 --- a/week7/homework/features/tic-tac-toe.feature +++ /dev/null @@ -1,57 +0,0 @@ -Feature: Tic-Tac-Toe Game - As a game player I like tic-tac-toe - In order to up my skills - I would like to play agaist the computer - -Scenario: Begin Game - Given I start a new Tic-Tac-Toe game - When I enter my name Renee - Then the computer welcomes me to the game with "Welcome Renee" - And randomly chooses who goes first - And who is X and who is O - -Scenario: My Turn - Given I have a started Tic-Tac-Toe game - And it is my turn - And the computer knows my name is Renee - Then the computer prints "Renee's Move:" - And waits for my input of "B2" - -Scenario: Computer's Turn - Given I have a started Tic-Tac-Toe game - And it is the computer's turn - And the computer is playing X - Then the computer randomly chooses an open position for its move - And the board should have an X on it - -Scenario: Making Moves - Given I have a started Tic-Tac-Toe game - And it is my turn - And I am playing X - When I enter a position "A1" on the board - And "A1" is not taken - Then the board should have an X on it - And it is now the computer's turn - -Scenario: Making Bad Moves - Given I have a started Tic-Tac-Toe game - And it is my turn - And I am playing X - When I enter a position "A1" on the board - And "A1" is taken - Then computer should ask me for another position "B2" - And it is now the computer's turn - -Scenario: Winning the Game - Given I have a started Tic-Tac-Toe game - And I am playing X - When there are three X's in a row - Then I am declared the winner - And the game ends - -Scenario: Game is a draw - Given I have a started Tic-Tac-Toe game - And there are not three symbols in a row - When there are no open spaces left on the board - Then the game is declared a draw - And the game ends diff --git a/week7/homework/play_game.rb b/week7/homework/play_game.rb deleted file mode 100644 index 0535830..0000000 --- a/week7/homework/play_game.rb +++ /dev/null @@ -1,22 +0,0 @@ -require './features/step_definitions/tic-tac-toe.rb' - -@game = TicTacToe.new -puts "What is your name?" -@game.player = gets.chomp -puts @game.welcome_player - -until @game.over? - case @game.current_player - when "Computer" - @game.computer_move - when @game.player - @game.indicate_palyer_turn - @game.player_move - end - puts @game.current_state - @game.determine_winner -end - -puts "You Won!" if @game.player_won? -puts "I Won!" if @game.computer_won? -puts "DRAW!" if @game.draw? diff --git a/week8/class_materials/couch.rb b/week8/class_materials/couch.rb index 660da0d..445d0df 100644 --- a/week8/class_materials/couch.rb +++ b/week8/class_materials/couch.rb @@ -1,27 +1,28 @@ -class Couch +class Couch def initialize(pillows, cushions, dogs) @pillows = pillows @cushions = cushions @dogs = dogs end - # [:pillows, :cushions, :dogs].each do |s| - # define_method("how_many_#{s}?") do - # instance_variable_get("@#{s}").count - # end - # end - - def how_many_pillows? - @pillows.count + [:pillows, :cushions, :dogs].each do |s| + define_method("how_many_#{s}?") do + instance_variable_get("@#{s}").count + end end - def how_many_cushions? - @cushions.count - end + # above replaces next three methods + # def how_many_pillows? + # @pillows.count + # end - def how_many_dogs? - @dogs.count - end + # def how_many_cushions? + # @cushions.count + # end + + # def how_many_dogs? + # @dogs.count + # end # def respond_to?(method_name) # true diff --git a/week8/class_materials/couch_spec.rb b/week8/class_materials/couch_spec.rb index 52d96e7..72e6088 100644 --- a/week8/class_materials/couch_spec.rb +++ b/week8/class_materials/couch_spec.rb @@ -1,3 +1,4 @@ + require_relative 'couch.rb' describe Couch do diff --git a/week8/class_materials/experiment.rb b/week8/class_materials/experiment.rb index 277e005..450c7c2 100644 --- a/week8/class_materials/experiment.rb +++ b/week8/class_materials/experiment.rb @@ -23,8 +23,9 @@ def call_chain end class Person < Animal - include NamedThing include Speaker + include NamedThing + def call_chain "Person.#{super}" end diff --git a/week8/exercises/couch.rb b/week8/exercises/couch.rb index b32ea96..54aa043 100644 --- a/week8/exercises/couch.rb +++ b/week8/exercises/couch.rb @@ -3,24 +3,41 @@ def initialize pillows, cushions, dogs @pillows = pillows @cushions = cushions @dogs = dogs - end + end - [:pillows, :cushions, :dogs].each do |s| - define_method("how_many_#{s}?") do - instance_variable_get("@#{s}").count - end - end + def method_missing m, *args, &block + puts "you called #{m}" + self.class.class_eval do # or self.class.instance_eval + define_method m do + puts "hi" + end + end - def pillow_colors - @pillows.map &:to_s end - def cushions_colors - @cushions.map &:to_s - end + [:pillows, :cushions, :dogs].each do |s| + define_method("how_many_#{s}?") do + instance_variable_get("@#{s}").count + end + end - def dog_names - @dogs.map &:to_s + {pillows: :colors, cushions: :colors, dogs: :names}.each do |k,v| + define_method("#{k}_#{v}") do + instance_variable_get("@#{k}").map &:to_s end +end + + + # def pillow_colors + # @pillows.map &:to_s + # end + + # def cushions_colors + # @cushions.map &:to_s + # end + + # def dog_names + # @dogs.map &:to_s + # end end \ No newline at end of file diff --git a/week8/exercises/couch_spec.rb b/week8/exercises/couch_spec.rb index 8af3ee0..4240c80 100644 --- a/week8/exercises/couch_spec.rb +++ b/week8/exercises/couch_spec.rb @@ -5,7 +5,7 @@ @couch = Couch.new [:red, :red, :black, :black], [:grey, :grey], ['Bradley', 'Sticks'] end it "should tell me the pillow colors" do - @couch.pillow_colors.should eq ["red", "red", "black", "black"] + @couch.pillows_colors.should eq ["red", "red", "black", "black"] end it "should tell me the cushions colors" do @@ -13,7 +13,7 @@ end it "should tell me the dogs names" do - @couch.dog_names.should eq ["Bradley", "Sticks"] + @couch.dogs_names.should eq ["Bradley", "Sticks"] end it "should count the pillows" do diff --git a/week9/doc/Hat.html b/week9/doc/Hat.html new file mode 100644 index 0000000..19f5df4 --- /dev/null +++ b/week9/doc/Hat.html @@ -0,0 +1,202 @@ + + + + + + +class Hat - RDoc Documentation + + + + + + + + + + + + + + + + + +
+

+ class Hat +

+ +
+ +

This is a really cool Hat class

+ +

Author: Chris Ashfield License: MIT

+ +

More info about class

+ +
+ + + + +
+ + + + + + + +
+
+

Attributes

+
+ + +
+
+ color[RW] +
+ +
+ + + +
+
+ +
+
+ size[RW] +
+ +
+ + + +
+
+ +
+ + + +
+
+

Public Class Methods

+
+ + +
+ +
+ new(color, size) + + click to toggle source + +
+ + +
+ +

This is the constructor

+
  • +

    size : the size of the Hat

    +
  • +

    color : The color of the Hat

    +
+ + + + +
+
# File rdoc_demo.rb, line 16
+def initialize color, size
+      @color = color
+      @size = size
+end
+
+ +
+ + + + +
+ + +
+ +
+
+ + + + diff --git a/week9/doc/HeadGear.html b/week9/doc/HeadGear.html new file mode 100644 index 0000000..87c9e06 --- /dev/null +++ b/week9/doc/HeadGear.html @@ -0,0 +1,105 @@ + + + + + + +class HeadGear - RDoc Documentation + + + + + + + + + + + + + + + + + +
+

+ class HeadGear +

+ +
+ +
+ + + + +
+ + + + + + + + + +
+
+ + + + diff --git a/week9/doc/created.rid b/week9/doc/created.rid new file mode 100644 index 0000000..673221f --- /dev/null +++ b/week9/doc/created.rid @@ -0,0 +1,2 @@ +Thu, 06 Mar 2014 19:57:23 -0800 +rdoc_demo.rb Thu, 06 Mar 2014 19:57:21 -0800 diff --git a/week9/doc/fonts.css b/week9/doc/fonts.css new file mode 100644 index 0000000..e9e7211 --- /dev/null +++ b/week9/doc/fonts.css @@ -0,0 +1,167 @@ +/* + * Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/), + * with Reserved Font Name "Source". All Rights Reserved. Source is a + * trademark of Adobe Systems Incorporated in the United States and/or other + * countries. + * + * This Font Software is licensed under the SIL Open Font License, Version + * 1.1. + * + * This license is copied below, and is also available with a FAQ at: + * http://scripts.sil.org/OFL + */ + +@font-face { + font-family: "Source Code Pro"; + font-style: normal; + font-weight: 400; + src: local("Source Code Pro"), + local("SourceCodePro-Regular"), + url("fonts/SourceCodePro-Regular.ttf") format("truetype"); +} + +@font-face { + font-family: "Source Code Pro"; + font-style: normal; + font-weight: 700; + src: local("Source Code Pro Bold"), + local("SourceCodePro-Bold"), + url("fonts/SourceCodePro-Bold.ttf") format("truetype"); +} + +/* + * Copyright (c) 2010, Łukasz Dziedzic (dziedzic@typoland.com), + * with Reserved Font Name Lato. + * + * This Font Software is licensed under the SIL Open Font License, Version + * 1.1. + * + * This license is copied below, and is also available with a FAQ at: + * http://scripts.sil.org/OFL + */ + +@font-face { + font-family: "Lato"; + font-style: normal; + font-weight: 300; + src: local("Lato Light"), + local("Lato-Light"), + url("fonts/Lato-Light.ttf") format("truetype"); +} + +@font-face { + font-family: "Lato"; + font-style: italic; + font-weight: 300; + src: local("Lato Light Italic"), + local("Lato-LightItalic"), + url("fonts/Lato-LightItalic.ttf") format("truetype"); +} + +@font-face { + font-family: "Lato"; + font-style: normal; + font-weight: 700; + src: local("Lato Regular"), + local("Lato-Regular"), + url("fonts/Lato-Regular.ttf") format("truetype"); +} + +@font-face { + font-family: "Lato"; + font-style: italic; + font-weight: 700; + src: local("Lato Italic"), + local("Lato-Italic"), + url("fonts/Lato-RegularItalic.ttf") format("truetype"); +} + +/* + * ----------------------------------------------------------- + * SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 + * ----------------------------------------------------------- + * + * PREAMBLE + * The goals of the Open Font License (OFL) are to stimulate worldwide + * development of collaborative font projects, to support the font creation + * efforts of academic and linguistic communities, and to provide a free and + * open framework in which fonts may be shared and improved in partnership + * with others. + * + * The OFL allows the licensed fonts to be used, studied, modified and + * redistributed freely as long as they are not sold by themselves. The + * fonts, including any derivative works, can be bundled, embedded, + * redistributed and/or sold with any software provided that any reserved + * names are not used by derivative works. The fonts and derivatives, + * however, cannot be released under any other type of license. The + * requirement for fonts to remain under this license does not apply + * to any document created using the fonts or their derivatives. + * + * DEFINITIONS + * "Font Software" refers to the set of files released by the Copyright + * Holder(s) under this license and clearly marked as such. This may + * include source files, build scripts and documentation. + * + * "Reserved Font Name" refers to any names specified as such after the + * copyright statement(s). + * + * "Original Version" refers to the collection of Font Software components as + * distributed by the Copyright Holder(s). + * + * "Modified Version" refers to any derivative made by adding to, deleting, + * or substituting -- in part or in whole -- any of the components of the + * Original Version, by changing formats or by porting the Font Software to a + * new environment. + * + * "Author" refers to any designer, engineer, programmer, technical + * writer or other person who contributed to the Font Software. + * + * PERMISSION & CONDITIONS + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of the Font Software, to use, study, copy, merge, embed, modify, + * redistribute, and sell modified and unmodified copies of the Font + * Software, subject to the following conditions: + * + * 1) Neither the Font Software nor any of its individual components, + * in Original or Modified Versions, may be sold by itself. + * + * 2) Original or Modified Versions of the Font Software may be bundled, + * redistributed and/or sold with any software, provided that each copy + * contains the above copyright notice and this license. These can be + * included either as stand-alone text files, human-readable headers or + * in the appropriate machine-readable metadata fields within text or + * binary files as long as those fields can be easily viewed by the user. + * + * 3) No Modified Version of the Font Software may use the Reserved Font + * Name(s) unless explicit written permission is granted by the corresponding + * Copyright Holder. This restriction only applies to the primary font name as + * presented to the users. + * + * 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font + * Software shall not be used to promote, endorse or advertise any + * Modified Version, except to acknowledge the contribution(s) of the + * Copyright Holder(s) and the Author(s) or with their explicit written + * permission. + * + * 5) The Font Software, modified or unmodified, in part or in whole, + * must be distributed entirely under this license, and must not be + * distributed under any other license. The requirement for fonts to + * remain under this license does not apply to any document created + * using the Font Software. + * + * TERMINATION + * This license becomes null and void if any of the above conditions are + * not met. + * + * DISCLAIMER + * THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT + * OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE + * COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + * INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL + * DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM + * OTHER DEALINGS IN THE FONT SOFTWARE. + */ + diff --git a/week9/doc/fonts/Lato-Light.ttf b/week9/doc/fonts/Lato-Light.ttf new file mode 100644 index 0000000000000000000000000000000000000000..b49dd43729d456e489a8f4c8ec323a47ab8b9ae8 GIT binary patch literal 94668 zcmeEv34B!5+4nj3&Yd;0Z`qT{OlGq0$z;!vog{>8WMvtaK*AQ5fFfX3HUX`QEbfBh zidIVrAd2`ZYHcfRwffS1@9yIXI%;o*j&Z{{$p>tN@_uScw<}BE(x@;V-_YtDFVb1iWi*R3u z>wX;NbLOv@{prtocM{SZN66+aJ>Ao14VQP<5c2vH_&uiwH?+O7OL6@W6&JbF3|<+=IW0dLXE#PePrHe?F3q2E77q%trcz8nis_?xLqp!xF&IS;`K>6NqG)suHSxSv`CFR#Hn8!>vR+tRlMMQliJvfNT5k z?}!6OCyoh#3_unjkGM%bppb-+5**8ipC*;Vdq@?a8qfr20W3gUeSj5!)qtze)*8TC zz&gNszy`q8fQ@K(D_|R7J75RkCcrI#JMo>n@Qu3xy8-tA?giWjxF7HUzV#qr58xrd z!+^bjeSiVLe!v01LBJuv)A-&qc<(6Meiqly175`WF&tmUxBiB{z5{p zP6NKiyBD$bU9c4cIyw#-Iu05-4jMWR8afVoISG0>33@pRdN~PtISCp#4jMQP8aNIb zI1U;(4jMQP8aR$QK8ZO#i8(%rIX;OwK8ZO#i8(%rIX;OwK8ZO#i8(%rIX;QGJ&w6O ziMc(Axjl}#J$Z57z7v%v69KfZ1gHVJ;pLde=P-}YVIH5uJU)kce2%z>>qs6Te|QTi z99}_6aNaSzhI9@eBa?BQk9QZ~-9Eq)oUg!f6^^TM+=%zL0=5CR19kvz0^9<)6Kx&E z@kPMPIR6`-e+O_9@4gFoAMgR-W8C`;a2oI>u3hMLDWutJ=y@r6UJ9wU91?9gB-(3` zX0HW$yaPQxNeYHvK(D=|X!sTMdf4eq~)>ti_o8~XkZ;3UTJF5o@j`+Xcg0Gz`4$N23tz-hpj zxc4>Miw6h%4zqOv9Pm351lgy?Q42oO0}QzD0Jw**2H(C64mbf0coZBk01kMWc<{Uz zFdy$M0jvUCg=f|P)&kZ6)&n*Gt_IwRcb~@bWgP#2HeLlB2b{!v?*iV#H{Zwc1HdVq ze~IJQcs>WcY()=S(YsdA(rY9Jzu57M6OaH%#{V*K%mTQFuO+#7I}hW_A3lm6_oKJF zKof^R51<9Ku>fuK0hZvrAAGqCumaaBaa@Iat8u;&ZEXc?18fKE0Nez)1#m0czYTCZ z;10l@_{LG(e-ZF9&i{t@-vOLNTkiti2Ydkd823H{oCbV}Yb8e0jox&lH{Iw#H@@7B zx4ZFnH=gds)7^Nw`$sZUS)iqBK|gh%pE}Ubwcz%n;P#{7_DImuwczj+aPylYJCoR@i|cJbD)nGKp!uFK3)KQ zyzs4*`2gO35U>aE5a40JUcf%U0AN4h0N^0t5P(tbvp7BvVAOjI$G_nl?*KjqdABhs6253nZM&%%S9Ahv}J2=`2NC0F2vHqN0z3@Z3)lx30PF`G02~Ay0vyGA&*Jzz;6|?H?-=Ic1m@uc=HUe9;RNR41m@uc=HUe9;RNR41m@uc=HUe9;RJYR6Lj1$%*6@J z1*66j;H7ZzQaE^N(~ktdCh)^6;D=Yh53hh9UI9P60)BWIdg%mc_Z86YE1=z1K)bJi zc3%PQz5?2P1$yNK^vVh7l@rh_CqS34fF55VUFYPgZj5a8LbiJGwW~$h>clYtkUX4= zuU?I>UX2;0n9+F5Xgp>#9u`zFWUd!7*NfSWhs^b2hT|b~y|AFlA$Pst$U1OjKP;#@ z;L18!P*;O1>%f(DkjYF_)`1J_zEw7F#5-F7+W^}EI{-HUZUNkdKHUx24Y&tzFW^4F z{eTD1mj?lR01p8k2J8j=0^i+-;{aek-~iwt;1J+({PqOkFyKi5lj+Z(t)uwXv-tga zz;AH>MO+`l`QOm@cK{=D{$ref1~?7)eq{bdEBMD`1w*&N9##w=8RfHVfqpv)`M3r0 z@d&J!Sa8@8aMr!xr~}}rQ{bpm;HXpJsN2Cwr@%$0z(Ics_!=j{EhhuMh8wJiA)Bao>_z##{~AqT)A2f!f*z##{~AqT)A2f!hx zz#*r=A*aA0r@$enz#*r=9jCw@r@$Sjz#XT+9jCw@r@#$Izzqk$38%mbr@#THzyT-0 z0VhZK3R_0`3R|GpPJ$y&f+J1_e1#+bA$CkJ<~js(-H*8rfqxnTJ-7mM?ZsTLz+Csk zV%-9%x<#CGX4g1yZ^X9oOIE*qjAy&`L6->=w|A7xa=0dI^EF^@3jd zK`;HFmwwPoKj@_&^wJM{>Hk)H=-d5LFKEdNTJnOHyr3m7Xvqs{y9M;*1wDB|PhQZI z7xd%>J$WH*w?Nu%fwbKMX}bmV)erh&ekrq|yr3~Jr0te~9pweBc|mJl&{_!m(hx}9 z6`-{c_@yDx>nlKOUeKBswB`k^g+K!LBT}z}9nQGU4qMm>NC0F2vH+E^5UK#xfF?i- zpcQ^-2Q=(tzyiG62Ur1E4cLfxwgR>RwgYwmZUWo_cmVG{2-pL72=FjqFJK>F0I(l$ z0B{g+2yhhdJd5M=fERIo49CCW8}9%<27CrM4fx?iGXHbEXFcKqkl6q=paZh1bNDnU z;3RzfBk=8yz<)Rb|KSLHha>RokH8;40)PAn{P833$B)1VKSE4sWe-}}gZRfuw6q6a z%T{LL=7TYR>ODMn3gCd|J9O?%1I`_QO3-x`pc>EwXaQV>`)dGe0qX$k0UH2U10KNd z4+8c89s)cJ*bCSP7y#@C8~_{y90ELzcb>)ZdB8EiNN>KzeF=KwkFAWvOibv{_e)zp zyixyfw8O>xo^JM;)FL+Ty5eJJOZG3Mn{jj;<`y1y)O8qXB`opG* z|6CvK;>dn{S?P;&c5%)w)=2zsRkQp!?BI*N{Ql~fF5>e0!{z^dJj~ax2)FAYu4y6xuD1E3y=|eq2 z|M!$z|Nb#^(S{wnM(BrW!~Xbdu`Z6_|9w5&4?F+z!|vV1Oy76O^j*Z(cfr<=bCvPM zIsPtld=XpU1zSH(j`(3~u#3I>_xFLg$i3f%d;fDIA(Sjf&PPeG#|qY8>)_QJh#eK( zPV8e6k99&RB$Z^4Osq=I#wxR1RO9870@UIakz!Qim6HlmjaA&Wq@Fa8M$$x@$t2Q2 zI&SYtfovpO$X2qAY$rR&P2^T` z8@Zj_fjYjOt_mca_{p3M{ot4PLQo(R+49p4+F3$1YqP zu15Cl;_(I#3`u8BU)oKa;@_nCy>q6M4DoO7(q)U5l49|1d0;oM^E-R79logeP3-<9 zo^xnT4m<}3?goorq9iGBU5w{SiHa(ylB#GBRZ|VsQXSP(12y6q4?vD*q$G$+ajc^< z{GA9$Ldz>fJX6eO8JSBKV{ZRU{z6_SZ;&_13Gx=+rI;-ae@(=K{$N`(euySvd_=fZ zz@B6@*ni{?k#hREoaeMW$8i##<98DBNCWZKif`dh|B8k>^oE?}q&2?F==HMw^ucIC zZe+jnZwVW4h{l(2;Rk*_zRLa!#~qw;P9o)$>;^9Uzp#r7|6?uu>;HIQ5pzUjz>Pwr z<{;3s<{U*EFfQO93e3gluP)VvpZm0o2)R76`iHYa9q6K`>O4>;KIqsMO{+LF*WIBfD=Y-9` z-c6wXyFvTALHGB7@*e=*KPXcEBjjh~QSx(ezyNq)KjzYt|EU2Zymy3b~DLBGDQA_ ziTD~kyPAALW`IZ5fh%7GUon1SoWywQF)AVd1y1{%e8ISiNFn5=eVJf2` zG@X{yX4*xk)63}=?s@J7?lu0YXj61(bYyf)v@<#_IzPHR`XO74%^AbRNMp1yhM3Tp z$e6^K>KJcKckHj6y=OV>#mD|rW43ov2@OW8<7gA@q+WU{T73?!9!IOj=-}w^=xDLk zybD^@k7{+6*eYc^{0)CG{MPW(!%q(XY#3|NhgS|S8(uuzHC*j8`%FIRkmJpl-u&&G z$KHJL&0oFwUvED4=A& z3g5yB;t>ALKNs=)zl&eC&tob?-Aj;rE@(?PbmYbXLV1ps);_9eX!m3ioGW-Qp%RWt zW@8>Xo^V}EZpkGAc4AOS8;MjJR7T`-StF6j)Uxt0PZoQN<7v-#d9A~vF38vG4GxDr zDcqq9PNcRomQ#+Ca?$Ap88P9hCH9oklrWh_wlc{Uos<-9OY&{w?;f0D=eq{)kt{Sh z!u3%F%~|e=1<7%)kR_Kzr6wd~m!&##U1n>9RW*1tIwd6M%n%vMlIX8E5b3-y$c;>m0-%Pd;O}4);`}ljg zc=SaHjgjPuH>%~Fgiu<_K{nDxftT>;7b#b%2vM0;X1x|qDjibRBbkQc`>9lKJAX=L z3QnWf=r{#kHgYCx@crdxz0s(@nL5s&0S~Ppq(Xc<2UgY<1KAY93iOi<`iav7aT1-H z=do2N?NCseET~MY;sin3sFZV3skV&uPfb8HPIiO+CXouA-|$-C!46LZA^CZ^ZhS2# zD#rXyY|Bks8@mAuXYqM!P$wfEtTw0p)GR%nY+h z#%Ic;cme0KSewzteK9p&W1y|RS6hW(eZtfO7(f4~rXi^$?v*x4h(2K&O_-JtMce)= z72*yy{WVfDw3#L}`Cg@u`zrK0nS@^FTVOHJ$JKg4q14fJP8;27H2Ny(p-8#Jx5#Pp ztqe`7r0ZZy+~gaUD5aCZah0$@cX=X0C@+bpN*-jatQ(i0kx(fQ?dPU)A_X>8z-9)K z@RGSis-#LOV=hifx!JHChihS&6e@{)YsKYORcqpzP( zR$7pklkL#kL(LAI%91FgP?sA#7b&qCLA{{e63S31i=f(!eYKr8nMh(wJUh!mgSddN;=FF;S&y6m>vb#8|d+Rg>)oL87?wd+1N?nkvWXiaR z)M;%s?x_3)cg|K(t=d8F$Y@zm7}c^1eVaIdg~7$FVQU>miQ5>Fws1Z6xt16XManH;iDBJwwF278&x zh#;uTm>g_|95hSICpE{##l|?};^IUZ27EBwFnlpymjxu48Cc28DCR^IQqUm%7Y}j| zrZvqkEMCx%lG3oCxOjeJYMs5PF*&)R&~7hmNKS4nvUA;1y{2qXuC|m*{*=}@=IN9= zdm)}~WKa8#lFYVs?a9gQ>)P7acO)lwtZ$#Nu*znuS~y|Cf=ZjMasjAA2r3x^e;df9~)nLJRQbVV;zyL7l%tq&!~=QiVp~dk8OukedzZ zNSYae0(}w*&?l7&%|N7CD5s>VA}z%gYl|}Ilyc&s9=SG=0&`X=qcW!}1?;VXQm|No zJ2#_14JA%Bq%Ycv(z-TS4KBN>@ue zeKI*)&IJXzxw2xK&|$D@Ure5V`E?U(w=Av7>ReS_Rh2n)jc;SY)TOzVs~2=Rec4i> zbY4xIup^~@PA<<2L8{R5!i3ne$?m4@t-k8&+s3Q4Q=jkh{Y9>MA*;Q_kum++&gwM_ zTEiN4v{qiyo^ke%6P8SHM(5S1(q{x|c>T16Oomee8BS%Q43F}J%Yh`wZ}vkY$CL^P zl5O0qbns(@_IXJ?T0V>IJ?Q&8{X$^-NJxKSkkhzCqsd@}($rEv2fNvYOv(+dxKyS| zn9%Eqi174INKnfzS-~xT)7O1OrPRtom%sMszbsq!+Mi!r9xBr)RZsc4Szl+M?T1IV zO|v)` zO4Sj1E81SkU&-AiyaL}n-IJ0I0q?L!Sqyr$LN3w37X(h=AWRs+451Y`%_iAlp*(0M zJ1fV{oKF{s19Xr|-ByUG6k0?xVJ^sup$e?fc#vCBROW(Ii=+{h_6u^AS^GrD6Pi$i zF+}rZ=wY2vBbQ|f@*tD$iO?ssp?X7z_Hf9PT9aBT>jM#X~U1qvm{%h@jqo!$_te^s251!O=HELjg<7g}0M1;PmvByiTj zGlX{FhQKxA9>>O{A}T%mPiBIawn4ku^|oxAp6jKL_!{edP4s7y^}eF2m^ zmm8y%OC`#vs1S)%tB6gVWX~u_i=Wg~7p;{m1f@jj%Jw)oE`xn@78lQDbC*FUE;q!0_`F)?V%DrzHW{w{g6-o-7{y5f^fM&b2X)(;MQ4Sp&q z3CR3NPZ&hgh+yY=goOyqsd6UFCB{T*;uwZfD8#v;m_nXY!-WD}Qqr*LvEJT;n-zR(9+V)c2p+i*1&U~L7dg$|8tE+GQ z{Go?W-&$35>uH7&_`*b@5!k+q2_Bac7C7v3h*APms0SSlDuY=?Buz|)O3L+mW2{av zCC1wHS#AnhnM!FUqZ*n`D|p{8l^VSwg5F$1vxi(Yl2tKI-v^4IINE#WFt(nj@TG~w z06b)nVoyN|mGCNjjVl#!2Ezo_21AF`FS9|bpixfEL0l&%CB{2qOh%oWWY7$mUs#I* z0P;E0mSKsYHpY^$=10tTQIOkR#XQ&9c;lkd^p?INUqy6+1$_7%$IMs044$||St6)ow%tfGEtjU#@1 zccGoiyM8(&QykOqClU+BR81y%n#!pRhLc3F!o7h;l1T-rOaK~TQgP5s0+GPCp*FjmeOmmzNw~IAv+h zxJ8Yr6vTNTv!KL0c9Q?THXZM9?|=2D586LFDM9=0s|P z=!6V{{9%fgX3E%%+W0QYt2OVo4s~mFyn=gvQY*&~-Of#=C$dy(-(0#~txDw|dRp%^ z4YGe~0s9Vp!k>bEOC=spkw68SoW${%5D7C8ctHX$1y(H)cna5&kP+8XBH@}rZf36B z6lZtF*<)lD@S@ai<3%Q99^!f2`!&9w)TA;OynyGzB79_0*`@A<_b<+`U$=Kw!Q83! zk>N_CI(WSX&lIRmb;!>I4w9j#a42q~E zRVEBwA`i2SbeUTAA zTIM%CTqC?Enu?K}@q%lveD(t?%9EQGmlu1-#pKQ1F>UIOd3iCV-s1AbO)2Fo9+=&@ z&YM*}_lm;8E9RDGO((XXJj?E$<(@UGw{Yl9D_5ORYxh*r8z+DvGCEh+)~{|$ z$)CE6jpYXD^&0+pkd2)b)IMs5+iJ!LL=M(6sv2R5Fpm+BBbtQiKYzDlAkHZ&+Y3wp z{aB0OhOrjG*sHPj0bf4WToC)n2l|*ysy)g$XargsLHUxA{=$M`svrFg#BtO-JZU5A zC#*Ea-C}eHcRThcB{bQx}Qq2 zA!Cyg0w^bZF40=a`D=rAp^IMUO7&sll$J)D-=54Nx4on zjv~86?xiRAzw+If7#Xp7A_G&@fsv23>hyXYOd@92F&pDvzF_cK23%4NT~mWTokgGC z3-n1tSf4~IAO|M7i$Zu%^VuK`mkr;6 z(a|_tSb3v2w{q1KcWQOZ_)IQnoRC)4T$PqkJvFm*dZ|;UmHm7y)d@ji87^x={o=~H zh0P`I+?d^ag!tn8!rB>SIg<*a?1}cEv%O;`RUF&=VS|(xGLdzePG);%8mW?-1Or8x zO9d&kq7;US6lRJX=82r?6{6%hWmk{_?zIZ}G!~c;WHMnQM5wHp$OIYwy(3CG+9pnK zm|j_4n4goCp6ZH?2-9n20;#9$zU(AvzHB#*&-|5}=_)h%cvgN;_x?9(Od3bSt_tisZ9TTdG z%?-hsF`YNg$uq?jJTawhO0%nca`vP>8(R%}-#sbgBa+9j=?+Y~ciTh~eOP4g?^ZBj?`>w363@(}1Omk$i@yl-JT_xM?t*$Hv=c%rXe2tR*V~QJu&r$@0>S$Oi!_tkD2N$KTXJ@y#vt4` zH2z+RNmI|2&Guc-UFLfO(PsQ#8$@sQb*ps3hQXEGul0$+!HEWN*Gu^JW%#xUvEu|% zG;_x0j)Z~3 zzTXNP(x$ARl-tujP9O5nwVl_`%I5AJdT7^{vU#;}wHZx4?(1%ZFhKqNCxR9{nZfiq zY-*@1__E+gB%yiI15ZIfl3+G`6H)YwfwB?NkGye0Of)m36|#WW5DOX;<2UD>E6yKR z1mUrGk6(YmrlNXNMJ)>}uRMNRTkB1~ zT~T+*tkwiU@sTVswKh9q&S4s~dlyw6>9r<$5|V?=QL$0xj(a}Xvi;QEZKk+n7<<=z{7RM;?S=xFoM-brY5RQn1N=ZPKF zzN8T@9*b!5Jk%MQRuBb?IY{B}23of3#dg;Xt(?OeeR$H)a(|nQ2FgGKStHV7=W z0QCqW5Tu+`;NV=b4?$l_rIKd!-BiYcej|wyMg_64xkjS8eaOd1zqPtb?*^c2)xI;J(B`%KxPO0erLpe~OmURGj z$ViC7YU|URG%oA@=0Ry31OV=g{Mq>|a%) z(Q3jq3XM!IOPjf4HjjU64w-cLVek)QSY}I0QT)I{kvuH6F2r}yZ3!%O_=tMFE6x?o zd_;ewl|^KkBZHV56ob=+P^0KLX42LcW4P6%;tF(OrskpT#s~xGi@T;d)DkrGfXZNv z4(^&gn>)iRG%BuEryg2ovdE+%rlEFi5I0MuQwc+@=ucoy`2Pl81QHD6GT^PyCYUG? zk(dkKfG7wW&!oBBor7m*x3w{ZiaaK*#%VN(^~At(U}N%=Xb(bggvC?DCT!+xeH_F+ zwOD~jSkeW|^<_~N*xD{?F|%3DfNjNJrd3IiX-kspG*zAa(94=oU5Iw*DBn@3(aX64 zdRut3E=t4yw_18;g=Bwd#GpMilz%-U>}-v&L8>0aKM**Y#*Az{z^lJ2e)O7c78cc^ z>~qd+5Eqi4fgVtaMyKGn@}22c&0r7Tks)l51)a@_442$}W`#-eo5--U9T+W#^-`Y- zPk~QaUSpI@gG~OnVqC&gOulXVYVXXMd%xOtPR3pS`yI{AJAQxph@AW4@Eq`$YWLmX zubw$i`o6e(>#5ysZM#ox-S)xm*4Eu0VC)>DGf6Xg8H6eqM7aee~#7oPWh&E*e0Cv5oB zucq9#xTGm-^6Hwq9~Hm7()UZ@4DiBy_!f_n#kvqHm2gP6g}`qK1$su5SD-g$#;tmm zRtselH}4yspzsM0FpPDwS!024KO6kZ$f595V#CsEx~SC@9prndeom+n5)&O7jHfLL$O;=q1Y3|%2?IDDXSefKz} zHe~2F*#E^ALtS#q@|qo67&_Y!A9@n=QN-+_A_R{kFe4n~4n?4oWsfAVGiHO$McZDq z^2PZ3Bms{g4YFXQr7Wgfv=jIs;AE}o7Ss$D1OsbpZuAW+& zoRr^l?cES&b{Ys@8TFRkDA46JxZ4-WOsXWCZ$z z<+OQ}42Z&96g_xGMr2SZ0&ory#v=Zbg+A?UUy!h&?ac3lv^IY`&klbq`2y{P5W6Ru z$t@<4!BBxn8A|1hnjo2!gwPPduU47x2t>-n(@2hcZT7B31+!~5Kfh|#^P6kt6!h&H zUv>GOnf$!LZOeYWqqTL%ub1I``^-I;qxV#_m(SpvIuh!!B2okS39k@x6Ec{of`n*D zUS!rmAQmeN`7&K#*EYg9rYDR+Dg*tiVAM1W9qbY|XoJqqP07khl5AJ$&aCi{Nsqzr zM*A*?8@ojY=|oY$Aj(6ABp4_beNq9l#PJp8+Mbio?3<%5sU0algsbfONfC0|Ema7D zQbwbG=L@2y!Xy=FOUVU)f~eRJl|t_f0{+!p<%;rG$i}m?WE3I&^ZGDJdj4 zS-gS>|4ndMSn$~_-~xS>+>XAYBF_`51p>|?gT>E)jkuV28$4tM^dkB;qDK^d)(J$? zIGr!JTcZ}}&v=VHk}Qf6l>H=-kXHBAMt%f zKNLR1+pu@o$beM1ypY1E6!m|J<5^-1&BIhe^G2AxVq_Xfj-ZdwV!h_rF^%5$mGldT zTKDy}I<*7UZeJlk^z6C(5ah}{w4ov8G115mq58uw&*bqgEw|96kCqFM#GZ*UvWh;4 zc=YLhu}}VJh~J=PigO}<=No}+zCv%b#bBA zvVh6qO@pUiEQj?^NvmWd-2@q|AR!(LuIW4`q)Y@k5UGSH5Y^Ep8d-(|olB*AgM(GK z=LG5He-w6T3?IpqLrka7gB&m8KPN8YhF)!qgcMKaIjIby9P%9b7Umfs?<`}nO;MIx z%UI4ujoKBdbi_+!vES5`ICs1|COSOSYBn%$5z$|zHqnOU)~IZMc9xR~dzSJFWCZkn zKSG04G~9%UNSP+Sv3+(?rne@!`sPm`xMW#%cV&{+q}10xw4mYAiE+M~{OQfr_Mg7E zuEds89sZLzPm(pVczSus{Dw41&!%m0X>o>#`i9JD8=8kM%??Q}c0d!^3!Aeu#;3B1 zWW;cXPxBvw#_;bQk+rpt#=?G3hXm_+i6Ajhm+en}! zq}^zYRHlyggr1 zDzz-sTG>7)cN${Zg-h?7KYd3oKUI*0MTZqFxvRVPuD<-3xEN)0WR}xhvF6DYOP;v8 zwm2Je)rNlG6qu{UfoYKlpmWjmV^bFa!ql8YvQ?ZP(oCgLMPjjEFh(uZX^M(Go>E4>-^-aah z7fnLIN^dO{2 zc`35t2rKxjaK=oG%SlO6qBG5v27)r`G~l^d8hb9;iLBd5EN1L9S;2rZ8_Juwke2Iu z3)GsS^epeyEwu}4la!dJ;EB`wa%bOv>A0e$_syGdS%+J}U7ysjh(Dd*cUP}PXI%8) z(tKOIjZIdprRwTue==`iO-)r==jHVcKWR?|twn;#778~bS~hLJP75+)C5ARkRV1?v z0%kg!1{6C&%xNJ|0@bMDxW*3%J#>wFH1KnWhl$H55~VlW9I*zQ!UD!|L4aqD%#J@> zjnN^I4TJ3YYa$*KRiMxJd&Vn zASkUR%?gYR^ArfAgh(J67*^zj%6tCtwQqc*!xP@rNXg{R##v3XCe)5Aam0iM>$Qm1 z<OG#R+D3Q^^j`Ew#2yJ4n1NJj3tYX1?hL*qqC4LgrRgKUCy&%a(-yhePG#tJo zJThy_RTEn)6VeK2{$$NhW)>DNyLV3S9rJQ}x-trM(aDij6Eml*rT>-QG;i7ROy{_i z(B!tuo9fm~cl)mM%qq7#DrT0H%&KrWDrWJYM@QH~IF)l+PW7_pl+fVPsKgYrRAxwS zEGu5po}D<}n=^4ql-`qPPDzf_#b4c3y{skW>?Gf*pq7A(J{rXTuN*y zDr%>cIvk}_P+40l)`L*2VIcgYkPT*%>`5>|3^UeYA{rboY9?!$Ac1g(g@@Z_Vz!&@ zELb)oZX-Ds9bgIxqV}$76+d6tw7Mx_+7)YO++PZjx@l5(){ISULuRwZIND%{ z4%TS=M=k%>U8mW-*w`5SzI8?lMWh#-3a*{aIcuAVFkJ{ z8dz2(gr$QS%@8BP&W>2oD-^rn_pK~Q7G!@zry>hF3L{c10#(Z+LK^G8p^Inl$Z8)K zt5l^0$=e$xGrpm>l;ueI`!O$(B+Zkop`+tbEI^9+VW@TRs*D%u0ADOg4_{16DvCXpo2o7w5~3o0gpSyl^iD*Qc9dI*@0 zBEqati6Wx3c2eqstE`4`Ei9=B?XA5RFp6JqpTM^ny`p*!Un9-T=> zGP{r=H&Ww2R9h7PV?98`ya)Q>_CGLh-UG{uik3YvuVY~AFM4}vTN4NyOtIgFTHE#tX)gQS_h8Y<=e@hfUGwY2g{5grbI$R zOj4ME0UTXu>M!<<- z!@=L=E!@>Rdut9Yow=(xZ*vE;7w-1$6v|YZTSknAn(@9+K{jXd(3h>FY=$=U`zG|8 z*{|rgfeO56zQQgl^$UU#lhbbv`LP`chkcX%$ykfocIV6-BogUZGv_96=_B*~M$Via zISLx?yAfti&QHZ|@8;h+bC}b&&-R--^>vFv2B*N%(KJ<$SULed!rH3OQR@yqLR5=b zr5xll0=q~_ai}K})A;9QHy8`Wa=05zg6)pj5waY?aG;jmFTFGLS}IT5xh%OZM$PM` z7F$}>;v16rw>0{fR%|pHN_BFj{F=2xh+ZJ$idg+=&?eTHdh!b)NxwCA1yz2&swqF$ z70c3L-xj;_GtGs;EABa&R%Op?F3jmDv8UC~?3r1gmfCSubMH-sR#YXcokd+`C0>sW zKlS3Llu4J>bzNJ)_h>?*LZY%NoT7X`F3$Ys z;_MkUNmV7bH+xOH=3VqsOCw1?SW9HLqr z2jgX=o(|po*wl zT*V=#yaI_q(HNz4Z};NsRGJ5asalmx^L)>nV>2QgS}$Xzew3&TQvS4Mv1+ zZS7$aj`P=HA%?>b;M;+i0Q)o(|M;?~N&GPZo1HmyV2DYNb*TR0>)n z=!2^Hx3r4EkF5!2bE1XUtJG+PBFjyLhxm7qZ)Wi|6AG8b$OFe%1frbjm;_t=NPNv= zH3s5Dh-x54A|^wOtWJ%kApBtomJzXx*BJP-GOPy+l2et;?6SzHOskM6$4qrSq{92 z^~@Sf1G>zj8CoQ30&%vuQE|3_o*x@#qnmyAcCj# zQJBl;7@mg;2&@S$`{NrZ*;Qm^t z-o#I+Wn(EpOzUIBw5my_CoREm^&#m3riRCX_#QkZRG$fwi2++sB2;;b3vx4)^(IE` zYz<3xz}RQ*KmptYmKpP>>6z~kD8pl(0Z0dtIe(dBG52Rne7@bDA8#>QjLz!bQny}i zORUO_Fjx#B@!1g(+3_JbjmWG@w8{1E(%xz(9;AnD?s!X)CEjgw_w@AU7WGU>Oi%?y z<~F3~&F}5ajxA1!l1Zadi(<2T=g!YfZ^(@dQY9o#=qbwW?Lk2)mHKwVEBp|)SfJLN zVNZ`#AuCNsk+hvkYiorMzxoA6-|PE|3l?#c?SZi(piB|(p(2B&qzKeG^U8q4iD-hE z#jHNDysR`kGc7qYp5-1eW`+WBAp!>PF9P;^O=77ctI7bfn2Q-G+7KNmGtfs@kDx`T z7(q+0A1%QnXi?}!&|-uvCNk%m`Pqc4q9i;NSx{||5^H~>Xp~s? zjge*sJQ5bok=X-o39pJRO0d>P7q;hS&g-3#=qyOE(h1RpZMj+VdS-C$u(VQ_dunBz zE6p|Pl=(&PVBYS8PF0f#;$+Ih@8?5#qSsI`;v`~eeyBmmLc;#_mCQfQL>Va7SE6#s zKN(OO)XI%4ul#AYYord#mF?TfInOVy9Qu>w@2+eOmR*{#{L+m++&RqiZ%N)nB&C2= zkt09Ih3hyuHBw%lyv=h|zqz z4Ppj`(3yxdA>72u=k@k7qyC<(Ik(QP>u)QzI2CHW+LT<}T3ElVA&$PGSNlq;OOT`B zjlrhDoET3=#0%U_S`&3n*}1GN*3+715wN^BB`j;onu)$Yxm0@J?>bf_N+faG@Nw$6 z{Q4|f$>{A)at1Yv<9;uIs}sl1%*~xylbBe;j^h)#JK3WdxA-5uIq)j3Ve0M+!i5d`& z68gi+PnqmyMi-OcOo9)7>3ePv6*icj&BLqtdB|f_V@H>9p5kg~xz2{7U0!o4t54s?tkivRW4`UeKD=HOE~Mu-k|3c9pezXC_w_ zJBk`RrzCdN2r6|*WJpwYr7NY}os#CRoKoDp((as5G1{JwDQry5tSd-M%c|%ony@l9 zc4ke^^xCBC?4bwa$7LrcB!)zLi;^qdN%1bLb1K7~OR|rP5!ysQJG1stGc0^H%L376 zG11H{c_YqnV@+7PZjQ=OXnNT*EZNzb5{f@D*fIk~qu1@hF3ll|eL!Fuz2LUSlHy ze>oxyU$Ghyd*r|=M9D1TrUG({fpxnORoK6PiK<}iU*M0%e)o6HfxQpD`zJfF`9Vip zLQ))C-x6zMn;$@T!6yy45~F1$jIV&D1($=Oh#ABufyIG3$rQAsQgUwk}*6uur>bYHOr)1%L*TGpc zAKQuZf;sy>-L&cSzMh_ar#Ef-bl)6$2iBrR6;zH}e(&sA_g+$}jffAksY0Vdvu9k> z)_KkJ%y`td7pBt6g3{)eb@%u_w&kWLn(yCXv?cIW za#gw25v(@E=D8f>(xbS{x`~z$i`tr&yljSVA8ZHHCZRkx%oT!UFNeKj)^m^XSHrK1 zCGvq-Got>i7Tzc>z2#YjKC*WRx_`s1TR)A|$quL$%Af->U8H8r6^Bx{%d|>ukjnRG zlR|Ft{Ye#sOSBFtlEstp

FsulxL_Yn=fqW!JSYn4UZz_VI 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 literal 0 HcmV?d00001 diff --git a/week9/doc/fonts/Lato-LightItalic.ttf b/week9/doc/fonts/Lato-LightItalic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..7959fef0756e905627298817d86513fdf26d6922 GIT binary patch literal 94196 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 Sv(kH?wp@?o-S`p3*#7{ysOP%? literal 0 HcmV?d00001 diff --git a/week9/doc/fonts/Lato-Regular.ttf b/week9/doc/fonts/Lato-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..839cd589dc5eba0da98b43451b4ec6c328ca48b8 GIT binary patch literal 96184 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

ucu-&%9a>XM7550A4YWv99%x~0LA&?HZ)eRytM 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 literal 0 HcmV?d00001 diff --git a/week9/doc/fonts/Lato-RegularItalic.ttf b/week9/doc/fonts/Lato-RegularItalic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..bababa09e3fad2aa3e788898e7753ff8d80a8e8f GIT binary patch literal 95316 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 Zdy6Gm=sD%RPg|bPWWD$h#s3t#{x=NUkZJ$` literal 0 HcmV?d00001 diff --git a/week9/doc/fonts/SourceCodePro-Bold.ttf b/week9/doc/fonts/SourceCodePro-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..61e3090c1c6944db11572b8d1e3177402f128c02 GIT binary patch literal 71200 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 P00000NkvXXu0mjf^IS-S literal 0 HcmV?d00001 diff --git a/week9/doc/images/arrow_up.png b/week9/doc/images/arrow_up.png new file mode 100644 index 0000000000000000000000000000000000000000..1ebb193243780b8eb1919a51ef27c2a0d36ccec2 GIT binary patch literal 372 zcmV-)0gL{LP)6w#wHUuW*nL5>vZR zlg{G&%mT~|kL3ei%GW0*UOHUMs5XI$4uxe-L?I@SAefq*207}Iqtjm#e5*fP53AiC z)C|RQfwzxx<#_WfANRGZx{+tFDl8~Q?;~Ve=lM^*8UTTnVL?HTDz8uta0D@d28E9S z_)i8aLz^UE6PPKymi;2GJ`34{eIia-CtfAt0H61rk0 SPTNud0000Pdwe5?6tW?r-ok|b$oDQj8FV%kZPq;(MWOV8?8;<)(iP}>hNMU> z7fbz%jjlr7h8uuoQ~J6}n}@Y@PdTk=)PxO{%7zmL?dchpZX*~n;I{!C>*(8cU;q(~ zAS%Po_@naEU!xidrBXD?;hN|x^%W|Ij)0y*r5vi|?W&Fub(NqJ@z0o=O&SR3v>A``^efOSo-hEdApp;^Jd;9y!%1UfzX6Bh- z%-mbG|0Na{7Ruai_Y+DEb1s+b!*9k%Q!whMxjtZKA*?o;i1g&jy0@( zaU=-@d-h+o%gal6JRXEXA&L3`d2 z%jIxzZ~*p9O-;EJp_Ds0If38rM<5W8ic~K>FOK&2_p!CLg^i63OioVb6k$)zWHLx3 z5;!|M!}<9+#QSi1dRlbEcxPt^;cysUuU8@%3}RwpLRIGG<|IKnoyP6$Eh3SKw7a*r zSDXP=IYc&YZf;7@?fCe($^l9ORaJ3wbAx0uiC8QqRr$2t-Cfy8%XCI3B%pxJW>XdM zw~zPt_s}#A@pxQ5Ly)4szaMtH9lgE1SXx@b+S(fW`ub$fYPE8J7#bSNDzme*Ub07{ zQKV8SjEs!%0@v5ql8ggm!@$6Rbi^E8vBqpRM-}l+@5OSMrl+TWj*gC^qoV@>u{fQb zov5v?g~?>X@bEC&+uLPaQ&Ypn-y~^mZA}+f(&2EFH8eE%dU|@ENpN*_1-)L6_4Rc* zFuq@`IjX9vp1QiaK9ZojyZhnQURP99d=u;%37VRkpwsD4U0sd3x;hEQB&e^i|3QN0 z=H|Os1fRqaw!?#igLmS4HE!G3*ce(`TF} zlgUq0Q544c8(ae&UR$8ps&snq6^bPY3v3xAmMW74Di$h~GCH6E3TaYs2#6A<7K*gC z777H71_Wa;(dfp+g-drPCSWu)#PInZi72LJ;o?i~$-U=y&UbQ89Dul3%3P+Axkzc* zbH-y;QF=hR{qLItf%ci2_&e5wNo0gnVatG?ul6Zw=o$I9Ljfn*ic3`U?>IfEim3g{ zujU&$-hy6wn;w(xme|zJm;lWJxtTFfM)q0`kX!Vu0+d${$}LCddK1<^htTe-fUYL3 zB`SdNsZD>RgvLj1<^@h6_+cDRK2Brcr2~>%$*5S)hyV33PV^teac3%|4lz@8p4?)5 z?t5o^?q+%^%)Yygo~I^U4VR!bTnWuE35hcWrfCDR3q+sxJ79e7Fg`&)RCqLA^2^y^ z0laVfadW90_Fz8Brm|r47sB^u1VgI>kanj)Z4`zMSfHlm8>CwXa$JVM`$2RrmZB-3 zN10m-!;BvH*Br3V8t`DH7m`jf#2upVDXl{5ff18_pzCPK1Zu$$CKKvd8FGeFf)+K<|x33pc7P&S#3GZT4mEw;nr(Ze*F z3&*?-4U-lm*#tber5 z%S_ceqB`b3ko6r~BbvDwdohTvP(3a(pq{x#T$yQsu#OKwEe}KuH^Mh@nxg_(Nw136 zq#a^3xNBke)In+!?qk3%4wB69{pF`Tzg`07*qoM6N<$ Eg55P&8UO$Q literal 0 HcmV?d00001 diff --git a/week9/doc/images/bullet_black.png b/week9/doc/images/bullet_black.png new file mode 100644 index 0000000000000000000000000000000000000000..57619706d10d9736b1849a83f2c5694fbe09c53b GIT binary patch literal 211 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6SkfJR9T^zbpD<_bdI{u9mbgZg z1m~xflqVLYGB~E>C#5QQ<|d}62BjvZR2H60wE-$h^>lFz(Kw&{<9vg>5sw~gS5O!4 zr|{HuUFIBKiQyL}eBJ-L{`UVT|6_O~L{G%N{Wbre{kQtZ_0LvEhC#5QQ<|d}62BjvZR2H60wE-$h^mK6y(Kw&{<9vg>(S^W+6Zii9 z|Nhthr~iNb*Z!}6uiN$Dz5neG3a-`baBX8yz1H+_;eX)`ni0%X8XBDc-`=Ph(Uan2 zYsR{H!kvIN--9isvHznRsC#5QQ<|d}62BjvZR2H60wE-$h_H=O!(Kw&{<9vg>(S^W+6Zii9 z|Nhthr~iNb*Z!}6uiN$Dz5neG3a-`baBX8yz4q@v|B?28{s)#N@CGn3@%_y|zAV9T z66e<&B4?b6oF&azg|C(V&1ZbI_D}pL`}(^FT2yXwG1Ph~$Q@h8mJYOz!PC{xWt~$( F699+YQR)By literal 0 HcmV?d00001 diff --git a/week9/doc/images/date.png b/week9/doc/images/date.png new file mode 100644 index 0000000000000000000000000000000000000000..783c83357fdf90a1c7c024358e1d768b5c09c135 GIT binary patch literal 626 zcmV-&0*(ENP)5OC%H;f`~O(q$Q#t2<^v$A>fbmv%e#dKTwK=Ku{5lS|}<-`a#7b zzTCOnnT>at)D}AMFuOZ5&%EqFN(lyumd$2ASF6=;nM~%2?gqc@U=#|4PqkX@EBo-9 z7pD#bO_RUa>*faM`8;MYfVi$JnB-zcBFc6gjl$d!bF98Q!!!(Z1_R~P?e!pt#6CHJ9S&n_n&@=9 z%GP;!@Co4c*at+6vNz7o(6en^Q1%qHrc;1)9IRaz-$@S$Z-qdC^ds3X0NvQH;KS)D z-dh&rW&@X;1cS(45z)J&BVt+tv&GMVJ%!EiW) zLBGZW)#Z+gl-Lih&?>X3SS-S#ujQ;9JRXmIB7X)8`d6ETj)D#Q2+$s|<_b7-B9Xvq zwNfqlEp%y3$uY`h{Y$(Gn5@}sqEsq95lpAkFO5dyBmP6^H-51G4J|rN2Ujt<`2YX_ M07*qoM6N<$fC4}Mrzlg<+1Y8PEBfUp0jJpx4B>@E+cy3`^(Gw`Mf+2&yxZm<$to~Vpgvg&QKNR z_f#1(r6svZt%iF?s+n<8X?B&!h3g9Dbb8_=MX}!;HiQSAh`bp^WMl~Z-44teO7W_Y zV4thSL{h;rJY7!l3%5J4H1!tIzB`Dv+YxO(haWeausGZYkI8^hWj6mzo=L0{%;yxzh{5!Htr?51 zvG|W62MzC8BZ76hRpCyO2zOn<%e)K>NHge!-~)Ap33OdWw6hsLYbCxGNt0%wk_2z7 zfyYvXheSG)5HRK1VB~%mq7Dmurw#bi@hEcOr3&G1ZiF*$M=&9nB#VNf&Q^r$4G5kp zTURh&s)E0%5&hyVD}sp<72~zmAY`Y(9aqO6CXF%=zFHGzO-A&I(pE}v70YQxCPJ{Y z4L+?5-crdLn3ZRPEs!A4ehEY3ZRpL~w9>@aMN+{F4dI@v&>(QDHQum!mG~E^$OS8l z!7?%Uwib*ROP67Hw`ika)gX-(8Ia`-u_IEhxG7U<13kSsMW+$lbb2dUMm5p6pa}cjgA+U$^mJ^AjD?&bdi)8~y+Q002ovPDHLkV1g8IMc@Dc literal 0 HcmV?d00001 diff --git a/week9/doc/images/find.png b/week9/doc/images/find.png new file mode 100644 index 0000000000000000000000000000000000000000..1547479646722bda4647df52cf3e8bc9b77428c6 GIT binary patch literal 659 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 Dl)1NK literal 0 HcmV?d00001 diff --git a/week9/doc/images/macFFBgHack.png b/week9/doc/images/macFFBgHack.png new file mode 100644 index 0000000000000000000000000000000000000000..c6473b324ee1dae1faaacc0826639833f551116c GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^k|4~%1|*NXY)uAIEX7WqAsj$Z!;#Vf4nJ za0`Jjl>Qs8<JF;+Fd5q0wCR k?u=~bH}2*0f`J3~k>FVdQ&MBb@0BAfpf&c&j literal 0 HcmV?d00001 diff --git a/week9/doc/images/package.png b/week9/doc/images/package.png new file mode 100644 index 0000000000000000000000000000000000000000..da3c2a2d74bab159ba0f65d7db601768258afcb2 GIT binary patch literal 853 zcmV-b1FHOqP)5TQ^(M5v$(QKVE?W+9X! z*o}&~6c?_FreF)9NJB7b5Nbn{G0n4+%uJhR9(V5R|NFTpb|HgjefT!tIhLx@DR+N) zV+fHiR5Yt19}k|KnCsND{tH-`IMJ)3AE?OtyZ4>Un|6(d%h#JK`i&a7^xW9>`yBy` zS4SOHeOpC7$?hH5-#7Rswiue_8Ju*2N@$58=a#2OTA3png`w3v->gWif7t%e$ z$NLVS!tFT#8WL|Wa&K~+{%4P2cRfwesYV1_!F=3OaRVHl(>=`%&{x*s30c}#CNE@&;ItrAv!f!)Oy$Q9t$uS=(sD$-J{T*^(8Eez1E-l3}} zPrfHZ1`qsIFe&gipuL8-IZbo2Yg{lFGKs?ZZWcOaOdk*3`5T;$?AjbG1#`B510Er^h2)2r3Y{!8_2Gj=$KzuN5 zaErtW8W_Y2iJJjY)5pmTVJoPJYpanPOEuYHclM^C1F>${hFRpdi8a<2H|Xudf78bm(zwJ9`K%6I?q*Ua~ fW9JvIbn5*B+_J)rUMBs>00000NkvXXu0mjfH&TkY literal 0 HcmV?d00001 diff --git a/week9/doc/images/page_green.png b/week9/doc/images/page_green.png new file mode 100644 index 0000000000000000000000000000000000000000..de8e003f9fb8752c09e7f3655d5d8664b5c62fc3 GIT binary patch literal 621 zcmV-z0+RiSP)QqUjAtB;_Vvt6}AS_5YgM`Uqu`yva+H8^=4U$e4gHb}u zAQ2N{V3A%pO|?Pv?tb6z=jC}SiRa$G^v3q?*6XcYz$p|cq{uLj@#~Fi`J(>5{@&&N zy%T^+;>8cXx%|o77anP?&W1?1A(>-T49z9pyeCl@7YI+Si zKti7=B~``}TImz(G{0PnlQA3P#MAd}sorMjkP!50B7$nAkU^%#nl{Q9lW0@}9fE-> zN(q7tRuiC_T1r|BBtVBTlQ2+70$Rf;eF`Z;lx46Cpu-rEgb)EBKq(b^W8l<^We(`D z43?0=01z<3G6+UUv6`CsWCk6^93!#+<;ws7007{zS3k2k9-zZKFO~(k`>s0y006+1 zgF_jyIhsL-`FMf~JL~C=cV75(CrJ|q;MVO961G=O zm9d)YpJg5g(4i_HKL75eSE}mq$Y}r}hyVdcV~p>6a}oXr80q`oj%+s700000NkvXX Hu0mjfPs|!l literal 0 HcmV?d00001 diff --git a/week9/doc/images/page_white_text.png b/week9/doc/images/page_white_text.png new file mode 100644 index 0000000000000000000000000000000000000000..813f712f726c935f9adf8d2f2dd0d7683791ef11 GIT binary patch literal 342 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!60wlNoGJgf6SkfJR9T^zbpD<_bdI{u9mbgZg z1m~xflqVLYGB~E>C#5QQ<|d}62BjvZR2H60wE-%6;pyTSA|c6o&@eC9QG)Hj&ExYL zO&oVL^)+cM^qd@ApywS>pwx0H@RDN}hq;7mU-SKczYQ-hnrr=;iDAQMZQ+*g=YOM= z!QlMQEn7FbaD->uKAYgo_j9)W&$$zS*W9}m(ey0q$&7l-XEWO0Y(9M=SnhLbwy;d>@~SY$Ku*0xPvIOQeV1x7u_z-2-X>_74(yfh7C znXL|3GZ+d2`3re2hs?MKC#5QQ<|d}62BjvZR2H60wE-$R?&;zfqH(@;q9b3Efq-lM(nr^( z=EYR73-9e)UYMWsXy%?aZsD68Yyv^2$~6QgEcljw%kx>O(f-gQ?@fOOx3A-0+Qw?O zRx~W)kn~Qe2d6f9nMG#g9Q04Mk==M~N!Dglvxk!fgVh#w@ZV$IY1+Xc`d{d2UcaP~ zfWp)_Ivqj}l2SPy^9ZWy6rG9Yx4v67_uA&&9|XA~5-#3)W3%em1peD8RWH^#O%XoM zxMPud%}GTj#~*+7JMxTd!`{^Q+>(D3*|@KV`*G2;{QnANOxu1$r2xIe;OXk;vd$@? F2>@zac~<}c literal 0 HcmV?d00001 diff --git a/week9/doc/images/plugin.png b/week9/doc/images/plugin.png new file mode 100644 index 0000000000000000000000000000000000000000..6187b15aec001b7080b51a5f944f07591f26cc15 GIT binary patch literal 591 zcmV-V0eEcNHZMNv|IbJ-M`( zKwWL~opzjJe^WpCmV9E;(0&ut2;4va_(#>M8)>9$R5viQnf(Nkh~VM$y>J(jqb$cj z+nL1Nm|mV)Gm|9MnHf*7Ja4OEAQz__^LRKOLEwqpiGV^^A*T=#&inGm-62Xs;dnSp zKj&H9T*boh2i)W+(n27l!C)>fq|L%VB1i ziC4p;NwV_}ZjW7$LRW#(_bKF#hp=!IqNO26Z*w2+LEwx{PVnZ&Sn}T;mtzb$;qA*nT@@+ zV5uQ@iXDTPoTbV#FRr~z04|PPh`wXTNoCm9*tG&?e3+fYl>K6+&3|Cc$KOpL`ER+_ dcRl5U#9zn6ZO}GFk7R5;7c zlif>`Q5?tj7Yw@ZCMtTF^Q|ZedeJhM%QPCR*bs8V79p$QTo7e94yQNXRs-{0?hOn_-8n0AMO@u1Ts zNl8QzJs1#rz%RBt?ux>l+amAvh+J!{$lkaqv}+Erb-6j2xp>K4GLQnNB*W`hFg*?P z^AL@~(h~Z+wfcWEXHqV^Tq-#z$7Y#o0;yFxA!00F}F2dX# zjE$iOgT#G4*1TR6kB1Gnn@>$meCh2a>c5YuIvFn-R2W@>4@M*m@-|jiDV?b)bccgA zyPfsMM!rjy>+1O2)5Eg29Z_*2p&qGnmS!OH?vZ(4>QB01d>j%9n4QINxkyT(Dos?I zjaWF$*IQmh`SF-?xU%xMEfjq1=6qY*g&lgG_cXv$BGoIWyfO5 zp>pdV*O+y=&6@N2WWFo(%RtT`Q(H^6zn^a%epE~Kx^mEJ{c8`luC$nc*z9j|4Ms8aJK-ladKLpnAK z!yd|CC&>l1b7`m$MH$ScEIP@XgT41O>|DzL{-38CH68OyX#u=G?d7;y&_o&o)f@3U z2(tr%Ok88caOL`xiQA8o;Vzr-$A$SOu6o|$&0DQAJ1Z7?OACaeoy+)PWu&~aueW<| z*KW^(^2}#30u*~<_mXScFNd6U&sxh5*GGMNytZGxkIGqL%v6329^u`FD6T?b?K!4B z@Hzh?O2Au=((Gu;rvgLMt^pS|u1rEkBgC8$oH%zgT`TvZiK#VDrVG?-i~6a_+WZb> zc1>>lb)xcuo^Cl8k%q3c_d*It_Vtj>RSovF&w;hS=6uYrT2e@-@l@P~uBN`zu!v>e zTm(is&jcQ6vuP?|;!e+(n8w)-Xjd!hwk@r2D0i00ygdKo2Xvs?&w_lajj5DHS@9I! z;_&ji2e{!uusGnVn};Pu|dl5x-FhQyC8^-4Uo_;BLiOXzcE z&4PS2TBWSC=hsw0og;z#(mly@Ed2E1E$_VDaM?kloE4ob2XK&K;OS~-nhIGlA4~UZrJu6*|}wi#TT?|yWUH+_&n($t0xta zBwTzSfE)uAw*L0>+`pTps}L-$jIP5Q_E$Am+l|{XfsKr0Vi~`Em?SJQ#0y)8vsxb1 zMdxJl^){_CDwI^}>)Pw${G?Ajc@P}x{Fvhoi0jbY^427?KPmoA_G)sqK}u$2(79Xg zC%}xm5JDcrsm5^vQEQpGEdJDc^yfuNAlqV1pZQVkOSceV<|{=|=@?=o4i_1RFUZth zC7cu<6%V3dVCI}P6DL4iUgTc@&(nXY)ox}HZ z(a#EgiNj%{kjRLL2t?{m_aKN`{5-&u+HAtQ-Qq#@!I@<(M+B3i@|g=LY6 z90tpW!JuMn_Lcy1q7g&LUSuLE3XS}K#P^nHVUmL`L)dbP| z0bt(+Cp#M-bH!LM*DzJ0Lfn;eTBV@|JvGSgpdoc1RhhV>(G-2(vE|>MrVgA9+?+0m4OzUqbT>-U-jg|v zLZMntq`r?fy1UCMh>z2Koi1SL-~N2ZrIf+dZW|;SWszsde}Dl!HOMc1Fa>K9)e&RI z)A?aK zcviCdKDUg_%#u7YAE`A`Y3$(P4&m^@fEWAvjAwVmRWeUnmkrxA;E!fKoc{9Vi=lvFL}KmoS;g* zdjL?Y!VHUFq63aLj6VZE+tHts?Z1pFkiO9^k*5pGpFpU&5#5G4ATd{t>a&9zKBVB9=Ns^HFU|DTGH8C+Xr2UqOU`Zxe)!|%j4=-QojGePq)pRGe;!f)Czk!u3vP_Jxu8(e6 zf4Q`F$Qio2Jw@N*E@k?c`+Sw}AYQjkT+x)OAe6eq(AT!iRuksKQn%Ao_Ac1T-p#Js I_CnHs0qX}mlmGw# literal 0 HcmV?d00001 diff --git a/week9/doc/images/tag_green.png b/week9/doc/images/tag_green.png new file mode 100644 index 0000000000000000000000000000000000000000..83ec984bd73364134da0f98d27a800c5d3264180 GIT binary patch literal 613 zcmV-r0-F7aP)^5T)AZ%#@G{_P{NCN^P z(J0zvSn~SSm(Ur);-M~8^*;61*VRI`T1BN&LAhK;sZ>I-SVW;vfUfJv=ko^ugnc0x zhJodBxe>iyk3%w<%wC8holUJ4(iv>tL{`DQt zPOsyUbO_Cmc&*iHkqbm3ku`|GcC^OhF>jj9W*GkH;^g!iUVpib_h*=@udp4h(P+e*zL_~ZmJjh(y^BxULwq>9zXoYE8sq{#pN~U0C6!8vY)5N2 z9P*}mw}7X$O^qTtJef1ACWvJT9^wt-)Zh0r~j#0bT`f;-zv6 z^Tmw22!%rMcs!TaUX<-8s;X-B`+Xbo+_uWuFa z1yIPc?DTrQ7KvRhmt*TG|L=EYQ=LqFX;=Lp`4}jx6BE-@00000NkvXXu0mjf=s_29 literal 0 HcmV?d00001 diff --git a/week9/doc/images/transparent.png b/week9/doc/images/transparent.png new file mode 100644 index 0000000000000000000000000000000000000000..d665e179efd797451084235f105425247fea0a14 GIT binary patch literal 97 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!D3?x-;bCrM;bAV5X>;M1%mmiTn0pv241o;Is pI6S+N2ITN~x;Tb#$R;N!@B(=T42&&nK2`x)44$rjF6*2UngG277DE64 literal 0 HcmV?d00001 diff --git a/week9/doc/images/wrench.png b/week9/doc/images/wrench.png new file mode 100644 index 0000000000000000000000000000000000000000..5c8213fef5ab969f03189d4367e32e597e38bd7f GIT binary patch literal 610 zcmV-o0-gPdP)^jb z4`0v}DG1te)wmeb(>p90leRz?_mO+^JKy=v&2<29Od6?F%9%(c8los#f*@G`-%W&* z$)uBj2i@u-@SgX}gtyWPe6d*|w6h%R? zScK2#Yn%$sum0cy>90DmY*i{1XqpClEtktsRTZ)lCUe z<FogV^*tm>8*AlX za4oiR!&85LrobG57qUHUX#{>Vz(RHpB5|@>9O6N$jqB8>%($0wxE5R3)b>Y~xtCo$ zCgEk&A?_#IxHdN)9tqre^o{ho4{?hmPuf@^@I3-wncaRd%|~O3xbrKY=&TiwPYkJroM{;WUQTuMY8vpg}f4o)2%U3C;eEDoiEh?94d(rV57VIF#8VqzW$HrDC|#U`x@QDbgi zVl)t9GGz&YY#D?gc%>hISA+_EBpnXt#pnC`p6@xw0$8TCbULjhlgVx(kuc)%xbgqq zR5+DNDFRN0!y)7Gm}oT0i39}h4h928qY?Rho^UvPGJ#kuW|-Amtrn`Pmd&+bFo@sp z$LI4IQw7BG?|#2ewOS<<3VjL$0=lMY^m;wqZujv5kx1l%Sl;V&Iy4#$ip3&@LV2!7vhhN=PCz%^9v24`qb(+m4W?!q-&~=?ssf5GfnAmJKV;3bvpDm0(NhahZ=&^sqo6Odj6>)Dq_3p~4~ zvb`d3Mydwjt&Df^hVmLtI2x=U&h9(JVYX-!y~z3zi;1>=LY;o(bL$(Yf$lf)dMf0-u^0HrpTG Wk@)HE*94aU0000m+BBgry{~j2fHLegbHP( zrgXNbr0}2;^nywdjLjZe?uxtrd3D(pZH@fFFc0{BW_~jxoO1w7-VX;6vK@ROA$$R6 zEmo;Ht-Mj|>5jUy{bQ^V5@53LRI8AgLpUm|m+15sqcz@QtVSo|oz7ArM8?pIn+>gN z0b=4_b5O|4A*;Q+vc9Vqr~%3V155*NV~@gTz}KSUiKB-uJzjMZ>5%Q#n24H!V{ zTY(LLAE*NAHZ}C#wnj%Bw5OFIkRhkkAW#kDC3j9Wm0YXRaXlyyp>#mVfYG)eC;@ab zDb=T-BCAY4LI(Z@GOTr2V_A{pRwSmz+8Be>CjAw(=gnbVWAeguvZa93JmL(EDxv1m z0OP4q=fpAK1Mq!C2`OkEn37o;m#wF#(t(8Pu#S?2f#x<~4EO{@fmm`p9veD6RZ_jp z@Au4};q&`XuKEYgIiB4((kgxOs#YdqJw0fY>9^K_agEu5+$#k;w#%I2N>n_?)YIqu z`tq&#_^p?-%K*U0^}|7+9U(&k0?s;=r=uCZ%)H9_edH8wK}gB(nUB1FFk+2Ol%BXV zHoFY`D~2x|2 + + + + + +RDoc Documentation + + + + + + + + + + + + + + + + + +
+

This is the API documentation for RDoc Documentation. +

+ + + + + diff --git a/week9/doc/js/darkfish.js b/week9/doc/js/darkfish.js new file mode 100644 index 0000000..06fef3b --- /dev/null +++ b/week9/doc/js/darkfish.js @@ -0,0 +1,140 @@ +/** + * + * Darkfish Page Functions + * $Id: darkfish.js 53 2009-01-07 02:52:03Z deveiant $ + * + * Author: Michael Granger + * + */ + +/* Provide console simulation for firebug-less environments */ +if (!("console" in window) || !("firebug" in console)) { + var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml", + "group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"]; + + window.console = {}; + for (var i = 0; i < names.length; ++i) + window.console[names[i]] = function() {}; +}; + + +/** + * Unwrap the first element that matches the given @expr@ from the targets and return them. + */ +$.fn.unwrap = function( expr ) { + return this.each( function() { + $(this).parents( expr ).eq( 0 ).after( this ).remove(); + }); +}; + + +function showSource( e ) { + var target = e.target; + var codeSections = $(target). + parents('.method-detail'). + find('.method-source-code'); + + $(target). + parents('.method-detail'). + find('.method-source-code'). + slideToggle(); +}; + +function hookSourceViews() { + $('.method-heading').click( showSource ); +}; + +function toggleDebuggingSection() { + $('.debugging-section').slideToggle(); +}; + +function hookDebuggingToggle() { + $('#debugging-toggle img').click( toggleDebuggingSection ); +}; + +function hookSearch() { + var input = $('#search-field').eq(0); + var result = $('#search-results').eq(0); + $(result).show(); + + var search_section = $('#search-section').get(0); + $(search_section).show(); + + var search = new Search(search_data, input, result); + + search.renderItem = function(result) { + var li = document.createElement('li'); + var html = ''; + + // TODO add relative path to + + + + + + + + + + +
+

Table of Contents - RDoc Documentation

+ + +

Classes and Modules

+ + +

Methods

+
    + +
  • + ::new + — + Hat +
+
+ + + + diff --git a/week9/exceptions.rb b/week9/exceptions.rb new file mode 100644 index 0000000..9d18ade --- /dev/null +++ b/week9/exceptions.rb @@ -0,0 +1,31 @@ +class ReneeError < Exception + def message + "Renee breaks everything" + end +end + +def hello + begin + raise ReneeError.new + puts yield + rescue LocalJumpError => e + puts e + rescue ReneeError => e + puts e + puts "Don't let Renee near your code" + ensure + puts "you ran the hello method" + end + + catch :renee_error do + puts "before throw" + throw :renee_error + puts "after throw" + end + puts "after method" +end + + +hello { " Hello Akichin "} + +hello \ No newline at end of file diff --git a/week9/rdoc_demo.rb b/week9/rdoc_demo.rb new file mode 100644 index 0000000..7b7fd5e --- /dev/null +++ b/week9/rdoc_demo.rb @@ -0,0 +1,21 @@ +class HeadGear +end + +# This is a really cool Hat class +# +# Author: Chris Ashfield +# License: MIT +# +# More info about class +class Hat < HeadGear + attr_accessor :color, :size + + # This is the constructor + # * size : the size of the Hat + # * color : The color of the Hat + def initialize color, size + @color = color + @size = size + end + +end \ No newline at end of file diff --git a/week9/sinatra_test.rb b/week9/sinatra_test.rb new file mode 100644 index 0000000..047743d --- /dev/null +++ b/week9/sinatra_test.rb @@ -0,0 +1,22 @@ +require 'sinatra' +require 'thin' + +get '/hello' do + hez do |aa| + "Hello World
+ The time is #{aa} +
" + end +end + +get '/' do + " + HOME

+ link + " +end + +def hez + time = Time.now + yield time +end From 70e4cd31702fc281a3d9075d5a29e1314b85ac63 Mon Sep 17 00:00:00 2001 From: Chris Ashfield Date: Thu, 13 Mar 2014 17:08:02 -0700 Subject: [PATCH 12/13] git not working right, tried new folder name (not 'final') --- .../step_definitions/tic-tac-toe-steps.rb | 124 +++++++++++++++ .../features/step_definitions/tic-tac-toe.rb | 150 ++++++++++++++++++ tic-tac-toe/features/tic-tac-toe.feature | 57 +++++++ tic-tac-toe/play_game.rb | 23 +++ tic-tac-toe/test.rb | 13 ++ 5 files changed, 367 insertions(+) create mode 100644 tic-tac-toe/features/step_definitions/tic-tac-toe-steps.rb create mode 100644 tic-tac-toe/features/step_definitions/tic-tac-toe.rb create mode 100644 tic-tac-toe/features/tic-tac-toe.feature create mode 100644 tic-tac-toe/play_game.rb create mode 100644 tic-tac-toe/test.rb diff --git a/tic-tac-toe/features/step_definitions/tic-tac-toe-steps.rb b/tic-tac-toe/features/step_definitions/tic-tac-toe-steps.rb new file mode 100644 index 0000000..c992669 --- /dev/null +++ b/tic-tac-toe/features/step_definitions/tic-tac-toe-steps.rb @@ -0,0 +1,124 @@ +require 'rspec/mocks/standalone' +require 'rspec/expectations' +Given /^I start a new Tic\-Tac\-Toe game$/ do + @game = TicTacToe.new +end + +When /^I enter my name (\w+)$/ do |name| + @game.player = name +end + +Then /^the computer welcomes me to the game with "(.*?)"$/ do |arg1| + @game.welcome_player.should eq arg1 +end + +Then /^randomly chooses who goes first$/ do + [@game.player, "Computer"].should include @game.current_player +end + +Then /^who is X and who is O$/ do + TicTacToe::SYMBOLS.should include @game.player_symbol, @game.computer_symbol +end + +Given /^I have a started Tic\-Tac\-Toe game$/ do + @game = TicTacToe.new(:player) + @game.player = "Renee" +end + +Given /^it is my turn$/ do + @game.current_player.should eq "Renee" +end + +Given /^the computer knows my name is Renee$/ do + @game.player.should eq "Renee" +end + +Then /^the computer prints "(.*?)"$/ do |arg1| + @game.should_receive(:puts).with(arg1) + @game.indicate_palyer_turn +end + +Then /^waits for my input of "(.*?)"$/ do |arg1| + @game.should_receive(:gets).and_return(arg1) + @game.get_player_move +end + +Given /^it is the computer's turn$/ do + @game = TicTacToe.new(:computer, :O) + @game.current_player.should eq "Computer" +end + +Then /^the computer randomly chooses an open position for its move$/ do + open_spots = @game.open_spots + @com_move = @game.computer_move + open_spots.should include(@com_move) +end + +Given /^the computer is playing X$/ do + @game.computer_symbol.should eq :X +end + +Then /^the board should have an X on it$/ do + @game.current_state.should include 'X' +end + +Given /^I am playing X$/ do + @game = TicTacToe.new(:computer, :X) + @game.player_symbol.should eq :X +end + +When /^I enter a position "(.*?)" on the board$/ do |arg1| + @old_pos = @game.board[arg1.to_sym] + @game.should_receive(:get_player_move).and_return(arg1) + @game.player_move.should eq arg1.to_sym +end + +When /^"(.*?)" is not taken$/ do |arg1| + @old_pos.should eq " " +end + +Then /^it is now the computer's turn$/ do + @game.current_player.should eq "Computer" +end + +When /^there are three X's in a row$/ do + @game = TicTacToe.new(:computer, :X) + @game.board[:C1] = @game.board[:B2] = @game.board[:A3] = :X +end + +Then /^I am declared the winner$/ do + @game.determine_winner + @game.player_won?.should be_true +end + +Then /^the game ends$/ do + @game.over?.should be_true +end + +Given /^there are not three symbols in a row$/ do + @game.board = { + :A1 => :X, :A2 => :O, :A3 => :X, + :B1 => :X, :B2 => :O, :B3 => :X, + :C1 => :O, :C2 => :X, :C3 => :O + } + @game.determine_winner +end + +When /^there are no open spaces left on the board$/ do + @game.spots_open?.should be_false +end + +Then /^the game is declared a draw$/ do + @game.draw?.should be_true +end + +When /^"(.*?)" is taken$/ do |arg1| + @game.board[arg1.to_sym] = :O + @taken_spot = arg1.to_sym +end + +Then /^computer should ask me for another position "(.*?)"$/ do |arg1| + @game.board[arg1.to_sym] = ' ' + @game.should_receive(:get_player_move).twice.and_return(@taken_spot, arg1) + @game.player_move.should eq arg1.to_sym +end diff --git a/tic-tac-toe/features/step_definitions/tic-tac-toe.rb b/tic-tac-toe/features/step_definitions/tic-tac-toe.rb new file mode 100644 index 0000000..372fe5e --- /dev/null +++ b/tic-tac-toe/features/step_definitions/tic-tac-toe.rb @@ -0,0 +1,150 @@ +class TicTacToe + + attr_accessor :player + attr_accessor :current_player_var + @current_player_var = "" + + + SYMBOLS = ["X", "O"] + + def player= name + @name = name + @move_count = 0 + @cell_status = { + "A1" => false, + "A2" => false, + "A3" => false, + "B1" => false, + "B2" => false, + "B3" => false, + "C1" => false, + "C2" => false, + "C3" => false, + } + @cell_owner = { + "A1" => nil, + "A2" => nil, + "A3" => nil, + "B1" => nil, + "B2" => nil, + "B3" => nil, + "C1" => nil, + "C2" => nil, + "C3" => nil, + } + end + + def welcome_player + choose_marker + "Welcome #{@name}! You are #{@player_symbol} and compy is #{@computer_symbol}" + end + + def choose_marker + @player_symbol = SYMBOLS.sample + if @player_symbol == "X" + @computer_symbol = "O" + else + @computer_symbol = "X" + end + puts @player_symbol + puts @computer_symbol + end + + def player_symbol + @player_symbol + end + + def computer_symbol + @computer_symbol + end + + def current_player + if @current_player_var == "Computer" + puts "Computer goes." + computer_move + @current_player_var = @name + elsif @current_player_var == @name + player_move + @current_player_var = "Computer" + else + @current_player_var = [@name, "Computer"].sample + end + draw_board + end + + def draw_board + draw_line = "-----------" + drawA1 = @cell_status["A1"] ? " #{@cell_owner["A1"]} |" : " |" + drawA2 = @cell_status["A2"] ? " #{@cell_owner["A2"]} " : " " + drawA3 = @cell_status["A3"] ? "| #{@cell_owner["A3"]}" : "|" + puts "#{drawA1}#{drawA2}#{drawA3}" + puts draw_line + drawB1 = @cell_status["B1"] ? " #{@cell_owner["B1"]} |" : " |" + drawB2 = @cell_status["B2"] ? " #{@cell_owner["B2"]} " : " " + drawB3 = @cell_status["B3"] ? "| #{@cell_owner["B3"]}" : "|" + puts "#{drawB1}#{drawB2}#{drawB3}" + puts draw_line + drawC1 = @cell_status["C1"] ? " #{@cell_owner["C1"]} |" : " |" + drawC2 = @cell_status["C2"] ? " #{@cell_owner["C2"]} " : " " + drawC3 = @cell_status["C3"] ? "| #{@cell_owner["C3"]}" : "|" + puts "#{drawC1}#{drawC2}#{drawC3}" + puts "\n======================= NEXT TURN ===========================" + player_won? + end + + def over? + if player_won? or computer_won? + true + else + false + end + end + + def player_won? + if @cell_owner["A1"] == @player_marker + puts @cell_owner["A1"] + true + end + end + + def computer_won? + end + + def draw? + true + end + + def player_move + indicate_player_turn + end + + def indicate_player_turn + proper_move = false + print "#{@name}'s move: " + while proper_move == false + input = gets.chomp + if input !~ /[A-C][1-3]/ + print "Enter A, B, or C for the row and 1, 2, or 3 for the column: " + elsif @cell_status[input] == true + print "Cell taken, please re-enter: " + else + proper_move = true + end + end + @cell_status[input] = true + @cell_owner[input] = @player_symbol + + p @cell_status + p @cell_owner + end + + def computer_move + end + + def current_state + end + + def determine_winner + end + + end \ No newline at end of file diff --git a/tic-tac-toe/features/tic-tac-toe.feature b/tic-tac-toe/features/tic-tac-toe.feature new file mode 100644 index 0000000..6f3134d --- /dev/null +++ b/tic-tac-toe/features/tic-tac-toe.feature @@ -0,0 +1,57 @@ +Feature: Tic-Tac-Toe Game + As a game player I like tic-tac-toe + In order to up my skills + I would like to play agaist the computer + +Scenario: Begin Game + Given I start a new Tic-Tac-Toe game + When I enter my name Renee + Then the computer welcomes me to the game with "Welcome Renee" + And randomly chooses who goes first + And who is X and who is O + +Scenario: My Turn + Given I have a started Tic-Tac-Toe game + And it is my turn + And the computer knows my name is Renee + Then the computer prints "Renee's Move:" + And waits for my input of "B2" + +Scenario: Computer's Turn + Given I have a started Tic-Tac-Toe game + And it is the computer's turn + And the computer is playing X + Then the computer randomly chooses an open position for its move + And the board should have an X on it + +Scenario: Making Moves + Given I have a started Tic-Tac-Toe game + And it is my turn + And I am playing X + When I enter a position "A1" on the board + And "A1" is not taken + Then the board should have an X on it + And it is now the computer's turn + +Scenario: Making Bad Moves + Given I have a started Tic-Tac-Toe game + And it is my turn + And I am playing X + When I enter a position "A1" on the board + And "A1" is taken + Then computer should ask me for another position "B2" + And it is now the computer's turn + +Scenario: Winning the Game + Given I have a started Tic-Tac-Toe game + And I am playing X + When there are three X's in a row + Then I am declared the winner + And the game ends + +Scenario: Game is a draw + Given I have a started Tic-Tac-Toe game + And there are not three symbols in a row + When there are no open spaces left on the board + Then the game is declared a draw + And the game ends diff --git a/tic-tac-toe/play_game.rb b/tic-tac-toe/play_game.rb new file mode 100644 index 0000000..a4f302f --- /dev/null +++ b/tic-tac-toe/play_game.rb @@ -0,0 +1,23 @@ +require './features/step_definitions/tic-tac-toe.rb' + +@game = TicTacToe.new +puts "What is your name?" +@game.player = gets.chomp +puts @game.welcome_player + + +until @game.over? + case @game.current_player + when "Computer" + @game.computer_move + when @game.player + @game.indicate_palyer_turn + @game.player_move + end + puts @game.current_state + @game.determine_winner +end + +puts "You Won!" if @game.player_won? +puts "I Won!" if @game.computer_won? +puts "DRAW!" if @game.draw? diff --git a/tic-tac-toe/test.rb b/tic-tac-toe/test.rb new file mode 100644 index 0000000..91c84ef --- /dev/null +++ b/tic-tac-toe/test.rb @@ -0,0 +1,13 @@ +class Test + + print "Input something: " + check = false + while check == false + input = gets.chomp + check = true + end + puts "#{input} is what you entered." + +end + +c = Test.new From c6a120c1b945e96b992c80406c263de87e2d5acb Mon Sep 17 00:00:00 2001 From: Chris Ashfield Date: Thu, 13 Mar 2014 17:50:04 -0700 Subject: [PATCH 13/13] stopped work on tictactoe --- .../features/step_definitions/tic-tac-toe.rb | 39 +++++++++++-------- tic-tac-toe/play_game.rb | 4 +- 2 files changed, 25 insertions(+), 18 deletions(-) diff --git a/tic-tac-toe/features/step_definitions/tic-tac-toe.rb b/tic-tac-toe/features/step_definitions/tic-tac-toe.rb index 372fe5e..e50f620 100644 --- a/tic-tac-toe/features/step_definitions/tic-tac-toe.rb +++ b/tic-tac-toe/features/step_definitions/tic-tac-toe.rb @@ -1,3 +1,11 @@ +# Did not have a chance to get too far on this. +# I went off on my own and not following the tests because they weren't passing anyways +# So far the program can do this: +# - Start game +# - Computer picks who goes first and who is X/O +# - User can fill up the board with their marker +# - User cannot add invalid input or use taken cell + class TicTacToe attr_accessor :player @@ -46,8 +54,6 @@ def choose_marker else @computer_symbol = "X" end - puts @player_symbol - puts @computer_symbol end def player_symbol @@ -61,15 +67,13 @@ def computer_symbol def current_player if @current_player_var == "Computer" puts "Computer goes." - computer_move @current_player_var = @name + @player = @name elsif @current_player_var == @name - player_move @current_player_var = "Computer" else @current_player_var = [@name, "Computer"].sample end - draw_board end def draw_board @@ -89,7 +93,6 @@ def draw_board drawC3 = @cell_status["C3"] ? "| #{@cell_owner["C3"]}" : "|" puts "#{drawC1}#{drawC2}#{drawC3}" puts "\n======================= NEXT TURN ===========================" - player_won? end def over? @@ -102,8 +105,8 @@ def over? def player_won? if @cell_owner["A1"] == @player_marker - puts @cell_owner["A1"] - true + #puts @cell_owner["A1"] + #true end end @@ -111,16 +114,15 @@ def computer_won? end def draw? - true + if @cell_status.has_value?(false) + true + else + false + end end def player_move - indicate_player_turn - end - - def indicate_player_turn proper_move = false - print "#{@name}'s move: " while proper_move == false input = gets.chomp if input !~ /[A-C][1-3]/ @@ -134,14 +136,19 @@ def indicate_player_turn @cell_status[input] = true @cell_owner[input] = @player_symbol - p @cell_status - p @cell_owner + p @cell_status # for testing + p @cell_owner # for testing + end + + def indicate_player_turn + print "#{@name}'s move: " end def computer_move end def current_state + draw_board end def determine_winner diff --git a/tic-tac-toe/play_game.rb b/tic-tac-toe/play_game.rb index a4f302f..c543f07 100644 --- a/tic-tac-toe/play_game.rb +++ b/tic-tac-toe/play_game.rb @@ -1,4 +1,4 @@ -require './features/step_definitions/tic-tac-toe.rb' +require './features/step_definitions/tic-tac-toe.rb' @game = TicTacToe.new puts "What is your name?" @@ -11,7 +11,7 @@ when "Computer" @game.computer_move when @game.player - @game.indicate_palyer_turn + @game.indicate_player_turn @game.player_move end puts @game.current_state