chess 0.3.5 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -46,16 +46,16 @@
46
46
 
47
47
  <li class="odd ">
48
48
  <div class="item">
49
- <span class='object_link'><a href="Chess/Board.html#[]-instance_method" title="Chess::Board#[] (method)">#[]</a></span>
50
- <small>Chess::Board</small>
49
+ <span class='object_link'><a href="Chess/CGame.html#[]-instance_method" title="Chess::CGame#[] (method)">#[]</a></span>
50
+ <small>Chess::CGame</small>
51
51
  </div>
52
52
  </li>
53
53
 
54
54
 
55
55
  <li class="even ">
56
56
  <div class="item">
57
- <span class='object_link'><a href="Chess/CGame.html#[]-instance_method" title="Chess::CGame#[] (method)">#[]</a></span>
58
- <small>Chess::CGame</small>
57
+ <span class='object_link'><a href="Chess/Board.html#[]-instance_method" title="Chess::Board#[] (method)">#[]</a></span>
58
+ <small>Chess::Board</small>
59
59
  </div>
60
60
  </li>
61
61
 
@@ -174,13 +174,21 @@
174
174
 
175
175
  <li class="odd ">
176
176
  <div class="item">
177
- <span class='object_link'><a href="Chess/Board.html#generate_moves-instance_method" title="Chess::Board#generate_moves (method)">#generate_moves</a></span>
177
+ <span class='object_link'><a href="Chess/Board.html#generate_all_moves-instance_method" title="Chess::Board#generate_all_moves (method)">#generate_all_moves</a></span>
178
178
  <small>Chess::Board</small>
179
179
  </div>
180
180
  </li>
181
181
 
182
182
 
183
183
  <li class="even ">
184
+ <div class="item">
185
+ <span class='object_link'><a href="Chess/Board.html#generate_moves-instance_method" title="Chess::Board#generate_moves (method)">#generate_moves</a></span>
186
+ <small>Chess::Board</small>
187
+ </div>
188
+ </li>
189
+
190
+
191
+ <li class="odd ">
184
192
  <div class="item">
185
193
  <span class='object_link'><a href="Chess/Gnuchess.html#gnuchess_move-instance_method" title="Chess::Gnuchess#gnuchess_move (method)">#gnuchess_move</a></span>
186
194
  <small>Chess::Gnuchess</small>
@@ -188,7 +196,7 @@
188
196
  </li>
189
197
 
190
198
 
191
- <li class="odd ">
199
+ <li class="even ">
192
200
  <div class="item">
193
201
  <span class='object_link'><a href="Chess/Gnuchess.html#gnuchess_move!-instance_method" title="Chess::Gnuchess#gnuchess_move! (method)">#gnuchess_move!</a></span>
194
202
  <small>Chess::Gnuchess</small>
@@ -196,7 +204,7 @@
196
204
  </li>
197
205
 
198
206
 
199
- <li class="even ">
207
+ <li class="odd ">
200
208
  <div class="item">
201
209
  <span class='object_link'><a href="Chess/Board.html#halfmove_clock-instance_method" title="Chess::Board#halfmove_clock (method)">#halfmove_clock</a></span>
202
210
  <small>Chess::Board</small>
@@ -204,7 +212,7 @@
204
212
  </li>
205
213
 
206
214
 
207
- <li class="odd ">
215
+ <li class="even ">
208
216
  <div class="item">
209
217
  <span class='object_link'><a href="Chess/Game.html#inactive_player-instance_method" title="Chess::Game#inactive_player (method)">#inactive_player</a></span>
210
218
  <small>Chess::Game</small>
@@ -212,6 +220,14 @@
212
220
  </li>
213
221
 
214
222
 
223
+ <li class="odd ">
224
+ <div class="item">
225
+ <span class='object_link'><a href="Chess/InvalidFenFormatError.html#initialize-instance_method" title="Chess::InvalidFenFormatError#initialize (method)">#initialize</a></span>
226
+ <small>Chess::InvalidFenFormatError</small>
227
+ </div>
228
+ </li>
229
+
230
+
215
231
  <li class="even ">
216
232
  <div class="item">
217
233
  <span class='object_link'><a href="Chess/Game.html#initialize-instance_method" title="Chess::Game#initialize (method)">#initialize</a></span>
@@ -245,14 +261,6 @@
245
261
 
246
262
 
247
263
  <li class="even ">
248
- <div class="item">
249
- <span class='object_link'><a href="Chess/InvalidFenFormatError.html#initialize-instance_method" title="Chess::InvalidFenFormatError#initialize (method)">#initialize</a></span>
250
- <small>Chess::InvalidFenFormatError</small>
251
- </div>
252
- </li>
253
-
254
-
255
- <li class="odd ">
256
264
  <div class="item">
257
265
  <span class='object_link'><a href="Chess/Board.html#insufficient_material%3F-instance_method" title="Chess::Board#insufficient_material? (method)">#insufficient_material?</a></span>
258
266
  <small>Chess::Board</small>
@@ -260,7 +268,7 @@
260
268
  </li>
261
269
 
262
270
 
263
- <li class="even ">
271
+ <li class="odd ">
264
272
  <div class="item">
265
273
  <span class='object_link'><a href="Chess/Pgn.html#load-instance_method" title="Chess::Pgn#load (method)">#load</a></span>
266
274
  <small>Chess::Pgn</small>
@@ -268,7 +276,7 @@
268
276
  </li>
269
277
 
270
278
 
271
- <li class="odd ">
279
+ <li class="even ">
272
280
  <div class="item">
273
281
  <span class='object_link'><a href="Chess/Game.html#load_fen-class_method" title="Chess::Game.load_fen (method)">load_fen</a></span>
274
282
  <small>Chess::Game</small>
@@ -276,7 +284,7 @@
276
284
  </li>
277
285
 
278
286
 
279
- <li class="even ">
287
+ <li class="odd ">
280
288
  <div class="item">
281
289
  <span class='object_link'><a href="Chess/Pgn.html#load_from_string-instance_method" title="Chess::Pgn#load_from_string (method)">#load_from_string</a></span>
282
290
  <small>Chess::Pgn</small>
@@ -284,7 +292,7 @@
284
292
  </li>
285
293
 
286
294
 
287
- <li class="odd ">
295
+ <li class="even ">
288
296
  <div class="item">
289
297
  <span class='object_link'><a href="Chess/Game.html#load_pgn-class_method" title="Chess::Game.load_pgn (method)">load_pgn</a></span>
290
298
  <small>Chess::Game</small>
@@ -292,7 +300,7 @@
292
300
  </li>
293
301
 
294
302
 
295
- <li class="even ">
303
+ <li class="odd ">
296
304
  <div class="item">
297
305
  <span class='object_link'><a href="Chess/CGame.html#move-instance_method" title="Chess::CGame#move (method)">#move</a></span>
298
306
  <small>Chess::CGame</small>
@@ -300,7 +308,7 @@
300
308
  </li>
301
309
 
302
310
 
303
- <li class="odd ">
311
+ <li class="even ">
304
312
  <div class="item">
305
313
  <span class='object_link'><a href="Chess/Game.html#move-instance_method" title="Chess::Game#move (method)">#move</a></span>
306
314
  <small>Chess::Game</small>
@@ -308,7 +316,7 @@
308
316
  </li>
309
317
 
310
318
 
311
- <li class="even ">
319
+ <li class="odd ">
312
320
  <div class="item">
313
321
  <span class='object_link'><a href="Chess/CGame.html#move2-instance_method" title="Chess::CGame#move2 (method)">#move2</a></span>
314
322
  <small>Chess::CGame</small>
@@ -316,7 +324,7 @@
316
324
  </li>
317
325
 
318
326
 
319
- <li class="odd ">
327
+ <li class="even ">
320
328
  <div class="item">
321
329
  <span class='object_link'><a href="Chess/CGame.html#move3-instance_method" title="Chess::CGame#move3 (method)">#move3</a></span>
322
330
  <small>Chess::CGame</small>
@@ -324,23 +332,23 @@
324
332
  </li>
325
333
 
326
334
 
327
- <li class="even ">
335
+ <li class="odd ">
328
336
  <div class="item">
329
- <span class='object_link'><a href="Chess/Pgn.html#moves-instance_method" title="Chess::Pgn#moves (method)">#moves</a></span>
330
- <small>Chess::Pgn</small>
337
+ <span class='object_link'><a href="Chess/CGame.html#moves-instance_method" title="Chess::CGame#moves (method)">#moves</a></span>
338
+ <small>Chess::CGame</small>
331
339
  </div>
332
340
  </li>
333
341
 
334
342
 
335
- <li class="odd ">
343
+ <li class="even ">
336
344
  <div class="item">
337
- <span class='object_link'><a href="Chess/CGame.html#moves-instance_method" title="Chess::CGame#moves (method)">#moves</a></span>
338
- <small>Chess::CGame</small>
345
+ <span class='object_link'><a href="Chess/Pgn.html#moves-instance_method" title="Chess::Pgn#moves (method)">#moves</a></span>
346
+ <small>Chess::Pgn</small>
339
347
  </div>
340
348
  </li>
341
349
 
342
350
 
343
- <li class="even ">
351
+ <li class="odd ">
344
352
  <div class="item">
345
353
  <span class='object_link'><a href="Chess/Game.html#moves=-instance_method" title="Chess::Game#moves= (method)">#moves=</a></span>
346
354
  <small>Chess::Game</small>
@@ -348,7 +356,7 @@
348
356
  </li>
349
357
 
350
358
 
351
- <li class="odd ">
359
+ <li class="even ">
352
360
  <div class="item">
353
361
  <span class='object_link'><a href="Chess/Board.html#only_kings%3F-instance_method" title="Chess::Board#only_kings? (method)">#only_kings?</a></span>
354
362
  <small>Chess::Board</small>
@@ -356,7 +364,7 @@
356
364
  </li>
357
365
 
358
366
 
359
- <li class="even ">
367
+ <li class="odd ">
360
368
  <div class="item">
361
369
  <span class='object_link'><a href="Chess/Game.html#over%3F-instance_method" title="Chess::Game#over? (method)">#over?</a></span>
362
370
  <small>Chess::Game</small>
@@ -364,7 +372,7 @@
364
372
  </li>
365
373
 
366
374
 
367
- <li class="odd ">
375
+ <li class="even ">
368
376
  <div class="item">
369
377
  <span class='object_link'><a href="Chess/Game.html#pgn-instance_method" title="Chess::Game#pgn (method)">#pgn</a></span>
370
378
  <small>Chess::Game</small>
@@ -372,7 +380,7 @@
372
380
  </li>
373
381
 
374
382
 
375
- <li class="even ">
383
+ <li class="odd ">
376
384
  <div class="item">
377
385
  <span class='object_link'><a href="Chess/Board.html#placement-instance_method" title="Chess::Board#placement (method)">#placement</a></span>
378
386
  <small>Chess::Board</small>
@@ -380,7 +388,7 @@
380
388
  </li>
381
389
 
382
390
 
383
- <li class="odd ">
391
+ <li class="even ">
384
392
  <div class="item">
385
393
  <span class='object_link'><a href="Chess/CGame.html#resign-instance_method" title="Chess::CGame#resign (method)">#resign</a></span>
386
394
  <small>Chess::CGame</small>
@@ -388,7 +396,7 @@
388
396
  </li>
389
397
 
390
398
 
391
- <li class="even ">
399
+ <li class="odd ">
392
400
  <div class="item">
393
401
  <span class='object_link'><a href="Chess/Pgn.html#result-instance_method" title="Chess::Pgn#result (method)">#result</a></span>
394
402
  <small>Chess::Pgn</small>
@@ -396,7 +404,7 @@
396
404
  </li>
397
405
 
398
406
 
399
- <li class="odd ">
407
+ <li class="even ">
400
408
  <div class="item">
401
409
  <span class='object_link'><a href="Chess/CGame.html#result-instance_method" title="Chess::CGame#result (method)">#result</a></span>
402
410
  <small>Chess::CGame</small>
@@ -404,7 +412,7 @@
404
412
  </li>
405
413
 
406
414
 
407
- <li class="even ">
415
+ <li class="odd ">
408
416
  <div class="item">
409
417
  <span class='object_link'><a href="Chess/CGame.html#rollback!-instance_method" title="Chess::CGame#rollback! (method)">#rollback!</a></span>
410
418
  <small>Chess::CGame</small>
@@ -412,7 +420,7 @@
412
420
  </li>
413
421
 
414
422
 
415
- <li class="odd ">
423
+ <li class="even ">
416
424
  <div class="item">
417
425
  <span class='object_link'><a href="Chess/Pgn.html#round-instance_method" title="Chess::Pgn#round (method)">#round</a></span>
418
426
  <small>Chess::Pgn</small>
@@ -420,7 +428,7 @@
420
428
  </li>
421
429
 
422
430
 
423
- <li class="even ">
431
+ <li class="odd ">
424
432
  <div class="item">
425
433
  <span class='object_link'><a href="Chess/CGame.html#set_fen!-instance_method" title="Chess::CGame#set_fen! (method)">#set_fen!</a></span>
426
434
  <small>Chess::CGame</small>
@@ -428,7 +436,7 @@
428
436
  </li>
429
437
 
430
438
 
431
- <li class="odd ">
439
+ <li class="even ">
432
440
  <div class="item">
433
441
  <span class='object_link'><a href="Chess/Pgn.html#site-instance_method" title="Chess::Pgn#site (method)">#site</a></span>
434
442
  <small>Chess::Pgn</small>
@@ -436,7 +444,7 @@
436
444
  </li>
437
445
 
438
446
 
439
- <li class="even ">
447
+ <li class="odd ">
440
448
  <div class="item">
441
449
  <span class='object_link'><a href="Chess/CGame.html#size-instance_method" title="Chess::CGame#size (method)">#size</a></span>
442
450
  <small>Chess::CGame</small>
@@ -444,7 +452,7 @@
444
452
  </li>
445
453
 
446
454
 
447
- <li class="odd ">
455
+ <li class="even ">
448
456
  <div class="item">
449
457
  <span class='object_link'><a href="Chess/Board.html#stalemate%3F-instance_method" title="Chess::Board#stalemate? (method)">#stalemate?</a></span>
450
458
  <small>Chess::Board</small>
@@ -452,7 +460,7 @@
452
460
  </li>
453
461
 
454
462
 
455
- <li class="even ">
463
+ <li class="odd ">
456
464
  <div class="item">
457
465
  <span class='object_link'><a href="Chess/Game.html#status-instance_method" title="Chess::Game#status (method)">#status</a></span>
458
466
  <small>Chess::Game</small>
@@ -460,7 +468,7 @@
460
468
  </li>
461
469
 
462
470
 
463
- <li class="odd ">
471
+ <li class="even ">
464
472
  <div class="item">
465
473
  <span class='object_link'><a href="Chess/CGame.html#threefold_repetition%3F-instance_method" title="Chess::CGame#threefold_repetition? (method)">#threefold_repetition?</a></span>
466
474
  <small>Chess::CGame</small>
@@ -468,7 +476,7 @@
468
476
  </li>
469
477
 
470
478
 
471
- <li class="even ">
479
+ <li class="odd ">
472
480
  <div class="item">
473
481
  <span class='object_link'><a href="Chess/Board.html#to_fen-instance_method" title="Chess::Board#to_fen (method)">#to_fen</a></span>
474
482
  <small>Chess::Board</small>
@@ -476,7 +484,7 @@
476
484
  </li>
477
485
 
478
486
 
479
- <li class="odd ">
487
+ <li class="even ">
480
488
  <div class="item">
481
489
  <span class='object_link'><a href="Chess/Board.html#to_s-instance_method" title="Chess::Board#to_s (method)">#to_s</a></span>
482
490
  <small>Chess::Board</small>
@@ -484,7 +492,7 @@
484
492
  </li>
485
493
 
486
494
 
487
- <li class="even ">
495
+ <li class="odd ">
488
496
  <div class="item">
489
497
  <span class='object_link'><a href="Chess/CGame.html#to_s-instance_method" title="Chess::CGame#to_s (method)">#to_s</a></span>
490
498
  <small>Chess::CGame</small>
@@ -492,7 +500,7 @@
492
500
  </li>
493
501
 
494
502
 
495
- <li class="odd ">
503
+ <li class="even ">
496
504
  <div class="item">
497
505
  <span class='object_link'><a href="Chess/Pgn.html#to_s-instance_method" title="Chess::Pgn#to_s (method)">#to_s</a></span>
498
506
  <small>Chess::Pgn</small>
@@ -500,7 +508,7 @@
500
508
  </li>
501
509
 
502
510
 
503
- <li class="even ">
511
+ <li class="odd ">
504
512
  <div class="item">
505
513
  <span class='object_link'><a href="Chess/UTF8Notation.html#to_utf8-instance_method" title="Chess::UTF8Notation#to_utf8 (method)">#to_utf8</a></span>
506
514
  <small>Chess::UTF8Notation</small>
@@ -508,7 +516,7 @@
508
516
  </li>
509
517
 
510
518
 
511
- <li class="odd ">
519
+ <li class="even ">
512
520
  <div class="item">
513
521
  <span class='object_link'><a href="Chess/Pgn.html#white-instance_method" title="Chess::Pgn#white (method)">#white</a></span>
514
522
  <small>Chess::Pgn</small>
@@ -516,7 +524,7 @@
516
524
  </li>
517
525
 
518
526
 
519
- <li class="even ">
527
+ <li class="odd ">
520
528
  <div class="item">
521
529
  <span class='object_link'><a href="Chess/Pgn.html#write-instance_method" title="Chess::Pgn#write (method)">#write</a></span>
522
530
  <small>Chess::Pgn</small>
@@ -100,9 +100,9 @@
100
100
  </div>
101
101
 
102
102
  <div id="footer">
103
- Generated on Thu Jan 28 17:31:40 2021 by
104
- <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
105
- 0.9.26 (ruby-2.6.1).
103
+ Generated on Fri Aug 30 11:09:50 2024 by
104
+ <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
105
+ 0.9.36 (ruby-3.3.2).
106
106
  </div>
107
107
 
108
108
  </div>
data/ext/chess/chess.c CHANGED
@@ -640,6 +640,38 @@ board_generate_moves (VALUE self, VALUE square)
640
640
  return moves;
641
641
  }
642
642
 
643
+ /*
644
+ * @overload generate_all_moves
645
+ * Generate all legal moves for the current board position.
646
+ * @return [Array<String>] Returns all legal moves that can be performed
647
+ * in the current board position. The moves are in short algebraic chess
648
+ * notation format.
649
+ * @example
650
+ * :001 > g = Chess::Game.new
651
+ * => #<Chess::Game:0x007f88a529fa88>
652
+ * :002 > g.board.generate_all_moves
653
+ * => ["Na3", "Nc3", "Nf3", "Nh3", "a3", "a4", "b3", "b4", "c3", "c4", "d3", "d4", "e3", "e4", "f3", "f4", "g3", "g4", "h3", "h4"]
654
+ */
655
+ VALUE
656
+ board_generate_all_moves (VALUE self)
657
+ {
658
+ Board *board;
659
+ Data_Get_Struct (self, Board, board);
660
+ VALUE moves = rb_ary_new ();
661
+ Board new_board;
662
+ char *move_done;
663
+ char capture;
664
+ for (int i = 0; i < 64; i++)
665
+ for (int j = 0; j < 64; j++)
666
+ if (pseudo_legal_move (board, i, j))
667
+ {
668
+ move_done = castling (board, castling_type (board, i, j), &new_board);
669
+ if (move_done || try_move (board, i, j, 'Q', &new_board, &move_done, &capture))
670
+ rb_ary_push (moves, rb_str_new2 (move_done));
671
+ }
672
+ return moves;
673
+ }
674
+
643
675
  /*
644
676
  * @overload to_fen
645
677
  * Returns the FEN string of the board.
@@ -729,6 +761,7 @@ Init_chess ()
729
761
  rb_define_method (board_klass, "halfmove_clock", board_halfmove_clock, 0);
730
762
  rb_define_method (board_klass, "fullmove_number", board_fullmove_number, 0);
731
763
  rb_define_method (board_klass, "generate_moves", board_generate_moves, 1);
764
+ rb_define_method (board_klass, "generate_all_moves", board_generate_all_moves, 0);
732
765
  rb_define_method (board_klass, "to_fen", board_to_fen, 0);
733
766
  rb_define_method (board_klass, "to_s", board_to_s, 0);
734
767
 
data/ext/chess/chess.h CHANGED
@@ -42,6 +42,7 @@ VALUE board_active_color (VALUE self);
42
42
  VALUE board_halfmove_clock (VALUE self);
43
43
  VALUE board_fullmove_number (VALUE self);
44
44
  VALUE board_generate_moves (VALUE self, VALUE square);
45
+ VALUE board_generate_all_moves (VALUE self);
45
46
  VALUE board_to_fen (VALUE self);
46
47
  VALUE board_to_s (VALUE self);
47
48
 
data/ext/chess/extconf.rb CHANGED
@@ -1,33 +1,8 @@
1
1
  # Creating a gem that includes an extension that is built at install time
2
2
  # https://guides.rubygems.org/gems-with-extensions/
3
3
 
4
- ENV['RC_ARCHS'] = '' if RUBY_PLATFORM.include?('darwin')
5
-
6
4
  require 'mkmf'
7
5
 
8
- INCLUDE_DIRS = [
9
- # Check the ruby install locations
10
- RbConfig::CONFIG['includedir'],
11
- # First earch /opt/local for macports
12
- '/opt/local/include',
13
- # Then search /usr/local for people that installed from source
14
- '/usr/local/include',
15
- # Finally fall back to /usr
16
- '/usr/include'
17
- ].freeze
18
-
19
- LIB_DIRS = [
20
- # Check the ruby install locations
21
- RbConfig::CONFIG['libdir'],
22
- # First search /opt/local for macports
23
- '/opt/local/lib',
24
- # Then search /usr/local for people that installed from source
25
- '/usr/local/lib',
26
- # Finally fall back to /usr
27
- '/usr/lib'
28
- ].freeze
29
-
30
- # dir_config('chess', INCLUDE_DIRS, LIB_DIRS)
31
- $CFLAGS << ' -std=c99'
6
+ $CFLAGS += ' -std=c99'
32
7
 
33
8
  create_makefile('chess/chess')
data/ext/chess/special.c CHANGED
@@ -170,12 +170,12 @@ update_en_passant (Board *board, int from, int to)
170
170
  int
171
171
  have_en_passant (Board *board, int from, int to)
172
172
  {
173
- if (board->placement[from] == 'P' && to == board->en_passant
174
- && (from == to - 7 || from == to - 9))
175
- return to - 8;
176
- else if (board->placement[from] == 'p' && to == board->en_passant
177
- && (from == to + 7 || from == to + 9))
178
- return to + 8;
173
+ if (board->placement[from] == 'P' && to == board->en_passant) {
174
+ return xray_attack_white_pawn(from) & (1ULL << to) ? to - 8 : 0;
175
+ }
176
+ if (board->placement[from] == 'p' && to == board->en_passant) {
177
+ return xray_attack_black_pawn(from) & (1ULL << to) ? to + 8 : 0;
178
+ }
179
179
  return 0;
180
180
  }
181
181
 
data/lib/chess/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # The Chess library module.
2
2
  module Chess
3
3
  # The library version.
4
- VERSION = '0.3.5'.freeze
4
+ VERSION = '0.4.0'.freeze
5
5
  end
@@ -26,4 +26,19 @@ class ChessTest < Minitest::Test
26
26
  end
27
27
  end
28
28
  end
29
+
30
+ def test_generate_all_moves
31
+ game = Chess::Game.new
32
+ result = game.board.generate_all_moves
33
+
34
+ assert_equal %w[Na3 Nc3 Nf3 Nh3 a3 a4 b3 b4 c3 c4 d3 d4 e3 e4 f3 f4 g3 g4 h3 h4], result
35
+ end
36
+
37
+ def test_github_issue32
38
+ game = Chess::Game.new
39
+ game.moves = %w[f2f4 d7d6 d2d3 h7h5 b1d2 e7e5 f4f5 a7a5 c2c3 d8f6 d2c4 b7b6 c4d2 a8a6 d2f3 a6a7 f3e5 b6b5 h2h4]
40
+ generated_moves = game.board.generate_moves('a5')
41
+
42
+ assert_equal %w[a4], generated_moves
43
+ end
29
44
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chess
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.5
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Enrico Pilotto
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-08-28 00:00:00.000000000 Z
11
+ date: 2024-08-30 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: A fast chess library that use bitboards to play chess with Ruby.
14
14
  email: