View root.rb
require 'prime' | |
module Kernel | |
def Root(*args) | |
Root.new(*args) | |
end | |
end | |
module ExRoot | |
def to_root |
View thirty_one_play.go
package main | |
import "fmt" | |
import "math/rand" | |
import "time" | |
var goal = 31 | |
func min_max(cards []int, turn bool, sum int) int { | |
if sum == goal { if turn {return -10} else {return 10} } | |
if sum > goal { if turn {return 10} else {return -10} } |
View cairo_sample1.rb
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) |
View rubysdl_tetris.rb
# Gem 'rubysdl' に付属しているサンプルを modify したものです | |
require 'sdl' | |
class Object | |
def deep_clone | |
Marshal::load(Marshal.dump(self)) | |
end | |
end | |
class Pattern |
View μSchemeR_debug.rb
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)>], |
View gtk_sample2c.rb
require 'gtk2' | |
class GUI < Gtk::Window | |
Meth = [:wanwan, :nya] | |
def initialize(&bk) | |
super("GUI") | |
set_width_request(200) | |
box = Gtk::VBox.new |
View 3d_maze_generate.rb
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) |
View oekaki_sample19a.rb
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| |
View prime_table.rb
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 |
View blackjack.rb
deck = nil #カードの山 | |
shuffle = lambda do | |
print "カードをシャッフルします\n\n" | |
deck = 4.times.flat_map {|i| (1..13).map {|j| i * 100 + j} }.shuffle | |
end | |
# 一回の勝負 |