Module: Miscellaneous
Instance Method Summary collapse
- #duck1 ⇒ Object
- #duck2 ⇒ Object
- #duck3 ⇒ Object
- #duck4 ⇒ Object
- #facttree2 ⇒ Object
- #facttree3 ⇒ Object
- #fractree1(m = 32, l = "A") ⇒ Object
- #ruby_quiz ⇒ Object
Instance Method Details
#duck1 ⇒ Object
19 20 21 |
# File 'lib/carat-dev/misc/misc.rb', line 19 def duck1 s="\033[2J\033[0;0H _\n Quack! >(')____,\n (` =~~/\n~^~^~^~^~^`---'~^~^~^~^";(1..(1/0.0)).each{|i|s[23,6]=(i%2)==0?"Quack!":" "*6;s.tr!('>~^^~<','<^~~^>');puts s;sleep 1} end |
#duck2 ⇒ Object
23 24 25 |
# File 'lib/carat-dev/misc/misc.rb', line 23 def duck2 s="\e[2J\e[0;0H _\nQuack! >(*)____,\n (` =~~/\n^v^v^v^v^`---'v^v^v^v^\n";i=0;loop{s[21,6]=i&1>0?'Quack!':' '*6;s.tr!(t='*.>v^<,"',t.reverse);$><<s;i+=sleep 1} end |
#duck3 ⇒ Object
27 28 29 |
# File 'lib/carat-dev/misc/misc.rb', line 27 def duck3 q,w='Quack! >','~^'*11;t="\e[2J\e[0;0H _\n%8s(')____,\n (` =^^/\n%20s \n";i=0;loop{s=t%[i&1>0?q:'<',w[i%2,20]];$><<s;i+=sleep 1} end |
#duck4 ⇒ Object
31 32 33 |
# File 'lib/carat-dev/misc/misc.rb', line 31 def duck4 i=1;loop{puts"\e[2J\e[0;0H#{' '*10}_\n %8s(*)____,\n#{' '*9}(` =~~/\n#{'~^~'[i%2,2]*9}"%(i&1>0?'<':'Quack! >');i+=sleep 1} end |
#facttree2 ⇒ Object
11 12 13 |
# File 'lib/carat-dev/misc/misc.rb', line 11 def facttree2 a=[];10.times{|n|a<<1;puts" "*(9-n)*3+"%6d"*(n+1)%a;n.times{|i|a[n]+=a[n-=1]}} end |
#facttree3 ⇒ Object
15 16 17 |
# File 'lib/carat-dev/misc/misc.rb', line 15 def facttree3 a=[];10.times{|n|a<<1;puts" "*(9-n)*3+"%6d"*-~n%a;n.times{|i|a[n]+=a[n-=1]}} end |
#fractree1(m = 32, l = "A") ⇒ Object
6 7 8 9 |
# File 'lib/carat-dev/misc/misc.rb', line 6 def fractree1(m=32,l="A") #n.times{|y|print" "*(n-1-y);(y+1).times{|x|print~y&x>0?" .":" #{l[0.1]}"};puts} n.times{|y|print" "*(n-1-y),(0..y).map{|x|~y&x>0?" .":" #{l}"},$/} end |
#ruby_quiz ⇒ Object
35 36 37 |
# File 'lib/carat-dev/misc/misc.rb', line 35 def ruby_quiz "bp6siZmijp5CiZlCiW5CgAAChpbiiZYiiZZCi5aCZ2bs".unpack("m")[0].unpack("C*").map{|x|x.chr}.join.unpack("B*")[0].scan(/.{24}/){i=7;$&.scan(/..../){print"\e[3#{i-=1};1;40m ";$&.each_byte{|z|print" #"[z-?0,1]*2}};puts"\e[0m"} end |