This file contains hidden or 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
| require 'cairo' | |
| require_relative 'gifanime' | |
| require 'matrix' | |
| include Math | |
| Dir.chdir("picture") #作業用ディレクトリ | |
| Width = 300 | |
| Surface = Cairo::ImageSurface.new(Cairo::FORMAT_ARGB32, Width, Width) | |
| C = Cairo::Context.new(Surface) |
This file contains hidden or 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
| # Gem 'rubysdl' に付属しているサンプルを modify したものです | |
| require 'sdl' | |
| class Object | |
| def deep_clone | |
| Marshal::load(Marshal.dump(self)) | |
| end | |
| end | |
| class Pattern |
This file contains hidden or 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
| parameters = [:factorial] | |
| args = [[:lambda, [:n], [:if, [:<, :n, 1], 1, [:*, :n, [:factorial, [:-, :n, 1]]]]]] | |
| body = [:factorial, 4] | |
| ext_env = [{:factorial=>:dummy}, | |
| {:+ =>[:prim, #<Proc:0x000055a6a4665a80@μSchemeR1.rb:24 (lambda)>], | |
| :- =>[:prim, #<Proc:0x000055a6a4665a30@μSchemeR1.rb:25 (lambda)>], | |
| :* =>[:prim, #<Proc:0x000055a6a46659e0@μSchemeR1.rb:26 (lambda)>], | |
| :/ =>[:prim, #<Proc:0x000055a6a4665990@μSchemeR1.rb:27 (lambda)>], | |
| :> =>[:prim, #<Proc:0x000055a6a4665940@μSchemeR1.rb:28 (lambda)>], |
This file contains hidden or 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
| require 'gtk2' | |
| class GUI < Gtk::Window | |
| Meth = [:wanwan, :nya] | |
| def initialize(&bk) | |
| super("GUI") | |
| set_width_request(200) | |
| box = Gtk::VBox.new |
This file contains hidden or 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
| class CubeMaze | |
| class Wall | |
| def initialize(x, y, h, ob) | |
| @wall = Array.new(h + 1) {Array.new(y) {Array.new(x, 1)}} | |
| @x, @y = x, y | |
| @cube = ob | |
| end | |
| attr_reader :wall | |
| def break(num, n) |
This file contains hidden or 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
| require 'oekaki' | |
| Oekaki.app width: 500, height: 500 do | |
| draw { clear(color(0x1694, 0x3447, 0x8d60)) } | |
| t = Oekaki::Turtle.new | |
| t.color(0xfe5f, 0xaa9a, 0x212a) | |
| ln = 10 | |
| e = Enumerator.new do |y| |
This file contains hidden or 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
| def prime_table(n) | |
| return [] if n < 2 | |
| return [2] if n == 2 | |
| table = [2, 3] | |
| i, step = 5, 2 | |
| while i <= n | |
| guard = Math.sqrt(i).to_i | |
| table.each do |prime| | |
| break if (i % prime).zero? | |
| if prime > guard |
This file contains hidden or 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
| deck = nil #カードの山 | |
| shuffle = lambda do | |
| print "カードをシャッフルします\n\n" | |
| deck = 4.times.flat_map {|i| (1..13).map {|j| i * 100 + j} }.shuffle | |
| end | |
| # 一回の勝負 |
This file contains hidden or 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
| require 'fileutils' | |
| class String | |
| def cut | |
| /.+tomoki\/(.+)$/.match(self)[1] | |
| end | |
| end | |
| def get_file_names(f) | |
| dirs = Dir.glob("*") |
This file contains hidden or 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
| class LifeGame | |
| W, H = 124, 38 | |
| def initialize(n) | |
| @field = new_field | |
| scatter(n) | |
| end | |
| def set_cell(x, y) | |
| @field[y + 1][x + 1] = 1 | |
| end |