Pastie now auto-senses if line-wrap is a bad or good idea. Feedback?
## mark a section (Learn more)
##application class Main attr_accessor :screen , :font , :bgcolor , :fgcolor , :size , :fname , :background , :x , :y , :cursor , :flags def initialize @screen = screen @background = background @font = font @bgcolor = bgcolor @fgcolor = fgcolor @size = size @fname = fname @x = x @y = y @cursor = cursor @cursor = true @flags = flags @flags = [Rubygame::HWSURFACE, Rubygame::DOUBLEBUF] end #setup screen def set_new x = @x, y = @y, cursor = @cursor @x = x @y = y @cursor = cursor screenmode() end def screenmode @screen = Rubygame::Screen.set_mode([@x,@y],0, @flags) @screen.show_cursor = @cursor @background = Rubygame::Surface.new(@screen.size) end #Load a TTF file and set the size of the TFF file provided def font_set location , size @size = size @fname = location @font = TTF.new("#{location}",@size) end def screen_clear @background.blit(@screen, [0,0]) end def background_cleanup @background.draw_filled_box([0,0], [@x,@y] , [0,0,0] ) end def add n case n when 1 @flags << Rubygame::FULLSCREEN end screenmode() end end ##test class MainScreenTest < Test::Unit::TestCase def setup @main = Main.new end def test_return_new_size @main.set_new(800,600) assert @main.screen.size == [800,600] end def test_return_same_size @main.set_new(800,600) @main.set_new() assert @main.screen.size == [800,600] end def test_return_false @main.set_new(800,600,false) @main.set_new() assert @main.cursor == false end def test_screen_return_extra_flags @main.set_new(800,600) @main.add(1) assert @main.screen.flags[-1] == Rubygame::FULLSCREEN Rubygame.quit() end end ##result 1) Failure: test_screen_return_extra_flags(MainScreenTest) [./rbgooey/test/test_main_screen.rb:43]: <false> is not true. 9 tests, 15 assertions, 1 failures, 0 erro
This paste will be private.
From the Design Piracy series on my blog: