Created
June 12, 2013 12:57
-
-
Save deatheragetr/5765013 to your computer and use it in GitHub Desktop.
pokemon
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## hash of pokemon types | |
POKEMON = [ {:name=>"pikachu", :type=>["electric"], :hp=>35}, | |
{:name=>"charmander", :type=>["fire"], :hp=>39}, | |
{:name=>"squirtle", :type=>["water"], :hp=>44}, | |
{:name=>"geodude", :type=>["rock"], :hp=>40}, | |
{:name=>"jynx", :type=>["ice", "psychic"], :hp=>65}, | |
{:name=>"eevee", :type=>["normal"], :hp=>55}, | |
{:name=>"abra", :type=>["psychic"], :hp=>35}, | |
{:name=>"ponyta", :type=>["fire"], :hp=>50}, | |
{:name=>"poliwag", :type=>["psychic", "water"], :hp=>40}, | |
] | |
## this is a method that will generate a random pokemon team for you | |
#def generateTeam | |
# team = [] | |
# 4.times do | |
# team.push(POKEMON.sample) | |
# end | |
# team | |
#end | |
# | |
#myTeam = generateTeam | |
# | |
## create methods myAll, myAny, myNone to determine the solutions to the following statements | |
## | |
## def myAll | |
## end | |
# | |
## def myAny | |
## end | |
# | |
## def myNone | |
## end | |
# | |
# | |
## fill in the blanks by calling your methods to make the statements evaluate to true | |
# puts myTeam.all? {|pokemon| pokemon[:hp] >= 40} == myAll(myTeam) {|pokemon| pokemon[:hp] >= 40} | |
# puts myTeam.all? {|pokemon| pokemon[:type] == "psychic"} == myAll(myTeam) {|pokemon| pokemon[:type] == "psychic"} | |
#puts myTeam.all? == | |
#puts myTeam.any? {|pokemon| pokemon[:hp] >= 40} | |
#puts myTeam.any? {|pokemon| pokemon[:type] == "psychic"} == _________ | |
#puts myTeam.any? == _________ | |
# | |
#puts myTeam.none? {|pokemon| pokemon[:hp] >= 40} == _________ | |
#puts myTeam.none? {|pokemon| pokemon[:type] == "psychic"} == _________ | |
#puts myTeam.none? == _________ | |
# | |
#puts myTeam._________ {|pokemon| pokemon[:hp] <= 50} == false | |
#puts myTeam._________ {|pokemon| pokemon[:type] == "water"} == true | |
#puts myTeam._________ {|pokemon| pokemon[:type] == "fire"} == false | |
def generateTeam | |
team = [] | |
4.times do | |
team.push(POKEMON.sample) | |
end | |
team | |
end | |
myTeam = generateTeam | |
# create methods myAll, myAny, myNone to determine the solutions to the following statements | |
# | |
def myAll(array=[]) | |
i = 0 | |
all_same = true | |
if block_given? | |
while i < array.length | |
if !(yield array[i]) | |
all_same = false | |
end | |
i += 1 | |
end | |
else | |
while i < array.length | |
if !array[i] | |
all_same = false | |
end | |
i += 1 | |
end | |
end | |
all_same | |
end | |
# puts myTeam.all? {|pokemon| pokemon[:hp] >= 40} == myAll(myTeam) {|pokemon| pokemon[:hp] >= 40} | |
# puts myTeam.all? {|pokemon| pokemon[:type] == "psychic"} == myAll(myTeam) {|pokemon| pokemon[:type] == "psychic"} | |
# puts (myTeam).all? == myAll(myTeam) | |
def myAny(array) | |
i = 0 | |
any_match = false | |
if block_given? | |
while i < array.length | |
if (yield array[i]) | |
any_match = true | |
end | |
i += 1 | |
end | |
elsif array.size > 0 | |
any_match = true | |
end | |
any_match | |
end | |
# puts myTeam.any? {|pokemon| pokemon[:hp] >= 40} == myAny(myTeam) {|pokemon| pokemon[:hp] >= 40} | |
# puts myTeam.any? {|pokemon| pokemon[:type] == "psychic"} == myAny(myTeam) {|pokemon| pokemon[:type] == "psychic"} | |
# puts myTeam.any? == myAny(myTeam) | |
def myNone(array) | |
i = 0 | |
none = true | |
if block_given? | |
while i < array.length | |
if (yield array[i]) | |
none = false | |
end | |
i += 1 | |
end | |
elsif array.length > 0 | |
none = false | |
end | |
none | |
end | |
puts myTeam.none? {|pokemon| pokemon[:hp] >= 40} == myNone(myTeam) {|pokemon| pokemon[:hp] >= 40} | |
puts myTeam.none? {|pokemon| pokemon[:type] == "psychic"} == myNone(myTeam) {|pokemon| pokemon[:type] == "psychic"} | |
puts myTeam.none? == myNone(myTeam) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment