qi 10.0.0.beta2 → 10.0.0.beta4
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/README.md +1 -1
- data/lib/qi/action.rb +9 -23
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ba69668b35781db7bbad0806b6940d99924fa3693355f01538b14bb8ebf159e7
|
4
|
+
data.tar.gz: 8447f2df3687f661762d1a99adffc31640d693f52a4012adf2f89825b2614239
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 00aa0f50dd054bc1c15a0de068b4c7e2e3e18d2fc63da9db8c781f72058efc472409fe474545a6b088cb9a5b62ad87120baebbb3ad24e3cada79d6a3726f02c6
|
7
|
+
data.tar.gz: d6909071d69cd7308e2655a5331b1d522e424cf05b002a73da5a54e4c7f570533d44c7db23111f4b609d876bf415b742127e0613b38685a49ccc465638c57427
|
data/README.md
CHANGED
data/lib/qi/action.rb
CHANGED
@@ -16,33 +16,19 @@ module Qi
|
|
16
16
|
#
|
17
17
|
# @return [Array] An action to change the position.
|
18
18
|
def call(**diffs)
|
19
|
-
captures = @captures
|
20
|
-
|
19
|
+
captures = @captures + Array(diffs.delete(CAPTURE_CHAR))
|
20
|
+
drop = diffs.delete(DROP_CHAR)
|
21
21
|
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
captures = capture(v, *captures)
|
26
|
-
when DROP_CHAR
|
27
|
-
captures = drop(v, *captures)
|
28
|
-
else
|
29
|
-
squares = squares.merge(k => v)
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
[captures, squares.compact]
|
34
|
-
end
|
22
|
+
unless drop.nil?
|
23
|
+
index = captures.rindex(drop)
|
24
|
+
raise ::IndexError, "Piece #{drop.inspect} not captured!" if index.nil?
|
35
25
|
|
36
|
-
|
26
|
+
captures.delete_at(index)
|
27
|
+
end
|
37
28
|
|
38
|
-
|
39
|
-
[item] + items
|
40
|
-
end
|
29
|
+
squares = @squares.merge(diffs).compact
|
41
30
|
|
42
|
-
|
43
|
-
item_id = items.index(item) || raise(::IndexError, "Piece #{item.inspect} not found!")
|
44
|
-
items.delete_at(item_id)
|
45
|
-
items
|
31
|
+
[captures.sort, squares]
|
46
32
|
end
|
47
33
|
end
|
48
34
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: qi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 10.0.0.
|
4
|
+
version: 10.0.0.beta4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Cyril Kato
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-04-21 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: An abstraction that could help to update positions for games like Shogi.
|
14
14
|
email: contact@cyril.email
|
@@ -41,7 +41,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
41
41
|
- !ruby/object:Gem::Version
|
42
42
|
version: 1.3.1
|
43
43
|
requirements: []
|
44
|
-
rubygems_version: 3.4.
|
44
|
+
rubygems_version: 3.4.6
|
45
45
|
signing_key:
|
46
46
|
specification_version: 4
|
47
47
|
summary: An abstraction that could help to update positions for games like Shogi.
|