Skip to content

Instantly share code, notes, and snippets.

@deatheragetr
Created June 12, 2013 12:57
Show Gist options
  • Save deatheragetr/5765013 to your computer and use it in GitHub Desktop.
Save deatheragetr/5765013 to your computer and use it in GitHub Desktop.
pokemon
## 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