osl 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/NEWS.md +18 -0
- data/README.md +12 -0
- data/ext/osl/rbosl.cpp +2 -0
- data/ext/osl/rbosl_move.cpp +0 -3
- data/ext/osl/rbosl_move.h +3 -1
- data/ext/osl/rbosl_piece.cpp +41 -0
- data/ext/osl/rbosl_piece.h +18 -0
- data/ext/osl/rbosl_state.h +12 -3
- data/ext/osl/rbosl_state_numEffectState.cpp +23 -35
- data/ext/osl/rbosl_state_simpleState.cpp +25 -5
- data/lib/osl/version.rb +1 -1
- data/osl.gemspec +4 -1
- data/test/test-numEffectState.rb +29 -21
- data/test/test-piece.rb +11 -0
- data/test/test-simpleState.rb +19 -0
- metadata +50 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c29e705dce452cc0e71abaf45afed179e0ad93b0
|
4
|
+
data.tar.gz: ac1a16b66e4ee44f37f0c2047e2d2fcf1a6ae454
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9b4980c6140d971969dc0f192cfadf41ed7f4234800e79e7d2ba1b7ca4657dff8be65d6d4d48f051965337e84736df1697cbe2aaeec69d50b67e501f533fe32f
|
7
|
+
data.tar.gz: c2b231d25d5bcec3ca69218dbfdb7e1997e14e2c2472d8c2795d18f277d1ea6d3b8d54c5679fc37068fc487cd340be96c3d1834876a5d188135c448f35b05b09
|
data/NEWS.md
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
# NEWS
|
2
|
+
|
3
|
+
## 0.0.2: 2013-08-29
|
4
|
+
|
5
|
+
Supported Piece class release!
|
6
|
+
|
7
|
+
### Changes
|
8
|
+
|
9
|
+
* Improvements
|
10
|
+
* Added SimpleState#pieceAt.
|
11
|
+
* Supported osl::Piece.
|
12
|
+
* Added SimpleState as super-class on NumEffectState.
|
13
|
+
* Improved a check of format.
|
14
|
+
* Use nil for return-value if invalid move-format.
|
15
|
+
|
16
|
+
## 0.0.1: 2013-08-20
|
17
|
+
|
18
|
+
Initial release!
|
data/README.md
CHANGED
data/ext/osl/rbosl.cpp
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
#include "ruby.h"
|
2
|
+
#include "rbosl_piece.h"
|
2
3
|
#include "rbosl_state.h"
|
3
4
|
#include "rbosl_move.h"
|
4
5
|
|
@@ -10,6 +11,7 @@ Init_osl(void)
|
|
10
11
|
{
|
11
12
|
static VALUE mOsl;
|
12
13
|
mOsl = rb_define_module("Osl");
|
14
|
+
rbosl_piece_init(mOsl);
|
13
15
|
rbosl_state_init(mOsl);
|
14
16
|
rbosl_move_init(mOsl);
|
15
17
|
}
|
data/ext/osl/rbosl_move.cpp
CHANGED
data/ext/osl/rbosl_move.h
CHANGED
@@ -2,13 +2,15 @@
|
|
2
2
|
#define RBOSL_MOVE_H
|
3
3
|
|
4
4
|
#include "ruby.h"
|
5
|
+
#include <osl/move.h>
|
6
|
+
#include <osl/record/csa.h>
|
5
7
|
|
6
8
|
extern VALUE cMove;
|
7
9
|
|
8
10
|
#ifdef __cplusplus
|
9
11
|
extern "C" {
|
10
12
|
#endif
|
11
|
-
|
13
|
+
void rbosl_move_init(VALUE mOsl);
|
12
14
|
#ifdef __cplusplus
|
13
15
|
} /* extern "C" */
|
14
16
|
#endif
|
@@ -0,0 +1,41 @@
|
|
1
|
+
#include "rbosl_piece.h"
|
2
|
+
|
3
|
+
VALUE cPiece;
|
4
|
+
|
5
|
+
using namespace osl;
|
6
|
+
|
7
|
+
void
|
8
|
+
rbosl_piece_free(Piece* ptr)
|
9
|
+
{
|
10
|
+
ptr->~Piece();
|
11
|
+
ruby_xfree(ptr);
|
12
|
+
}
|
13
|
+
|
14
|
+
static VALUE
|
15
|
+
rbosl_piece_s_new(VALUE self)
|
16
|
+
{
|
17
|
+
Piece* ptr = new Piece();
|
18
|
+
return Data_Wrap_Struct(self, NULL, rbosl_piece_free, ptr);
|
19
|
+
}
|
20
|
+
|
21
|
+
static VALUE
|
22
|
+
rbosl_piece_to_csa(VALUE self)
|
23
|
+
{
|
24
|
+
Piece* ptr;
|
25
|
+
Data_Get_Struct(self, Piece, ptr);
|
26
|
+
return rb_str_new2(record::csa::show(*ptr).c_str());
|
27
|
+
}
|
28
|
+
|
29
|
+
#ifdef __cplusplus
|
30
|
+
extern "C" {
|
31
|
+
#endif
|
32
|
+
void
|
33
|
+
rbosl_piece_init(VALUE mOsl)
|
34
|
+
{
|
35
|
+
cPiece = rb_define_class_under(mOsl, "Piece", rb_cObject);
|
36
|
+
rb_define_singleton_method(cPiece, "new", RUBY_METHOD_FUNC(rbosl_piece_s_new), 0);
|
37
|
+
rb_define_method(cPiece, "to_csa", RUBY_METHOD_FUNC(rbosl_piece_to_csa), 0);
|
38
|
+
}
|
39
|
+
#ifdef __cplusplus
|
40
|
+
} /* extern "C" */
|
41
|
+
#endif
|
@@ -0,0 +1,18 @@
|
|
1
|
+
#ifndef RBOSL_PIECE_H
|
2
|
+
#define RBOSL_PIECE_H
|
3
|
+
|
4
|
+
#include "ruby.h"
|
5
|
+
#include <osl/piece.h>
|
6
|
+
#include <osl/record/csa.h>
|
7
|
+
|
8
|
+
extern VALUE cPiece;
|
9
|
+
|
10
|
+
#ifdef __cplusplus
|
11
|
+
extern "C" {
|
12
|
+
#endif
|
13
|
+
void rbosl_piece_init(VALUE mOsl);
|
14
|
+
#ifdef __cplusplus
|
15
|
+
} /* extern "C" */
|
16
|
+
#endif
|
17
|
+
|
18
|
+
#endif /* RBOSL_PIECE_H */
|
data/ext/osl/rbosl_state.h
CHANGED
@@ -2,13 +2,22 @@
|
|
2
2
|
#define RBOSL_STATE_H
|
3
3
|
|
4
4
|
#include "ruby.h"
|
5
|
+
#include <osl/state/simpleState.h>
|
6
|
+
#include <osl/state/numEffectState.h>
|
7
|
+
#include <osl/handicap.h>
|
8
|
+
#include <osl/container/moveVector.h>
|
9
|
+
#include <osl/move_generator/legalMoves.h>
|
10
|
+
#include <osl/record/csa.h>
|
11
|
+
#include <iostream>
|
12
|
+
|
13
|
+
extern VALUE cSimpleState;
|
5
14
|
|
6
15
|
#ifdef __cplusplus
|
7
16
|
extern "C" {
|
8
17
|
#endif
|
9
|
-
|
10
|
-
|
11
|
-
|
18
|
+
void rbosl_state_init(VALUE mOsl);
|
19
|
+
void rbosl_simpleState_init(VALUE mState);
|
20
|
+
void rbosl_numEffectState_init(VALUE mState);
|
12
21
|
#ifdef __cplusplus
|
13
22
|
} /* extern "C" */
|
14
23
|
#endif
|
@@ -1,12 +1,5 @@
|
|
1
|
-
#include "ruby.h"
|
2
1
|
#include "rbosl_state.h"
|
3
2
|
#include "rbosl_move.h"
|
4
|
-
#include <osl/state/numEffectState.h>
|
5
|
-
#include <osl/handicap.h>
|
6
|
-
#include <osl/container/moveVector.h>
|
7
|
-
#include <osl/move_generator/legalMoves.h>
|
8
|
-
#include <osl/record/csa.h>
|
9
|
-
#include <iostream>
|
10
3
|
|
11
4
|
using namespace osl;
|
12
5
|
|
@@ -26,22 +19,13 @@ rbosl_numEffectState_s_new(VALUE self)
|
|
26
19
|
return Data_Wrap_Struct(self, NULL, NULL, ptr);
|
27
20
|
}
|
28
21
|
|
29
|
-
static VALUE
|
30
|
-
rbosl_numEffectState_show(VALUE self)
|
31
|
-
{
|
32
|
-
state::NumEffectState* p;
|
33
|
-
Data_Get_Struct(self, state::NumEffectState, p);
|
34
|
-
std::cout << *p << std::endl;
|
35
|
-
return Qnil;
|
36
|
-
}
|
37
|
-
|
38
22
|
static VALUE
|
39
23
|
rbosl_numEffectState_generate(VALUE self)
|
40
24
|
{
|
41
|
-
state::NumEffectState*
|
42
|
-
Data_Get_Struct(self, state::NumEffectState,
|
25
|
+
state::NumEffectState* ptr;
|
26
|
+
Data_Get_Struct(self, state::NumEffectState, ptr);
|
43
27
|
MoveVector moves;
|
44
|
-
LegalMoves::generate(*
|
28
|
+
LegalMoves::generate(*ptr, moves);
|
45
29
|
VALUE moves_ary = rb_ary_new();
|
46
30
|
for (int i = 0; i < (int)moves.size(); i++) {
|
47
31
|
// TODO: ruby: munmap_chunk(): invalid pointer
|
@@ -55,18 +39,18 @@ rbosl_numEffectState_generate(VALUE self)
|
|
55
39
|
static VALUE
|
56
40
|
rbosl_numEffectState_makeMove(VALUE self, VALUE rb_move)
|
57
41
|
{
|
58
|
-
state::NumEffectState*
|
59
|
-
Data_Get_Struct(self, state::NumEffectState,
|
42
|
+
state::NumEffectState* ptr;
|
43
|
+
Data_Get_Struct(self, state::NumEffectState, ptr);
|
60
44
|
|
61
45
|
Move* c_move;
|
62
46
|
if (TYPE(rb_move) == T_STRING) {
|
63
|
-
Move osl_move = record::csa::strToMove(StringValuePtr(rb_move), *
|
47
|
+
Move osl_move = record::csa::strToMove(StringValuePtr(rb_move), *ptr);
|
64
48
|
c_move = &osl_move;
|
65
49
|
} else {
|
66
50
|
Data_Get_Struct(rb_move, Move, c_move);
|
67
51
|
}
|
68
52
|
|
69
|
-
|
53
|
+
ptr->makeMove(*c_move);
|
70
54
|
|
71
55
|
return Qnil;
|
72
56
|
}
|
@@ -74,22 +58,27 @@ rbosl_numEffectState_makeMove(VALUE self, VALUE rb_move)
|
|
74
58
|
static VALUE
|
75
59
|
rbosl_numEffectState_isValidMove(VALUE self, VALUE rb_move)
|
76
60
|
{
|
77
|
-
state::NumEffectState*
|
78
|
-
Data_Get_Struct(self, state::NumEffectState,
|
61
|
+
state::NumEffectState* ptr;
|
62
|
+
Data_Get_Struct(self, state::NumEffectState, ptr);
|
79
63
|
|
80
64
|
Move* c_move;
|
81
65
|
if (TYPE(rb_move) == T_STRING) {
|
82
|
-
// TODO:
|
83
|
-
|
84
|
-
|
66
|
+
// TODO: Rescue invalid piece. e.g.) +7776XX
|
67
|
+
// TODO: Support except for CSA format.
|
68
|
+
VALUE format_checked = rb_funcall(rb_move,
|
69
|
+
rb_intern("match"),
|
70
|
+
1,
|
71
|
+
rb_str_new2("[+-][0-9]{4}[A-Z]{2}"));
|
72
|
+
if (format_checked == Qnil) {
|
73
|
+
return Qnil;
|
85
74
|
}
|
86
|
-
Move osl_move = record::csa::strToMove(StringValuePtr(rb_move), *
|
75
|
+
Move osl_move = record::csa::strToMove(StringValuePtr(rb_move), *ptr);
|
87
76
|
c_move = &osl_move;
|
88
77
|
} else {
|
89
78
|
Data_Get_Struct(rb_move, Move, c_move);
|
90
79
|
}
|
91
80
|
|
92
|
-
if (
|
81
|
+
if (ptr->isValidMove(*c_move)) {
|
93
82
|
return Qtrue;
|
94
83
|
} else {
|
95
84
|
return Qfalse;
|
@@ -99,10 +88,10 @@ rbosl_numEffectState_isValidMove(VALUE self, VALUE rb_move)
|
|
99
88
|
static VALUE
|
100
89
|
rbosl_numEffectState_inCheck(VALUE self)
|
101
90
|
{
|
102
|
-
state::NumEffectState*
|
103
|
-
Data_Get_Struct(self, state::NumEffectState,
|
91
|
+
state::NumEffectState* ptr;
|
92
|
+
Data_Get_Struct(self, state::NumEffectState, ptr);
|
104
93
|
|
105
|
-
if (
|
94
|
+
if (ptr->inCheck(alt(ptr->turn()))) {
|
106
95
|
return Qtrue;
|
107
96
|
} else {
|
108
97
|
return Qfalse;
|
@@ -116,9 +105,8 @@ void
|
|
116
105
|
rbosl_numEffectState_init(VALUE mState)
|
117
106
|
{
|
118
107
|
VALUE cNumEffectState;
|
119
|
-
cNumEffectState = rb_define_class_under(mState, "NumEffectState",
|
108
|
+
cNumEffectState = rb_define_class_under(mState, "NumEffectState", cSimpleState);
|
120
109
|
rb_define_singleton_method(cNumEffectState, "new", RUBY_METHOD_FUNC(rbosl_numEffectState_s_new), 0);
|
121
|
-
rb_define_method(cNumEffectState, "show", RUBY_METHOD_FUNC(rbosl_numEffectState_show), 0);
|
122
110
|
rb_define_method(cNumEffectState, "generate", RUBY_METHOD_FUNC(rbosl_numEffectState_generate), 0);
|
123
111
|
rb_define_method(cNumEffectState, "makeMove", RUBY_METHOD_FUNC(rbosl_numEffectState_makeMove), 1);
|
124
112
|
rb_define_alias(cNumEffectState, "move", "makeMove");
|
@@ -1,11 +1,10 @@
|
|
1
|
-
#include "ruby.h"
|
2
1
|
#include "rbosl_state.h"
|
3
|
-
#include
|
4
|
-
#include <osl/handicap.h>
|
5
|
-
#include <iostream>
|
2
|
+
#include "rbosl_piece.h"
|
6
3
|
|
7
4
|
using namespace osl;
|
8
5
|
|
6
|
+
VALUE cSimpleState;
|
7
|
+
|
9
8
|
void
|
10
9
|
rbosl_simpleState_free(state::SimpleState* ptr)
|
11
10
|
{
|
@@ -29,16 +28,37 @@ rbosl_simpleState_show(VALUE self)
|
|
29
28
|
return Qnil;
|
30
29
|
}
|
31
30
|
|
31
|
+
static VALUE
|
32
|
+
rbosl_simpleState_pieceAt(VALUE self, VALUE rb_square)
|
33
|
+
{
|
34
|
+
state::SimpleState* ptr;
|
35
|
+
Data_Get_Struct(self, state::SimpleState, ptr);
|
36
|
+
|
37
|
+
Square* c_square;
|
38
|
+
if (TYPE(rb_square) == T_STRING) {
|
39
|
+
Square tmp_square = record::csa::strToPos(StringValuePtr(rb_square));
|
40
|
+
c_square = &tmp_square;
|
41
|
+
} else {
|
42
|
+
Data_Get_Struct(rb_square, Square, c_square);
|
43
|
+
}
|
44
|
+
|
45
|
+
Piece c_piece = ptr->pieceAt(*c_square);
|
46
|
+
VALUE rb_piece = Data_Wrap_Struct(cPiece, NULL, NULL, &c_piece);
|
47
|
+
|
48
|
+
return rb_piece;
|
49
|
+
}
|
50
|
+
|
32
51
|
#ifdef __cplusplus
|
33
52
|
extern "C" {
|
34
53
|
#endif
|
35
54
|
void
|
36
55
|
rbosl_simpleState_init(VALUE mState)
|
37
56
|
{
|
38
|
-
VALUE cSimpleState;
|
39
57
|
cSimpleState = rb_define_class_under(mState, "SimpleState", rb_cObject);
|
40
58
|
rb_define_singleton_method(cSimpleState, "new", RUBY_METHOD_FUNC(rbosl_simpleState_s_new), 0);
|
41
59
|
rb_define_method(cSimpleState, "show", RUBY_METHOD_FUNC(rbosl_simpleState_show), 0);
|
60
|
+
rb_define_method(cSimpleState, "pieceAt", RUBY_METHOD_FUNC(rbosl_simpleState_pieceAt), 1);
|
61
|
+
rb_define_alias(cSimpleState, "at", "pieceAt");
|
42
62
|
}
|
43
63
|
#ifdef __cplusplus
|
44
64
|
} /* extern "C" */
|
data/lib/osl/version.rb
CHANGED
data/osl.gemspec
CHANGED
@@ -9,7 +9,7 @@ Gem::Specification.new do |spec|
|
|
9
9
|
spec.authors = ["Masafumi Yokoyama"]
|
10
10
|
spec.email = ["myokoym@gmail.com"]
|
11
11
|
spec.description = %q{Ruby/OSL is a Ruby binding of OpenShogiLib.}
|
12
|
-
spec.summary = %q{Ruby
|
12
|
+
spec.summary = %q{Ruby binding of OpenShogiLib}
|
13
13
|
spec.homepage = "https://github.com/myokoym/ruby-osl"
|
14
14
|
spec.license = "MIT"
|
15
15
|
|
@@ -19,6 +19,9 @@ Gem::Specification.new do |spec|
|
|
19
19
|
spec.extensions = ["ext/osl/extconf.rb"]
|
20
20
|
spec.require_paths = ["lib", "ext/osl"]
|
21
21
|
|
22
|
+
spec.add_development_dependency("test-unit")
|
23
|
+
spec.add_development_dependency("test-unit-notify")
|
24
|
+
spec.add_development_dependency("test-unit-rr")
|
22
25
|
spec.add_development_dependency("bundler", "~> 1.3")
|
23
26
|
spec.add_development_dependency("rake")
|
24
27
|
end
|
data/test/test-numEffectState.rb
CHANGED
@@ -1,55 +1,63 @@
|
|
1
1
|
require "osl"
|
2
2
|
|
3
3
|
class NumEffectStateTest < Test::Unit::TestCase
|
4
|
+
def setup
|
5
|
+
@nstate = Osl::State::NumEffectState.new
|
6
|
+
end
|
7
|
+
|
4
8
|
def test_new
|
5
9
|
assert_not_nil(Osl::State::NumEffectState.new)
|
6
10
|
end
|
7
11
|
|
12
|
+
def test_super_class
|
13
|
+
assert_true(@nstate.is_a?(Osl::State::SimpleState))
|
14
|
+
end
|
15
|
+
|
16
|
+
def test_show
|
17
|
+
assert_true(@nstate.respond_to?(:show))
|
18
|
+
end
|
19
|
+
|
8
20
|
def test_generate
|
9
|
-
|
10
|
-
moves = nstate.generate
|
21
|
+
moves = @nstate.generate
|
11
22
|
assert_not_nil(moves)
|
12
23
|
assert_true(moves.is_a?(Array))
|
13
24
|
assert_true(moves.first.is_a?(Osl::Move))
|
14
25
|
end
|
15
26
|
|
16
27
|
def test_makeMove
|
17
|
-
|
18
|
-
moves = nstate.generate
|
28
|
+
moves = @nstate.generate
|
19
29
|
assert_nothing_raised do
|
20
|
-
nstate.makeMove(moves.first)
|
30
|
+
@nstate.makeMove(moves.first)
|
21
31
|
end
|
22
32
|
assert_nothing_raised do
|
23
|
-
nstate.move(moves.first) # alias
|
33
|
+
@nstate.move(moves.first) # alias
|
24
34
|
end
|
25
35
|
end
|
26
36
|
|
27
37
|
def test_makeMove_from_csa
|
28
|
-
nstate = Osl::State::NumEffectState.new
|
29
38
|
assert_nothing_raised do
|
30
|
-
nstate.makeMove("+7776FU")
|
39
|
+
@nstate.makeMove("+7776FU")
|
31
40
|
end
|
32
41
|
end
|
33
42
|
|
34
43
|
def test_isValidMove
|
35
|
-
|
36
|
-
|
37
|
-
assert_true(nstate.
|
38
|
-
|
39
|
-
assert_false(nstate.isValidMove(Osl::Move.new))
|
44
|
+
moves = @nstate.generate
|
45
|
+
assert_true(@nstate.isValidMove(moves.first))
|
46
|
+
assert_true(@nstate.valid?(moves.first)) # alias
|
47
|
+
assert_false(@nstate.isValidMove(Osl::Move.new))
|
40
48
|
end
|
41
49
|
|
42
50
|
def test_isValidMove_from_csa
|
43
|
-
nstate
|
44
|
-
assert_true(nstate.
|
45
|
-
|
46
|
-
|
47
|
-
|
51
|
+
assert_true(@nstate.isValidMove("+7776FU"))
|
52
|
+
assert_true(@nstate.valid?("+7776FU")) # alias
|
53
|
+
assert_false(@nstate.isValidMove("-7776FU"))
|
54
|
+
assert_nil(@nstate.isValidMove(""))
|
55
|
+
assert_nil(@nstate.isValidMove("7776FU"))
|
56
|
+
assert_nil(@nstate.isValidMove("-7776"))
|
48
57
|
end
|
49
58
|
|
50
59
|
def test_inCheck
|
51
|
-
nstate
|
52
|
-
assert_false(nstate.
|
53
|
-
assert_false(nstate.in_check?) # alias
|
60
|
+
assert_false(@nstate.inCheck)
|
61
|
+
assert_false(@nstate.in_check?) # alias
|
54
62
|
end
|
55
63
|
end
|
data/test/test-piece.rb
ADDED
data/test/test-simpleState.rb
CHANGED
@@ -1,7 +1,26 @@
|
|
1
1
|
require "osl"
|
2
|
+
require "stringio"
|
2
3
|
|
3
4
|
class SimpleStateTest < Test::Unit::TestCase
|
5
|
+
def setup
|
6
|
+
@sstate = Osl::State::SimpleState.new
|
7
|
+
end
|
8
|
+
|
4
9
|
def test_new
|
5
10
|
assert_not_nil(Osl::State::SimpleState.new)
|
6
11
|
end
|
12
|
+
|
13
|
+
def test_show
|
14
|
+
assert_true(@sstate.respond_to?(:show))
|
15
|
+
end
|
16
|
+
|
17
|
+
def test_pieceAt
|
18
|
+
piece = @sstate.pieceAt("77")
|
19
|
+
assert_true(piece.is_a?(Osl::Piece))
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_at
|
23
|
+
piece = @sstate.at("77")
|
24
|
+
assert_true(piece.is_a?(Osl::Piece))
|
25
|
+
end
|
7
26
|
end
|
metadata
CHANGED
@@ -1,15 +1,57 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: osl
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Masafumi Yokoyama
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-08-
|
11
|
+
date: 2013-08-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: test-unit
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: test-unit-notify
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: test-unit-rr
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
13
55
|
- !ruby/object:Gem::Dependency
|
14
56
|
name: bundler
|
15
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -49,12 +91,15 @@ files:
|
|
49
91
|
- .gitignore
|
50
92
|
- Gemfile
|
51
93
|
- LICENSE
|
94
|
+
- NEWS.md
|
52
95
|
- README.md
|
53
96
|
- Rakefile
|
54
97
|
- ext/osl/extconf.rb
|
55
98
|
- ext/osl/rbosl.cpp
|
56
99
|
- ext/osl/rbosl_move.cpp
|
57
100
|
- ext/osl/rbosl_move.h
|
101
|
+
- ext/osl/rbosl_piece.cpp
|
102
|
+
- ext/osl/rbosl_piece.h
|
58
103
|
- ext/osl/rbosl_state.cpp
|
59
104
|
- ext/osl/rbosl_state.h
|
60
105
|
- ext/osl/rbosl_state_numEffectState.cpp
|
@@ -67,6 +112,7 @@ files:
|
|
67
112
|
- test/test-move.rb
|
68
113
|
- test/test-numEffectState.rb
|
69
114
|
- test/test-osl.rb
|
115
|
+
- test/test-piece.rb
|
70
116
|
- test/test-simpleState.rb
|
71
117
|
homepage: https://github.com/myokoym/ruby-osl
|
72
118
|
licenses:
|
@@ -92,11 +138,12 @@ rubyforge_project:
|
|
92
138
|
rubygems_version: 2.0.3
|
93
139
|
signing_key:
|
94
140
|
specification_version: 4
|
95
|
-
summary: Ruby
|
141
|
+
summary: Ruby binding of OpenShogiLib
|
96
142
|
test_files:
|
97
143
|
- test/run-test.rb
|
98
144
|
- test/test-move.rb
|
99
145
|
- test/test-numEffectState.rb
|
100
146
|
- test/test-osl.rb
|
147
|
+
- test/test-piece.rb
|
101
148
|
- test/test-simpleState.rb
|
102
149
|
has_rdoc:
|