Skip to content

Commit

Permalink
(alexcmgit#1) Add initial code and tests
Browse files Browse the repository at this point in the history
  • Loading branch information
alexcmgit committed Jan 16, 2023
0 parents commit 5cca5f3
Show file tree
Hide file tree
Showing 15 changed files with 8,414 additions and 0 deletions.
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
.vscode/
.dart_tool/

# This is a library package:
# https://stackoverflow.com/questions/16136739/in-dart-and-pub-should-i-add-pubspec-lock-to-my-gitignore.
pubspec.lock
21 changes: 21 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2023 Alex Rintt

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
21 changes: 21 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
Fork of: https://github.com/lubert/chess.ts.

The original repository is written in TypesScript but this fork was rewritten in Dart.

All credits goes to the original author.

---

This library aims to provide a rich and simple API to generate chess moves and validate board. This also support `FEN` and `PGN` to import or export chess matches.

# Why another chess engine?

Although there are some other Dart-based libraries for chess, I did not found one that:

- Has built-in customizable game engines to allow `vs computer`-like features, which will be the focus of this library on `v0.2.0`.
- Is up-to-date with latest Dart code style guides.
- Is designed to be fully functional and stateless (immutable).

# Docs

Soon... **this is a work in progress**.
30 changes: 30 additions & 0 deletions analysis_options.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# This file configures the analyzer to use the lint rule set from `package:lint`

include: package:lint/strict.yaml # For production apps
# include: package:lint/casual.yaml # For code samples, hackathons and other non-production code
# include: package:lint/package.yaml # Use this for packages with public API

# You might want to exclude auto-generated files from dart analysis
analyzer:
exclude:
#- '**.freezed.dart'
#- '**.g.dart'

# You can customize the lint rules set to your own liking. A list of all rules
# can be found at https://dart-lang.github.io/linter/lints/options/options.html
linter:
rules:
# Util classes are awesome!
# avoid_classes_with_only_static_members: false

# Make constructors the first thing in every class
# sort_constructors_first: true

# Choose wisely, but you don't have to
# prefer_double_quotes: true
# prefer_single_quotes: true
always_specify_types: true
always_use_package_imports: false
avoid_relative_lib_imports: false
avoid_package_lib_imports: true
prefer_relative_imports: true
Loading

0 comments on commit 5cca5f3

Please sign in to comment.