Class: AsciiParadise::SierpinksiTriangle
- Inherits:
-
Base
- Object
- Base
- AsciiParadise::SierpinksiTriangle
show all
- Defined in:
- lib/ascii_paradise/static_ascii/sierpinksi_triangle.rb
Overview
AsciiParadise::SierpinksiTriangle
Constant Summary
collapse
- N_TIMES =
30
Instance Method Summary
collapse
Methods inherited from Base
animation_dir?, #animation_directory?, #clear_screen, #colour_parse_this_string, #debug?, #do_not_run_already, #do_not_use_clear, #do_use_random_colour, #do_wait_for_keypress_event, e, #e, #enable_debug, #is_animated?, #menu, #project_base_dir?, #register_sigint, #remove_trailing_ansci_escape_code, #report_how_many_animated_components_exist, #return_basename_of_this_file_without_the_extension, #return_random_colour, #rev, #royalblue, run, #set_use_this_colour, #sfancy, #sfile, #show_available_components, #show_help, #simp, #slategrey, #sort_files, #static_dir?, #steelblue, #swarn, #use_colours?
Constructor Details
#initialize(optional_input = ARGV, run_already = true) ⇒ SierpinksiTriangle
26
27
28
29
30
31
32
33
34
35
|
# File 'lib/ascii_paradise/static_ascii/sierpinksi_triangle.rb', line 26
def initialize(
optional_input = ARGV,
run_already = true
)
reset
handle_input(
optional_input
)
run if run_already
end
|
Instance Method Details
#
This method will handle input given to this class.
#
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
# File 'lib/ascii_paradise/static_ascii/sierpinksi_triangle.rb', line 42
def handle_input(i)
if i
if i.is_a?(Array) and !i.empty?
@n_times = i.first
elsif i.is_a?(Array) and i.empty? @n_times = N_TIMES
elsif i.is_a? Hash
if i.has_key? :size
@n_times = i.delete :size
end
else
@n_times = i
end
@n_times = @n_times.to_i
end
end
|
#reset ⇒ Object
62
63
64
|
# File 'lib/ascii_paradise/static_ascii/sierpinksi_triangle.rb', line 62
def reset
@n_times = N_TIMES
end
|
#run ⇒ Object
69
70
71
72
73
74
75
76
77
78
79
80
|
# File 'lib/ascii_paradise/static_ascii/sierpinksi_triangle.rb', line 69
def run
@n_times.times { |counter|
joined_substring = (0 .. counter).map {|entry|
~counter & entry > 0 ? ' .' : ' A'
}.join
print ' ' * (@n_times-1-counter), joined_substring
e
}
end
|