qi 6.2.0 → 6.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +0 -24
  3. data/lib/qi/position.rb +0 -21
  4. metadata +1 -15
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8139006ba5fe335016cb13704d9a23e77b20a64a774cca7242fb9bc46860c520
4
- data.tar.gz: 01715c0a65f8d4690f06797db4a97be1d81251cd053dfd842e937f23136faa00
3
+ metadata.gz: 9def332500b0191148a3261cbf17fb9a1a737d46a54366e1f680ee9b924dd2f4
4
+ data.tar.gz: f9eabe8017a92934537d5a4763a74f0c18a0f3437f4e7a7e417ae18bf420eb8d
5
5
  SHA512:
6
- metadata.gz: ac73beb467897bf8bc8f210edd5891fffed38ee24326fe41fb043f5b0b9cf4b99104247a887496d5cfc51de150bae2e1c99c1e44033992f3f8dd2809006a33c4
7
- data.tar.gz: 6ccad4356dd09aabc9925f6357e2af3c137fb425348fb08c7d99b1b13afd049b7c23f8627485d7a8d5089393832194eea98518d2ecb7a423bac8a6607f25a4a5
6
+ metadata.gz: 665e3b706f9b8652ff8280652c6ae808b9b968a1ea6e17603bdd27cbb8d43332b6ed532ebf153a192a5cd6049f8a1cbacdaaccd86824054a0583669e2903c127
7
+ data.tar.gz: e10b2f9376a1d8cd1706b4998f35cb0ef2f9180f9014ccf5193c69e8fbc11d40bfa5a61e9d27c0659c7447c032a884d231f51f92776c01d14a8ef5d6aa782605
data/README.md CHANGED
@@ -62,9 +62,6 @@ starting_position.pieces_in_hand_grouped_by_sides
62
62
  starting_position.active_side_id
63
63
  # => 0
64
64
 
65
- starting_position.feen(9, 9)
66
- # => "l,n,s,g,k,g,s,n,l/1,r,5,b,1/p,p,p,p,p,p,p,p,p/9/9/9/P,P,P,P,P,P,P,P,P/1,B,5,R,1/L,N,S,G,K,G,S,N,L 0 /"
67
-
68
65
  # List of moves (see https://github.com/sashite/pmn.rb)
69
66
  moves = [
70
67
  [ 56, 47, "P" ],
@@ -99,9 +96,6 @@ last_position.pieces_in_hand_grouped_by_sides
99
96
 
100
97
  last_position.active_side_id
101
98
  # => 1
102
-
103
- last_position.feen(9, 9)
104
- # => "l,n,s,k,2,s,n,l/1,r,g,1,G,+B,1,b,1/p,p,p,p,p,p,1,p,p/9/9/2,P,6/P,P,1,P,P,P,P,P,P/7,R,1/L,N,S,G,K,G,S,N,L 1 P/"
105
99
  ```
106
100
 
107
101
  A classic [Tsume Shogi](https://en.wikipedia.org/wiki/Tsume_shogi) problem:
@@ -145,9 +139,6 @@ starting_position.pieces_in_hand_grouped_by_sides
145
139
  starting_position.active_side_id
146
140
  # => 0
147
141
 
148
- starting_position.feen(9, 9)
149
- # => "3,s,k,s,3/9/4,+P,4/9/7,+B,1/9/9/9/9 0 S/b,g,g,g,g,n,n,n,n,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,r,r,s"
150
-
151
142
  # List of moves (see https://github.com/sashite/pmn.rb)
152
143
  moves = [
153
144
  [ 43, 13, "+B" ], [ 5, 13, "s", "b" ],
@@ -177,9 +168,6 @@ last_position.pieces_in_hand_grouped_by_sides
177
168
 
178
169
  last_position.active_side_id
179
170
  # => 1
180
-
181
- last_position.feen(9, 9)
182
- # => "3,s,k,4/4,s,S,3/4,+P,4/9/9/9/9/9/9 1 /b,b,g,g,g,g,n,n,n,n,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,p,r,r,s"
183
171
  ```
184
172
 
185
173
  Another example with [Xiangqi](https://en.wikipedia.org/wiki/Xiangqi)'s Short Double Cannons Checkmate:
@@ -221,9 +209,6 @@ starting_position.pieces_in_hand_grouped_by_sides
221
209
  starting_position.active_side_id
222
210
  # => 0
223
211
 
224
- starting_position.feen(10, 9)
225
- # => "車,馬,象,士,將,士,象,馬,車/9/1,砲,5,砲,1/卒,1,卒,1,卒,1,卒,1,卒/9/9/兵,1,兵,1,兵,1,兵,1,兵/1,炮,5,炮,1/9/俥,傌,相,仕,帥,仕,相,傌,俥 0 /"
226
-
227
212
  # List of moves (see https://github.com/sashite/pmn.rb)
228
213
  moves = [
229
214
  [ 64, 67, "炮" ],
@@ -259,9 +244,6 @@ last_position.pieces_in_hand_grouped_by_sides
259
244
 
260
245
  last_position.active_side_id
261
246
  # => 1
262
-
263
- last_position.feen(10, 9)
264
- # => "車,馬,象,士,將,士,象,馬,車/9/9/卒,1,卒,1,炮,1,卒,1,卒/9/4,炮,4/兵,砲,兵,1,砲,1,兵,1,兵/9/9/俥,傌,相,仕,帥,仕,相,傌,俥 1 /"
265
247
  ```
266
248
 
267
249
  Let's do some moves on a [Four-player chess](https://en.wikipedia.org/wiki/Four-player_chess) board:
@@ -317,9 +299,6 @@ starting_position.pieces_in_hand_grouped_by_sides
317
299
  starting_position.active_side_id
318
300
  # => 0
319
301
 
320
- starting_position.feen(14, 14)
321
- # => "3,yR,yN,yB,yK,yQ,yB,yN,yR,3/3,yP,yP,yP,yP,yP,yP,yP,yP,3/14/bR,bP,10,gP,gR/bN,bP,10,gP,gN/bB,bP,10,gP,gB/bK,bP,10,gP,gQ/bQ,bP,10,gP,gK/bB,bP,10,gP,gB/bN,bP,10,gP,gN/bR,bP,10,gP,gR/14/3,rP,rP,rP,rP,rP,rP,rP,rP,3/3,rR,rN,rB,rQ,rK,rB,rN,rR,3 0 ///"
322
-
323
302
  # List of moves (see https://github.com/sashite/pmn.rb)
324
303
  moves = [
325
304
  [ 175, 147, "rP" ],
@@ -357,9 +336,6 @@ last_position.pieces_in_hand_grouped_by_sides
357
336
 
358
337
  last_position.active_side_id
359
338
  # => 1
360
-
361
- last_position.feen(14, 14)
362
- # => "3,yR,yN,yB,yK,yQ,yB,yN,yR,3/3,yP,yP,yP,1,yP,yP,yP,yP,3/14/bR,bP,4,yP,5,gP,gR/bN,bP,10,gP,gN/bB,bP,10,gP,gB/bK,2,bP,8,gP,gQ/bQ,bP,8,gP,2,gK/bB,bP,10,gP,gB/bN,bP,10,gP,gN/bR,bP,5,rP,4,gP,gR/8,rN,5/3,rP,rP,rP,rP,1,rP,rP,rP,3/3,rR,rN,rB,rQ,rK,rB,1,rR,3 1 ///"
363
339
  ```
364
340
 
365
341
  ## License
@@ -177,26 +177,5 @@ module Qi
177
177
  def in_hand_pieces
178
178
  pieces_in_hand_grouped_by_sides.fetch(active_side_id)
179
179
  end
180
-
181
- # Forsyth–Edwards Expanded Notation.
182
- #
183
- # @see https://developer.sashite.com/specs/forsyth-edwards-expanded-notation
184
- #
185
- # @param indexes [Array] The shape of the board.
186
- #
187
- # @example Generate the FEEN string of a Xiangqi position
188
- # feen(10, 9)
189
- #
190
- # @return [String] The FEEN representation of the position.
191
- def feen(*indexes)
192
- ::FEEN.dump(
193
- active_side_id: active_side_id,
194
- board: squares.each_with_index.inject({}) { |h, (v, i)| v.nil? ? h : h.merge(i.to_s.to_sym => v) },
195
- indexes: indexes,
196
- pieces_in_hand_grouped_by_sides: pieces_in_hand_grouped_by_sides
197
- )
198
- end
199
180
  end
200
181
  end
201
-
202
- require "feen"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: qi
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.2.0
4
+ version: 6.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cyril Kato
@@ -10,20 +10,6 @@ bindir: bin
10
10
  cert_chain: []
11
11
  date: 2020-08-25 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: feen
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ">="
25
- - !ruby/object:Gem::Version
26
- version: '0'
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: brutal
29
15
  requirement: !ruby/object:Gem::Requirement