Compare commits

..

7 Commits
dev ... time

Author SHA1 Message Date
Calcitem d1cb31a501 test 2021-04-23 01:47:42 +08:00
Calcitem 657706613d Add timeman from Stockfish 2021-04-23 01:20:35 +08:00
Calcitem bf0558ebf1 search: ids: Do not clear hash to speedup
Self play cut from 10s to 7s
2021-04-22 01:23:01 +08:00
Calcitem 5465232b14 search: Do not call TranspositionTable::save() when reach leaf
Like morris v0.3
2021-04-20 23:12:04 +08:00
Calcitem 7edc9a42f3 search: TranspositionTable::save param use oldAlpha instead of alpha
Same with morris 0.2

self play move history not change.
2021-04-20 23:08:02 +08:00
Calcitem 786a1e55fd search: Adjust TranspositionTable::save params
like morris 0.2, but not same.

Use:
TranspositionTable::boundType(bestValue, alpha, beta),
Not use oldAlpha

self play change last few moves, white win more quickly.

From:
(3,5)->(2,5)
(1,5)->(1,4)
(2,5)->(1,5)
(1,6)->(1,7)
(1,5)->(1,6)
(1,7)->(2,7)
-(2,4)
(1,6)->(1,5)
(2,7)->(1,7)
(1,5)->(1,6)
(1,7)->(2,7)
-(1,2)
Player2 win!

To:
(3,5)->(2,5)
(1,6)->(1,7)
(2,5)->(3,5)
(1,7)->(2,7)
-(2,4)
(3,5)->(2,5)
(1,5)->(1,6)
-(1,2)
Player2 win!
2021-04-20 23:03:42 +08:00
Calcitem 6d195992bf test 2021-04-20 22:48:26 +08:00
847 changed files with 17984 additions and 84089 deletions

View File

@ -1,31 +0,0 @@
root = true
[*]
charset = utf-8
trim_trailing_whitespace = true
[*.{cpp,c,hpp,h,py}]
indent_style = space
indent_size = 4
end_of_line = lf
insert_final_newline = true
[*.dart]
indent_style = space
indent_size = 2
end_of_line = lf
insert_final_newline = true
[*.{java,m,md}]
indent_style = space
end_of_line = lf
insert_final_newline = true
[*.json]
indent_style = space
[{*.sh,Makefile}]
indent_style = tab
indent_size = 4
end_of_line = lf
insert_final_newline = true

34
.gitattributes vendored
View File

@ -1,34 +0,0 @@
# Auto detect text files and perform LF normalization
* text=auto
# Always perform LF normalization on these files
*.cpp text
*.dart text
*.gradle text
*.h text
*.html text
*.java text
*.md text
*.py text
*.sh text
*.xml text
*.yaml text
# Make sure that these Windows files always have CRLF line endings in checkout
*.bat text eol=crlf
*.ps1 text eol=crlf
*.rc text eol=crlf
*.sln text eol=crlf
*.props text eol=crlf
*.vcxproj text eol=crlf
*.vcxproj.filters text eol=crlf
# Including templatized versions.
*.sln.tmpl text eol=crlf
*.props.tmpl text eol=crlf
*.vcxproj.tmpl text eol=crlf
# Never perform LF normalization on these files
*.ico binary
*.jar binary
*.png binary
*.zip binary

View File

@ -1,36 +0,0 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: bug
assignees: ''
---
**Describe the bug**
A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See an error
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Desktop (please complete the following information):**
- OS: [e.g. Android]
- Version [e.g. 12]
**Smartphone (please complete the following information):**
- Device: [e.g. Pixel 6 Pro]
- OS: [e.g. Android 12]
- Version [e.g. 12]
**Additional context**
Add any other context about the problem here.

View File

@ -1,20 +0,0 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: enhancement
assignees: ''
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.

View File

@ -1,15 +0,0 @@
# check-spelling/check-spelling configuration
File | Purpose | Format | Info
-|-|-|-
[dictionary.txt](dictionary.txt) | Replacement dictionary (creating this file will override the default dictionary) | one word per line | [dictionary](https://github.com/check-spelling/check-spelling/wiki/Configuration#dictionary)
[allow.txt](allow.txt) | Add words to the dictionary | one word per line (only letters and `'`s allowed) | [allow](https://github.com/check-spelling/check-spelling/wiki/Configuration#allow)
[reject.txt](reject.txt) | Remove words from the dictionary (after allow) | grep pattern matching whole dictionary words | [reject](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-reject)
[excludes.txt](excludes.txt) | Files to ignore entirely | perl regular expression | [excludes](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-excludes)
[only.txt](only.txt) | Only check matching files (applied after excludes) | perl regular expression | [only](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-only)
[patterns.txt](patterns.txt) | Patterns to ignore from checked lines | perl regular expression (order matters, first match wins) | [patterns](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-patterns)
[expect.txt](expect.txt) | Expected words that aren't in the dictionary | one word per line (sorted, alphabetically) | [expect](https://github.com/check-spelling/check-spelling/wiki/Configuration#expect)
[advice.md](advice.md) | Supplement for GitHub comment when unrecognized words are found | GitHub Markdown | [advice](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-advice)
Note: you can replace any of these files with a directory by the same name (minus the suffix)
and then include multiple files inside that directory (with that suffix) to merge multiple files together.

View File

@ -1,27 +0,0 @@
<!-- See https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples%3A-advice --> <!-- markdownlint-disable MD033 MD041 -->
<details><summary>If you see a bunch of garbage</summary>
If it relates to a ...
<details><summary>well-formed pattern</summary>
See if there's a [pattern](https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-patterns) that would match it.
If not, try writing one and adding it to the `patterns.txt` file.
Patterns are Perl 5 Regular Expressions - you can [test](
https://www.regexplanet.com/advanced/perl/) yours before committing to verify it will match your lines.
Note that patterns can't match multiline strings.
</details>
<details><summary>binary-ish string</summary>
Please add a file path to the `excludes.txt` file instead of just accepting the garbage.
File paths are Perl 5 Regular Expressions - you can [test](
https://www.regexplanet.com/advanced/perl/) yours before committing to verify it will match your files.
`^` refers to the file's path from the root of the repository, so `^README\.md$` would exclude [README.md](
../tree/HEAD/README.md) (on whichever branch you're using).
</details>
</details>

View File

@ -1,122 +0,0 @@
abstract
alignas
alignof
and
as
asm
assert
async
atomic
auto
await
bitand
bitor
bool
break
cancel
case
cast
catch
char
class
co
commit
compl
concept
const
consteval
constexpr
constinit
continue
covariant
decltype
default
deferred
delete
do
double
dynamic
else
emit
enum
eq
equired
explicit
export
extends
extension
extern
external
factory
final
finally
float
for
foreach
friend
function
get
goto
hide
if
implements
import
inline
int
interface
late
library
local
long
mixin
mutable
namespace
new
noexcept
not
null
nullptr
operator
or
private
protected
public
reflexpr
register
reinterpret
requires
rethrow
return
set
short
show
signals
signed
sizeof
slots
static
struct
super
switch
sync
synchronized
template
this
thread
throw
try
typedef
typeid
typename
union
unsigned
using
var
virtual
void
volatile
wchar
while
with
xor
yield

View File

@ -1,41 +0,0 @@
# See https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-excludes
(?:^|/)(?i)COPYRIGHT
(?:^|/)(?i)LICEN[CS]E
(?:^|/)package(?:-lock|)\.json$
(?:^|/)vendor/
ignore$
\.avi$
\.ico$
\.jpe?g$
\.lock$
\.map$
\.min\.
\.mod$
\.mp[34]$
\.png$
\.wav$
^\.github/
(?:^|/)Copying\.txt$
(?:^|/)(?i)AUTHORS
(?:^|/)changlogs/
\.qrc$
\.ui$
\.ts$
\.pro$
\.rc$
\.vcxproj$
\.filters$
\.svg$
(?:^|/)(?i)Makfile
(?:^|/)perfect/
\.gradle$
(?:^|/)AndroidManifest\.xml$
(?:^|/)strings\.xml$
\.arb$
feedback_localization\.dart$
colors\.dart$
language_info\.dart$
zobrist\.dart$
release\.sh$
\.txt$

View File

@ -1,485 +0,0 @@
ALIGNAS
abcdefg
alignof
alloc
amd
andnetwork
APARTMENTTHREADED
APIENTRY
appbundle
APSTUDIO
ARGB
argc
args
argv
Arial
asm
attr
autobuild
autofocus
AVX
backend
bak
Barlabel
bestmove
bestvalue
Bitboard
bitboard
bitset
boarditem
buf
BUFSIZ
cafebazaar
calcitem
cassert
CBB
cctype
cerr
chrono
cin
climits
Cls
cmake
Cnt
Codacy
codeql
COINIT
colorpicker
config
CONOUT
constexpr
cout
cpp
CREATESTRUCT
crusoe
cstdint
cstdio
cstdlib
cstring
CSTYLE
CTSL
ctx
cupertino
cwd
cygwin
Dalmax
DANDROID
dartpad
datastore
dbg
deduplicate
DEFAULTTONEAREST
deque
dest
devicelocale
Diagnosticable
Dieharder
DISCARDABLE
dll
dms
DNDEBUG
DNO
dpi
DPICHANGED
DUSE
DWORD
elif
endif
endl
endthread
entrypoint
enum
erver
eula
expr
fallthrough
fastlane
fdroid
FFDEB
FFEDF
FFFEFEFE
FFFFEFD
FFFFFAF
FFFFFFFF
FILEFLAGS
FILEFLAGSMASK
fileno
FILEOS
FILESUBTYPE
FILEVERSION
firstguess
flexbox
fluentui
FONTCHANGE
FPKV
freopen
fsanitize
fstream
ftp
fullmove
Func
GAMEBOOK
GAMECONTROLLER
GAMEITEM
gameover
gamescene
gameview
gamewindow
gcc
getcwd
getline
gitee
github
GLIBCXX
GNUC
google
googletest
graphicsconst
gtest
GRAPHICSVIEW
GWLP
halfmove
HASHBUCKET
hashmap
hashnode
hbr
hhmmss
HINSTANCE
HMODULE
HMONITOR
Hori
hostory
HREDRAW
html
htmlcsscolor
http
HUGEPAGE
HWND
hwnd
idx
ifdef
ifndef
ifstream
immintrin
INHAND
inits
intrin
iomanip
iostream
ipos
IPv
iqiyi
isready
isspace
istream
istringstream
jboolean
jint
jni
JNICALL
JNIEXPORT
jobject
json
jstring
ksize
lastvalue
len
Leptopdoa
Leptopoda
libsanmill
linux
lld
lldms
llds
llp
llu
llus
localhost
locbak
LOGD
LOGF
LOGI
LOGW
lowerbound
LPARAM
lparam
lpfn
lpsz
LPTHREAD
LPVOID
LPWSTR
LRESULT
LTWH
LUID
luid
MADV
madvise
MADWEASEL
MAKEINTRESOURCE
malloc
MANUALLISTVIEW
maxv
memalign
memcmp
memcpy
MEMORYSTATUSEX
memset
MESSAGEBOX
Microsoft
midgame
millgame
MINGW
MINIMIZEBOX
MINISIZE
minv
Mixin
mlist
mman
Monospace
movegen
movepick
MOVETYPE
msix
msvc
Mtdf
MTDF
MUEHLE
mul
mutex
MVC
namespace
NButton
NCCREATE
NDEBUG
NEEDREMOVE
newgame
nmake
NMM
nmmintrin
NMove
NOACTIVATE
nobestmove
NOCOLOR
nodestime
noexcept
NOLOCK
NOMINMAX
nop
noskipws
NOZORDER
npos
nsize
NTotal
nullptr
obc
obsender
ofstream
ooxo
oss
ostream
ostringstream
osx
params
patchlevel
pdf
PDWORD
pext
pgmptr
PGROUP
pid
pieceitem
Pixmap
plugin
png
ponderhit
popcnt
popcount
popup
posix
POSIXALIGNEDALLOC
pragma
prefetch
prefetches
Prefs
preloads
printf
println
PRNG
PRODUCTVERSION
psq
PSYSTEM
pthread
ptr
ptrint
pubsync
pvs
qgraphics
qgraphicsitem
qgraphicsitems
qint
qmake
qobject
qsearch
QTDIR
qtime
rdbuf
rdtscp
READONLY
READWRITE
readyok
registar
responsponds
Resync
rng
rotr
RRect
rtl
runloop
sanmill
SBg
SBn
sbumpc
screenshot
scrollable
SCs
SDa
SDe
Sebastiano
ses
setfill
setoption
setprecision
setstacksize
setw
SFa
SFi
SFr
sgetc
SGu
shlwapi
SHu
SId
sizeof
SJa
skipws
SKn
SKo
skvf
SLv
SMk
SMs
snackbar
SNb
SNl
snprintf
soundpool
sputc
sputn
srand
src
SRo
SRu
sscanf
SSk
SSl
SSq
SSr
SSSE
sstream
SSv
startpos
stdarg
stdcall
stderr
stdin
stdio
stdlib
stdout
STe
sterlund
STh
stof
strcmp
streambuf
stringify
stringstream
strlen
strlist
strncpy
strstr
SUBLANG
subosito
substr
Subtags
SVi
SWP
SYMED
sys
SYSMENU
SZh
TARG
tcp
terlund
Texel
TEXTINCLUDE
timeb
tmp
TODO
toggleable
tolower
toolbar
tooltip
tte
ttmem
typedef
typename
uci
ucinewgame
uciok
UCT
uflow
uint
uintptr
undef
unimi
Uninitialize
unistd
unregister
upperbound
url
USERDATA
ushort
usleep
utf
utils
uuid
Validator
vcvarsall
VERSIONINFO
vigna
VNNI
VREDRAW
vsnprintf
vsync
wav
wchar
wifi
wiki
WINAPI
winbase
WINNT
winres
winver
wmd
Wnd
WNDCLASS
wparam
writeln
wstring
www
XCRASH
xmmintrin
xorshift
zeroland
zobrist
ZValue

View File

@ -1,3 +0,0 @@
\.h$
\.cpp$
\.dart$

View File

@ -1,7 +0,0 @@
# See https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-patterns
# ignore long runs of a single character:
\b([A-Za-z])\g{-1}{3,}\b
# Qt
Q.*$

View File

@ -1,7 +0,0 @@
^attache$
benefitting
occurence
Sorce
^[Ss]pae
^untill
^wether

View File

@ -1,22 +0,0 @@
## :scroll: Description
<!--- Describe your changes in detail -->
## :bulb: Motivation and Context
<!--- Why is this change required? What problem does it solve? -->
<!--- If it fixes an open issue, please link to the issue here. -->
## :green_heart: How did you test it?
## :pencil: Checklist
<!--- Put an `x` in the boxes that apply -->
- [ ] I reviewed submitted code
- [ ] I added tests to verify changes
- [ ] I updated the docs if needed
- [ ] All tests passing
- [ ] No breaking changes
## :crystal_ball: Next steps

View File

@ -1,16 +0,0 @@
name: Clang Format
on:
push:
paths-ignore:
- 'src/ui/flutter_app/**'
jobs:
clang-format-checking:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: RafikFarhad/clang-format-github-action@v1.0.1
with:
sources: "src/**/*.h,src/**/*.cpp"
style: file

View File

@ -14,8 +14,12 @@ name: "CodeQL"
on:
push:
paths-ignore:
- 'src/ui/flutter_app/**'
branches: [ master ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ master ]
schedule:
- cron: '43 14 * * 2'
jobs:
analyze:
@ -44,17 +48,17 @@ jobs:
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
# Auto build attempts to build any compiled languages (C/C++, C#, or Java).
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
#- name: Auto build
#- name: Autobuild
# uses: github/codeql-action/autobuild@v1
# Command-line programs to run using the OS shell.
# https://git.io/JvXDl
# Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
# If the Auto build fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language
- run: |
sed -i '/QT_UI/d' include/config.h

View File

@ -1,79 +0,0 @@
name: CUI
on:
push:
paths:
- 'src/*.cpp'
jobs:
cygwin-g++:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- name: Set up Cygwin
uses: egor-tensin/setup-cygwin@v3
with:
platform: x64
packages: make gcc-g++
# Build
- name: Build with cygwin-g++
run: cd src; make -j build ARCH=x86-64
# Archive
- name: Archive
uses: actions/upload-artifact@v2
with:
name: sanmill_cygwin-g++.exe
path: src/sanmill.exe
linux-g++:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Export environment valuables
run: export
- name: Print g++ version
run: g++ -v
- name: Create version
run: git fetch --tags; git tag; git log -n1; bash -x ./version.sh
# Build
- name: Build with linux-g++
run: cd src; make -j build ARCH=x86-64
# Archive
- name: Archive
uses: actions/upload-artifact@v2
with:
name: sanmill_linux-g++
path: src/sanmill
darwin-g++:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- name: Export environment valuables
run: export
- name: Print g++ version
run: g++ -v
# Build
- name: Build with darwin-g++
run: cd src; make -j build ARCH=x86-64
# Archive
- name: Archive
uses: actions/upload-artifact@v2
with:
name: sanmill_darwin-g++
path: src/sanmill

View File

@ -2,29 +2,13 @@ name: Flutter
on:
push:
paths:
- 'src/ui/flutter_app/**'
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
linter:
runs-on: ubuntu-latest
name: Lint flutter code
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Flutter
uses: subosito/flutter-action@v1
- run: bash -x ./flutter-init.sh
- run: cp -f ./src/ui/flutter_app/analysis_options.yaml ./
- name: Analyze Flutter
uses: ValentinVignal/action-dart-analyze@v0.11
with:
fail-on: 'format'
working-directory: src/ui/flutter_app
build:
runs-on: ubuntu-latest
needs: linter
# Note that this workflow uses the latest stable version of the Dart SDK.
# Docker images for other release channels - like dev and beta - are also
@ -43,9 +27,9 @@ jobs:
SIGNING_KEY: ${{ secrets.SIGNING_KEY }}
- uses: subosito/flutter-action@v1
with:
flutter-version: '2.5.3'
channel: 'stable' # or: 'dev' or 'beta'
- name: Export environment valuables
- name: Export environment valiables
run: export
- name: Create App version
@ -55,7 +39,7 @@ jobs:
run: flutter --version
- name: Install dependencies
run: bash -x ./flutter-init.sh
run: cd src/ui/flutter_app; flutter pub get; flutter pub global activate intl_utils; flutter --no-color pub global run intl_utils:generate
# Uncomment this step to verify the use of 'dart format' on each commit.
# - name: Verify formatting
@ -69,7 +53,7 @@ jobs:
# Build
- name: Build apk
run: cd src/ui/flutter_app; flutter build apk -v; flutter build appbundle -v
run: cd src/ui/flutter_app; flutter build apk; flutter build appbundle
env:
KEY_STORE_PASSWORD: ${{ secrets.KEY_STORE_PASSWORD }}
KEY_PASSWORD: ${{ secrets.KEY_PASSWORD }}

View File

@ -1,48 +0,0 @@
name: Qt on Windows
on:
push:
paths:
- 'src/ui/qt/**'
jobs:
build:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
# Setup VS
- name: Setup VS
uses: seanmiddleditch/gha-setup-vsdevenv@master
# Install Qt
- name: Install Qt
uses: jurplel/install-qt-action@v2
with:
version: '5.15.2'
host: 'windows'
target: 'desktop'
arch: 'win64_msvc2019_64'
dir: '${{ github.workspace }}'
install-deps: 'true'
modules: 'qtcore qtwgui qtmultimedia'
cached: 'false'
setup-python: 'true'
tools: 'tools_ifw,4.1.1,qt.tools.ifw.41 tools_qtcreator,5.0.2-0,qt.tools.qtcreator'
set-env: 'false'
tools-only: 'false'
aqtversion: '==1.2.5'
py7zrversion: '==0.16.1'
extra: '--external 7z'
# Build
- name: Build Qt
run: ci/run-win32-qt-build.bat
# Archive apk
- name: Archive Qt
uses: actions/upload-artifact@v2
with:
name: MIllGame
path: release/MillGame.exe

View File

@ -1,30 +0,0 @@
name: Spell checking
on:
pull_request_target:
issue_comment:
types: [created]
jobs:
spelling:
name: Spell checking
runs-on: ubuntu-latest
steps:
- name: checkout-merge
if: "contains(github.event_name, 'pull_request')"
uses: actions/checkout@v2
with:
ref: refs/pull/${{github.event.pull_request.number}}/merge
- name: checkout
if: ${{ github.event_name == 'push' ||
(
contains(github.event.comment.body, '@check-spelling-bot apply')
) }}
uses: actions/checkout@v2
- uses: check-spelling/check-spelling@main
id: spelling
if: ${{ github.event_name != 'issue_comment' ||
(
contains(github.event.comment.body, '@check-spelling-bot apply')
) }}
with:
experimental_apply_changes_via_bot: 1

83
.gitignore vendored
View File

@ -310,69 +310,6 @@ CMakeLists.txt.user*
###########################################
.metadata
bin/
tmp/
*.tmp
*.bak
*.swp
*~.nib
local.properties
.settings/
.loadpath
.recommenders
# External tool builders
.externalToolBuilders/
# Locally stored "Eclipse launch configurations"
*.launch
# PyDev specific (Python IDE for Eclipse)
*.pydevproject
# CDT-specific (C/C++ Development Tooling)
.cproject
# CDT- autotools
.autotools
# Java annotation processor (APT)
.factorypath
# PDT-specific (PHP Development Tools)
.buildpath
# sbteclipse plugin
.target
# Tern plugin
.tern-project
# TeXlipse plugin
.texlipse
# STS (Spring Tool Suite)
.springBeans
# Code Recommenders
.recommenders/
# Annotation Processing
.apt_generated/
.apt_generated_test/
# Scala IDE specific (Scala & Java development for Eclipse)
.cache-main
.scala_dependencies
.worksheet
# Uncomment this line if you wish to ignore the project description file.
# Typically, this file would be tracked if it contains build/dependency configurations:
.project
###########################################
# exe and dll
*.exe
*.dll
@ -381,7 +318,7 @@ local.properties
*.bak
# visual studio code
#.vscode/
.vscode/
# markdown temp files
*.md.Html
@ -389,7 +326,6 @@ local.properties
# Text files
*.txt
!fastlane/**/*.txt
!CMakeLists.txt
# Other files
@ -416,19 +352,4 @@ src/sanmill
# Sourcetrail files
*.srctrl*
compile_commands.json
# Coverity files
cov-int
*.tgz
# Visual Lint files
.visuallint
# Dev-C++ files
*.layout
# Code::Blocks files
.cccc
*Results.xml
*.depend
compile_commands.json

View File

@ -1,7 +0,0 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Sanmill-dev" type="FlutterRunConfigurationType" factoryName="Flutter">
<option name="additionalArgs" value="--dart-define dev_mode=true --dart-define catcher=false" />
<option name="filePath" value="$PROJECT_DIR$/src/ui/flutter_app/lib/main.dart" />
<method v="2" />
</configuration>
</component>

View File

@ -1,7 +0,0 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Sanmill-monkey" type="FlutterRunConfigurationType" factoryName="Flutter">
<option name="additionalArgs" value="--dart-define monkey_test=true" />
<option name="filePath" value="$PROJECT_DIR$/src/ui/flutter_app/lib/main.dart" />
<method v="2" />
</configuration>
</component>

View File

@ -1,7 +0,0 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Sanmill-profile" type="FlutterRunConfigurationType" factoryName="Flutter">
<option name="additionalArgs" value="--profile" />
<option name="filePath" value="$PROJECT_DIR$/src/ui/flutter_app/lib/main.dart" />
<method v="2" />
</configuration>
</component>

View File

@ -1,7 +0,0 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Sanmill-release" type="FlutterRunConfigurationType" factoryName="Flutter">
<option name="additionalArgs" value="--release" />
<option name="filePath" value="$PROJECT_DIR$/src/ui/flutter_app/lib/main.dart" />
<method v="2" />
</configuration>
</component>

View File

@ -1,6 +0,0 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Sanmill" type="FlutterRunConfigurationType" factoryName="Flutter">
<option name="filePath" value="$PROJECT_DIR$/src/ui/flutter_app/lib/main.dart" />
<method v="2" />
</configuration>
</component>

View File

@ -1,6 +0,0 @@
<component name="ProjectRunConfigurationManager">
<configuration default="true" type="FlutterRunConfigurationType" factoryName="Flutter">
<option name="filePath" value="$PROJECT_DIR$/src/ui/flutter_app/lib/main.dart" />
<method v="2" />
</configuration>
</component>

View File

@ -1,19 +0,0 @@
# This file defines the set of scripts (rules) that should be executed.
rule=F001
rule=L001
rule=L002
rule=L003
rule=L004
rule=L005
rule=T001
rule=T004
rule=T005
rule=T006
rule=T007
rule=T008
rule=T010
rule=T013
rule=T015
rule=T017

1
.vscode/.gitignore vendored
View File

@ -1 +0,0 @@
c_cpp_properties.json

View File

@ -1,5 +0,0 @@
{
"recommendations": [
"xaver.clang-format"
]
}

60
.vscode/launch.json vendored
View File

@ -1,60 +0,0 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Sanmill",
"type": "dart",
"request": "launch",
"cwd": "src/ui/flutter_app",
"program": "lib/main.dart"
},
{
"name": "Sanmill: Attach to Device",
"type": "dart",
"request": "attach"
},
{
"name": "Sanmill-dev",
"type": "dart",
"request": "launch",
"cwd": "src/ui/flutter_app",
"program": "lib/main.dart",
"args": [
"--dart-define",
"dev_mode=true",
"--dart-define",
"catcher=false"
]
},
{
"name": "Sanmill-monkey",
"type": "dart",
"request": "launch",
"cwd": "src/ui/flutter_app",
"program": "lib/main.dart",
"args": [
"--dart-define",
"monkey_test=true"
]
},
{
"name": "Sanmill-profile",
"type": "dart",
"request": "launch",
"cwd": "src/ui/flutter_app",
"program": "lib/main.dart",
"flutterMode": "profile"
},
{
"name": "Sanmill-release",
"type": "dart",
"request": "launch",
"cwd": "src/ui/flutter_app",
"program": "lib/main.dart",
"flutterMode": "release"
}
]
}

141
.vscode/settings.json vendored
View File

@ -1,141 +0,0 @@
{
"cSpell.words": [
"ALIGNAS",
"appbundle",
"APSTUDIO",
"ARGB",
"autobuild",
"bestmove",
"Bitboard",
"cafebazaar",
"calcitem",
"cmake",
"Codacy",
"codeql",
"COINIT",
"colorpicker",
"CTSL",
"cupertino",
"Dalmax",
"DANDROID",
"devicelocale",
"DISCARDABLE",
"DNDEBUG",
"Dont",
"erver",
"fastlane",
"fdroid",
"FILEFLAGS",
"FILEFLAGSMASK",
"FILEOS",
"FILESUBTYPE",
"FILEVERSION",
"fluentui",
"FPKV",
"fsanitize",
"gamewindow",
"gitee",
"googletest",
"gtest",
"GWLP",
"hhmmss",
"HMONITOR",
"Hori",
"HREDRAW",
"HWND",
"ifdef",
"ifndef",
"intrin",
"iqiyi",
"isready",
"IWYU",
"jboolean",
"jint",
"JNICALL",
"JNIEXPORT",
"jobject",
"Leptopdoa",
"libsanmill",
"lldms",
"llds",
"llus",
"locbak",
"LOGD",
"LOGI",
"LOGW",
"LPARAM",
"lpfn",
"LPTHREAD",
"LPWSTR",
"LRESULT",
"LTWH",
"LUID",
"maxv",
"MEMORYSTATUSEX",
"midgame",
"millgame",
"minv",
"Monospace",
"msix",
"msvc",
"Mtdf",
"MUEHLE",
"NCCREATE",
"nmake",
"nmmintrin",
"NOACTIVATE",
"nobestmove",
"NOCOLOR",
"NOMINMAX",
"nsize",
"PDWORD",
"PGROUP",
"Prefs",
"println",
"PRODUCTVERSION",
"PSYSTEM",
"qgraphics",
"qgraphicsitem",
"qgraphicsitems",
"qmake",
"qobject",
"qsearch",
"QTDIR",
"qtime",
"rdtscp",
"readyok",
"rotr",
"Sebastiano",
"setoption",
"shlwapi",
"skvf",
"soundpool",
"SSSE",
"stof",
"Struct",
"SUBLANG",
"subosito",
"Subtags",
"SYMED",
"TARG",
"TEXTINCLUDE",
"ttmem",
"ucinewgame",
"uciok",
"vcvarsall",
"VERSIONINFO",
"VNNI",
"vsync",
"winbase",
"winres",
"winver",
"XCRASH",
"xmmintrin",
"zobrist"
],
"cSpell.language": "en",
"cSpell.enabled": true,
"cSpell.enableFiletypes": [
"dart"
]
}

View File

@ -1,13 +1,8 @@
# List of authors for Sanmill, as of Oct 11, 2021
# List of authors for Sanmill, as of December 21, 2020
# Founders of the Sanmill project
Calcitem (calcitem)
# all other authors of the code in alphabetical order
Christian Weiske (cweiske)
Diego (sguinetti)
Nikolas Rimikis (Leptopoda)
# Some of the code has been adapted and modified on the basis of Stockfish, NineChess and ChessRoad etc.
# Authors of Stockfish

View File

@ -1,12 +0,0 @@
# Below is a list of Sanmill team members' GitHub handles who are
# suggested reviewers for contributions to this repository.
#
# These names are just suggestions. It is fine to have your changes
# reviewed by someone else.
#
# Use git ls-files '<pattern>' without a / prefix to see the list of matching files.
/ @calcitem
/src/ui/flutter_app @Leptopoda
/.run @Leptopoda
/.vscode @Leptopoda

View File

@ -1,128 +0,0 @@
# Contributor Covenant Code of Conduct
## Our Pledge
We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, religion, or sexual identity
and orientation.
We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.
## Our Standards
Examples of behavior that contributes to a positive environment for our
community include:
* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
* Focusing on what is best not just for us as individuals, but for the
overall community
Examples of unacceptable behavior include:
* The use of sexualized language or imagery, and sexual attention or
advances of any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email
address, without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
professional setting
## Enforcement Responsibilities
Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.
Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.
## Scope
This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
calcitem@outlook.com.
All complaints will be reviewed and investigated promptly and fairly.
All community leaders are obligated to respect the privacy and security of the
reporter of any incident.
## Enforcement Guidelines
Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:
### 1. Correction
**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.
**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.
### 2. Warning
**Community Impact**: A violation through a single incident or series
of actions.
**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or
permanent ban.
### 3. Temporary Ban
**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.
**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within
the community.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.0, available at
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
Community Impact Guidelines were inspired by [Mozilla's code of conduct
enforcement ladder](https://github.com/mozilla/diversity).
[homepage]: https://www.contributor-covenant.org
For answers to common questions about this code of conduct, see the FAQ at
https://www.contributor-covenant.org/faq. Translations are available at
https://www.contributor-covenant.org/translations.

View File

@ -1,95 +0,0 @@
#
# This file is part of Sanmill.
# Copyright (C) 2021 The Sanmill developers (see AUTHORS file)
#
# Sanmill is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Sanmill is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
#
# Don't search for additional CPPLINT.cfg in parent directories.
set noparent
# Use 'ART_' as the cpp header guard prefix (e.g. #ifndef ART_PATH_TO_FILE_H_).
root=..
# Limit line length.
linelength=80
# Ignore the following categories of errors, as specified by the filter:
# (the filter settings are concatenated together)
filter=+build/class
filter=-build/c++11
filter=+build/c++14
filter=+build/c++tr1
filter=+build/deprecated
filter=+build/endif_comment
filter=+build/explicit_make_pair
filter=+build/forward_decl
filter=-build/header_guard
filter=-build/include_subdir
filter=+build/include_alpha
filter=-build/include_order
filter=-build/include
filter=+build/include_what_you_use
filter=+build/namespaces_headers
filter=+build/namespaces_literals
filter=+build/namespaces
filter=+build/printf_format
filter=+build/storage_class
filter=+legal/copyright
filter=+readability/alt_tokens
filter=+readability/braces
filter=-readability/casting
filter=+readability/check
filter=+readability/constructors
filter=+readability/fn_size
filter=+readability/inheritance
filter=+readability/multiline_comment
filter=+readability/multiline_string
filter=+readability/namespace
filter=+readability/nolint
filter=+readability/nul
filter=+readability/strings
filter=+readability/todo
filter=+readability/utf8
filter=+runtime/arrays
filter=+runtime/casting
filter=+runtime/explicit
filter=+runtime/int
filter=+runtime/init
filter=+runtime/invalid_increment
filter=+runtime/member_string_references
filter=+runtime/memset
filter=+runtime/indentation_namespace
filter=+runtime/operator
filter=+runtime/printf
filter=+runtime/printf_format
filter=-runtime/references
filter=-runtime/string
filter=+runtime/threadsafe_fn
filter=+runtime/vlog
filter=+whitespace/blank_line
filter=-whitespace/braces
filter=+whitespace/comma
filter=-whitespace/comments
filter=+whitespace/empty_conditional_body
filter=+whitespace/empty_if_body
filter=+whitespace/empty_loop_body
filter=+whitespace/end_of_line
filter=+whitespace/ending_newline
filter=+whitespace/forcolon
filter=-whitespace/indent
filter=+whitespace/line_length
filter=+whitespace/newline
filter=+whitespace/operators
filter=-whitespace/parens
filter=+whitespace/semicolon
filter=+whitespace/tab
filter=+whitespace/todo

View File

@ -1,28 +1,12 @@
## Overview
[![YouTube](fastlane/metadata/android/en-US/images/featureGraphic.png)](https://www.youtube.com/channel/UCbGKXwhh1DkuINyZw05kyHw/featured)
<a href="https://github.com/calcitem/Sanmill/actions/workflows/flutter.yml?query=branch%3Amaster+is%3Asuccess+event%3Apush" target="_blank">
<img src="src/ui/flutter_app/assets/badges/get-it-on-github.png" alt="Get it on GitHub" height="80"/></a>
<a href="https://f-droid.org/packages/com.calcitem.sanmill/" target="_blank">
<img src="https://f-droid.org/badge/get-it-on.png" alt="Get it on F-Droid" height="80"/></a>
<a href="https://play.google.com/store/apps/details?id=com.calcitem.sanmill" target="_blank">
<img src="https://play.google.com/intl/en_us/badges/images/generic/en-play-badge.png" alt="Get it on Google Play" height="80"/></a>
<a href="https://cafebazaar.ir/app/com.calcitem.sanmill" target="_blank">
<img src="src/ui/flutter_app/assets/badges/get-it-on-cafebazaar.png" alt="Get it on CafeBazaar" height="54"/></a>
[![Build Status](https://ci.appveyor.com/api/projects/status/github/Calcitem/Sanmill?branch=master&svg=true)](https://ci.appveyor.com/project/Calcitem/Sanmill/branch/master)
[![Codacy Badge](https://app.codacy.com/project/badge/Grade/dd51135302af45a989a382d3a3d9eadc)](https://www.codacy.com/gh/calcitem/Sanmill/dashboard?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=calcitem/Sanmill&amp;utm_campaign=Badge_Grade)
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/a09e5b5ab4f04b1585acb478af0bd593)](https://app.codacy.com/manual/calcitem/Sanmill?utm_source=github.com&utm_medium=referral&utm_content=calcitem/Sanmill&utm_campaign=Badge_Grade_Settings)
[Sanmill](https://github.com/calcitem/Sanmill) is a free, powerful UCI-like N men's morris program with CUI, Flutter GUI and Qt GUI.
[**Nine men's morris**](https://en.wikipedia.org/wiki/Nine_men%27s_morris) is a [strategy](https://en.wikipedia.org/wiki/Abstract_strategy_game) [board game](https://en.wikipedia.org/wiki/Board_games) for two players dating at least to the [Roman Empire](https://en.wikipedia.org/wiki/Roman_Empire). The game is also known as **nine-man morris**, **mill**, **mills**, **the mill game**, **merels**, **merrills**, **merelles**, **marelles**, **morelles**, and **ninepenny marl** in English.
![image](https://github.com/calcitem/calcitem/raw/master/Sanmill/res/sanmill.gif)
## Files
This distribution of Sanmill consists of the following files:
@ -43,7 +27,7 @@ This distribution of Sanmill consists of the following files:
Sanmill CUI has support for 32 or 64-bit CPUs, certain hardware instructions, big-endian machines such as Power PC, and other platforms.
It should be easy to compile Sanmill directly from the source code on Unix-like systems with the included Makefile in the folder `src`. Generally, it is recommended to run `make help` to see a list of make targets with corresponding descriptions.
On Unix-like systems, it should be easy to compile Sanmill directly from the source code with the included Makefile in the folder `src`. In general it is recommended to run `make help` to see a list of make targets with corresponding descriptions.
```shell
cd src
@ -51,7 +35,7 @@ make help
make build ARCH=x86-64-modern
```
When reporting an issue or a bug, please tell us which version and compiler you used to create your executable. This information can be found by typing the following commands in a console:
When reporting an issue or a bug, please tell us which version and compiler you used to create your executable. These information can be found by typing the following commands in a console:
```shell
./sanmill compiler
@ -69,22 +53,7 @@ Use Qt Creator to open `millgame.pro` , or use Visual Studio to open `millgame.s
### Flutter App
Run `./flutter-init.sh` , copy `src/ui/flutter_app/android/key.properties.example` to `src/ui/flutter_app/android/key.properties`, modify it, and then use IntelliJ IDEA or Visual Studio Code to open `src/ui/flutter_app` to build Flutter App.
We use compile-time environment configs to enable specific parts of the code:
* `monkey_test` to prepare the app for monkey tests. (References to external sites are going to be disabled.)
* `dev_mode` to show the developer mode without needing to enable it first.
* `catcher` to control the use of catcher. (This is on by default and needs to be disabled when required.)
All environment configs can be combined and take a value of bool like:
```shell
flutter run --dart-define catcher=false dev_mode=true
```
For ease of use, some launch configs for IntelliJ IDEA or Visual Studio Code are available. Just select the
needed one in the `Run and Debug` or `Run/Debug Configurations` tab.
Run `./flutter-init.sh` , copy `src/ui/flutter_app/android/key.properties.example` to `src/ui/flutter_app/android/key.properties`, modify it, and then use Android Studio or Visual Studio Code to open `src/ui/flutter_app` to build Flutter App.
## Understanding the code base and participating in the project
@ -94,7 +63,7 @@ Sanmill's improvement over the last couple of years has been a great community e
If you want to help improve the code, there are several valuable resources:
* [In this wiki](https://github.com/calcitem/Sanmill/wiki), many techniques used in Sanmill are explained with a lot of background information.
* [In this wiki,](https://github.com/calcitem/Sanmill/wiki) many techniques used in Sanmill are explained with a lot of background information.
* The latest source can always be found on [GitHub](https://github.com/calcitem/Sanmill).
@ -102,7 +71,7 @@ If you want to help improve the code, there are several valuable resources:
## Terms of use
Sanmill is free and distributed under the **GNU General Public License version 3**
Sanmill is free, and distributed under the **GNU General Public License version 3**
(GPL v3). Essentially, this means you are free to do almost exactly
what you want with the program, including distributing it among your
friends, making it available for download from your website, selling
@ -110,7 +79,7 @@ it (either by itself or as part of some bigger software package), or
using it as the starting point for a software project of your own.
The only real limitation is that whenever you distribute Sanmill in
some way, you must always include the full source code or a pointer
some way, you must always include the full source code, or a pointer
to where the source code can be found. If you make any changes to the
source code, these changes must also be made available under the GPL.

View File

@ -1,84 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_project_file>
<FileVersion major="1" minor="6" />
<Project>
<Option title="Sanmill" />
<Option pch_mode="2" />
<Option compiler="clang" />
<Build>
<Target title="Debug">
<Option output="bin/Debug/Sanmill" prefix_auto="1" extension_auto="1" />
<Option object_output="obj/Debug/" />
<Option type="1" />
<Option compiler="clang" />
<Compiler>
<Add option="-g" />
<Add option="-std=c++17" />
<Add option="-Wcast-qual -fno-exceptions -pedantic -Wshadow" />
<Add directory="include" />
<Add directory="src" />
</Compiler>
</Target>
<Target title="Release">
<Option output="bin/Release/Sanmill" prefix_auto="1" extension_auto="1" />
<Option object_output="obj/Release/" />
<Option type="1" />
<Option compiler="clang" />
<Compiler>
<Add option="-O2" />
<Add option="-std=c++17" />
<Add option="-Wcast-qual -fno-exceptions -pedantic -Wshadow" />
<Add directory="include" />
<Add directory="src" />
</Compiler>
<Linker>
<Add option="-s" />
</Linker>
</Target>
</Build>
<Compiler>
<Add option="-Weverything" />
<Add option="-fexceptions" />
</Compiler>
<Unit filename="include/config.h" />
<Unit filename="include/version.h" />
<Unit filename="src/bitboard.cpp" />
<Unit filename="src/bitboard.h" />
<Unit filename="src/debug.h" />
<Unit filename="src/endgame.cpp" />
<Unit filename="src/endgame.h" />
<Unit filename="src/evaluate.cpp" />
<Unit filename="src/evaluate.h" />
<Unit filename="src/hashmap.h" />
<Unit filename="src/hashnode.h" />
<Unit filename="src/main.cpp" />
<Unit filename="src/mills.cpp" />
<Unit filename="src/mills.h" />
<Unit filename="src/misc.cpp" />
<Unit filename="src/misc.h" />
<Unit filename="src/movegen.cpp" />
<Unit filename="src/movegen.h" />
<Unit filename="src/movepick.cpp" />
<Unit filename="src/movepick.h" />
<Unit filename="src/option.cpp" />
<Unit filename="src/option.h" />
<Unit filename="src/position.cpp" />
<Unit filename="src/position.h" />
<Unit filename="src/rule.cpp" />
<Unit filename="src/rule.h" />
<Unit filename="src/search.cpp" />
<Unit filename="src/search.h" />
<Unit filename="src/stack.h" />
<Unit filename="src/stopwatch.h" />
<Unit filename="src/thread.cpp" />
<Unit filename="src/thread.h" />
<Unit filename="src/thread_win32_osx.h" />
<Unit filename="src/tt.cpp" />
<Unit filename="src/tt.h" />
<Unit filename="src/types.h" />
<Unit filename="src/uci.cpp" />
<Unit filename="src/uci.h" />
<Unit filename="src/ucioption.cpp" />
<Extensions />
</Project>
</CodeBlocks_project_file>

View File

@ -1,432 +0,0 @@
[Project]
filename=Sanmill.dev
name=Sanmill
Type=1
Ver=2
ObjFiles=
Includes=include;src
Libs=
PrivateResource=
ResourceIncludes=
MakeIncludes=
Compiler=
CppCompiler=-Wcast-qual_@@_-fno-exceptions_@@_-pedantic_@@_-Wshadow_@@_-Wno-class-memaccess_@@__@@_
Linker=
IsCpp=1
Icon=
ExeOutput=
ObjectOutput=
LogOutput=
LogOutputEnabled=0
OverrideOutput=0
OverrideOutputName=Sanmill.exe
HostApplication=
UseCustomMakefile=0
CustomMakefile=
CommandLine=
Folders=
IncludeVersionInfo=0
SupportXPThemes=0
CompilerSet=1
CompilerSettings=0;0;0;0;0;0;0;0;10;0;1;1;0;0;0;1;0;0;1;0;0;0;33;0;0;0
UnitCount=38
[VersionInfo]
Major=1
Minor=0
Release=0
Build=0
LanguageID=1033
CharsetID=1252
CompanyName=
FileVersion=1.0.0.0
FileDescription=Developed using the Dev-C++ IDE
InternalName=
LegalCopyright=
LegalTrademarks=
OriginalFilename=
ProductName=
ProductVersion=1.0.0.0
AutoIncBuildNr=0
SyncProduct=1
[Unit1]
FileName=include\config.h
CompileCpp=1
Folder=
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit2]
FileName=src\bitboard.cpp
CompileCpp=1
Folder=
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit3]
FileName=src\endgame.cpp
CompileCpp=1
Folder=
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit4]
FileName=src\evaluate.cpp
CompileCpp=1
Folder=
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit5]
FileName=src\main.cpp
CompileCpp=1
Folder=
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit6]
FileName=src\mills.cpp
CompileCpp=1
Folder=
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit7]
FileName=src\misc.cpp
CompileCpp=1
Folder=
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit8]
FileName=src\movegen.cpp
CompileCpp=1
Folder=
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit9]
FileName=src\movepick.cpp
CompileCpp=1
Folder=
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit10]
FileName=src\option.cpp
CompileCpp=1
Folder=
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit11]
FileName=src\position.cpp
CompileCpp=1
Folder=
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit12]
FileName=src\rule.cpp
CompileCpp=1
Folder=
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit13]
FileName=src\search.cpp
CompileCpp=1
Folder=
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit14]
FileName=src\thread.cpp
CompileCpp=1
Folder=
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit15]
FileName=src\tt.cpp
CompileCpp=1
Folder=
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit16]
FileName=src\uci.cpp
CompileCpp=1
Folder=
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit17]
FileName=src\ucioption.cpp
CompileCpp=1
Folder=
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit18]
FileName=src\bitboard.h
CompileCpp=1
Folder=
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit19]
FileName=src\debug.h
CompileCpp=1
Folder=
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit20]
FileName=src\endgame.h
CompileCpp=1
Folder=
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit21]
FileName=src\evaluate.h
CompileCpp=1
Folder=
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit22]
FileName=src\hashmap.h
CompileCpp=1
Folder=
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit23]
FileName=src\hashnode.h
CompileCpp=1
Folder=
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit24]
FileName=src\mills.h
CompileCpp=1
Folder=
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit25]
FileName=src\misc.h
CompileCpp=1
Folder=
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit26]
FileName=src\movegen.h
CompileCpp=1
Folder=
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit27]
FileName=src\movepick.h
CompileCpp=1
Folder=
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit28]
FileName=src\option.h
CompileCpp=1
Folder=
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit29]
FileName=src\position.h
CompileCpp=1
Folder=
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit30]
FileName=src\rule.h
CompileCpp=1
Folder=
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit31]
FileName=src\search.h
CompileCpp=1
Folder=
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit32]
FileName=src\stack.h
CompileCpp=1
Folder=
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit33]
FileName=src\stopwatch.h
CompileCpp=1
Folder=
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit34]
FileName=src\thread.h
CompileCpp=1
Folder=
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit35]
FileName=src\thread_win32_osx.h
CompileCpp=1
Folder=
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit36]
FileName=src\tt.h
CompileCpp=1
Folder=
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit37]
FileName=src\types.h
CompileCpp=1
Folder=
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=
[Unit38]
FileName=src\uci.h
CompileCpp=1
Folder=
Compile=1
Link=1
Priority=1000
OverrideBuildCmd=0
BuildCmd=

View File

@ -2,14 +2,14 @@ version: '#{build}'
environment:
matrix:
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
platform: x64
qt: 5.15
qt: 5.13
releaseName: MillGame
before_build:
- if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2019" set msvc=msvc2019
- if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2019" set vs=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build
- if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2017" set msvc=msvc2017
- if "%APPVEYOR_BUILD_WORKER_IMAGE%"=="Visual Studio 2017" set vs=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build
- if "%platform%"=="x86" set QTDIR=C:\Qt\%qt%\%msvc%
- if "%platform%"=="x64" set QTDIR=C:\Qt\%qt%\%msvc%_64
- set PATH=%PATH%;%QTDIR%\bin;

View File

@ -1,8 +1,10 @@
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars32.bat" x86_amd64
set QTDIR=Qt\5.15.2\msvc2019_64
set PATH=%PATH%;%QTDIR%\bin;
qmake
nmake clean
nmake
call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars32.bat" x86_amd64
set QTDIR=C:\Qt\Qt5.13.0\5.13.0\msvc2017_64
set PATH=%PATH%;%QTDIR%\bin;
qmake
nmake clean
nmake
pause

View File

@ -1,17 +0,0 @@
#!/bin/bash
mv src/ui/flutter_app/android/key.jks ../
mv src/ui/flutter_app/android/key.properties ../
git clean -fdx
mv ../key.jks src/ui/flutter_app/android/
mv ../key.properties src/ui/flutter_app/android/
if [ "$(uname)" == "Darwin" ]; then
echo "TODO: macOS"
elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then
echo "TODO: Lniux"
else
./flutter-windows-init.sh
fi

13
cov.sh
View File

@ -1,13 +0,0 @@
#!/bin/bash
rm -rf cov-int
rm -f sanmill.tgz
cd src
rm -rf cov-int
rm -f sanmill.tgz
make clean
cov-build --dir cov-int make -j build ARCH=x86-64
tar czvf sanmill.tgz cov-int
cd ..

4
eol.sh
View File

@ -1,4 +0,0 @@
#!/bin/bash
dos2unix include/*.h include/*.template src/*.h src/*.cpp src/test/*.h src/test*.cpp src/perfect/*.h src/perfect/*.cpp src/ui/qt/*.h src/ui/qt/*.cpp src/ui/flutter_app/command/*.h src/ui/flutter_app/command/*.cpp

View File

@ -1,3 +0,0 @@
v1.0.3
* Zeigen Sie im Dialogfeld die Schaltflächen für den Neustart / Abbruch anstelle der Schaltflächen für Ja / Nein an, wenn der Spieler das oberste schwierige Level gewinnt.

View File

@ -1,3 +0,0 @@
v1.0.4
* Sperren Sie die Bildschirmausrichtung auf Hochformat.

View File

@ -1,5 +0,0 @@
v1.0.5
* Zeige weiße Steine als Spieler 1 und schwarze als Spieler 2 an
* Ändern Sie den Text 'Hinweis' in 'Info'
* Tippfehler beheben

View File

@ -1,3 +0,0 @@
v1.0.6
* Stabilität verbessern.

View File

@ -1,3 +0,0 @@
v1.0.7
* Unterstützt die Standardnotation.

View File

@ -1,3 +0,0 @@
v1.0.8
* Unterstützung beim Zurücknehmen. Sie können versuchen, einen schlechten Zug rückgängig zu machen und einen anderen besseren Zug zu machen.

View File

@ -1,3 +0,0 @@
v1.0.9
* Notationen an Bord anzeigen (konfigurierbar).

View File

@ -1,4 +0,0 @@
v1.0.10
* Beschleunigen Sie das Denken an die ersten beiden Züge.
* Zeigen Sie die Notation nur auf zwei Seiten an Bord.

View File

@ -1,3 +0,0 @@
v1.0.11
* Unterstützung Schritt vorwärts & Alle zurücknehmen & Schritt vorwärts alle.

View File

@ -1,3 +0,0 @@
v1.0.12
* Sie können die KI jetzt zwingen, sich zu bewegen, wenn die KI denkt.

View File

@ -1,4 +0,0 @@
v1.0.13
* Doppelt zurück, um die App zu schließen.
* Popup-Datenschutzrichtliniendialog beim ersten Ausführen.

View File

@ -1,3 +0,0 @@
v1.0.14
* Deutsche Übersetzung hinzufügen.

View File

@ -1,3 +0,0 @@
v1.0.15
* Bildschirmaufzeichnung unterstützen (Experimentell).

View File

@ -1,3 +0,0 @@
v1.0.16
* Unterstützen Sie die Animation von Stein.

View File

@ -1,4 +0,0 @@
v1.0.17
* Unterstützt die Einstellung der Schriftgröße (Wird nach dem Neustart der App wirksam).
* Beim Zurücknehmen stumm sein (konfigurierbar).

View File

@ -1,3 +0,0 @@
v1.0.18
* Sie können beliebig viele Schritte rückgängig machen.

View File

@ -1,3 +0,0 @@
v1.0.19
* Maschinelle Übersetzung in Farsi (Persisch) hinzufügen.

View File

@ -1,5 +0,0 @@
v1.0.20
* Unterstützen Sie Ten / Eleven Men's Morris.
* Sie können konfigurieren, wie viele Steine fliegen können
* Symbolleiste für die Verlaufsnavigation hinzufügen.

View File

@ -1,3 +0,0 @@
v1.0.21
* Unterstützen Sie das Exportieren und Importieren des Spiels.

View File

@ -1,4 +0,0 @@
v1.0.22
* KI verbessern.
* Deutsche Übersetzung verbessern.

View File

@ -1,3 +0,0 @@
v1.0.23
* Beim Import von Move List werden verschiedene Formatvarianten unterstützt.

View File

@ -1,3 +0,0 @@
v1.0.24
* Computer kann die Beweglichkeit von Steinen denken.

View File

@ -1,3 +0,0 @@
v1.0.25
* EULA-Link hinzufügen.

View File

@ -1,3 +0,0 @@
v1.1.0
* Ungarisch-Übersetzung verbessern.

View File

@ -1,4 +0,0 @@
v1.1.1
* Unterstützt den Import von PlayOK-Notation.
* Unterstützt spezifische N von "N-Bewegungsregeln".

View File

@ -1,4 +0,0 @@
v1.1.2
* Fügen Sie maschinelle Übersetzung in die rumänische Sprache hinzu.
* Stabilität des Imports/Exports verbessern.

View File

@ -1,3 +0,0 @@
v1.1.3
* Lassen Sie den E-Mail-Sender bei einem Absturz mit Android 11-Geräten funktionieren.

View File

@ -1,3 +0,0 @@
v1.1.4
* Unterstützt die Einstellung von Sprachen auf Englisch, Deutsch, Persisch, Ungarisch, Rumänisch und Chinesisch.

View File

@ -1,3 +0,0 @@
v1.1.5
* Fügen Sie maschinelle Übersetzungen für Arabisch/Spanisch/Französisch/Japanisch/Koreanisch/Portugiesisch/Russisch hinzu.

View File

@ -1,4 +0,0 @@
v1.1.6
* Geben Sie interaktives Feedback direkt in der App, indem Sie einen Screenshot der aktuellen Seite mit Anmerkungen versehen und Text hinzufügen.
* Verbesserung der rumänischen und ungarischen Sprachübersetzungen.

View File

@ -1,3 +0,0 @@
v1.1.7
* Hinzufügen von maschinellen Übersetzungen in Hindi/Italienisch/Polnisch/Türkisch.

View File

@ -1,5 +0,0 @@
v1.1.8
* Menü-UI-Problem mit Rechts-nach-Links beheben.
* Verbesserung der englischen Übersetzungen.
* Anzeige des Sprachnamens anstelle des Sprachcodes am Ende des Menüeintrags.

View File

@ -1,5 +0,0 @@
v1.1.9
* Verbessern Sie die Übersetzung von Farsi (persische Sprache) (WIP).
* Behebung von Problemen mit Optionspfeilen und Navigationsschaltflächen in RTL-Sprachen.
* Das Fix-Animationssymbol ist zu hoch, wenn das Gebietsschema arabisch ist.

View File

@ -1,6 +0,0 @@
v1.1.10
* Behebung von Problemen mit Optionspfeilen in RTL-Sprachen.
* Verbesserung der Farsi-Übersetzung (persische Sprache) (WIP).
* Verbessern der englischen Übersetzungen.
* Hinzufügen von Bulgarisch/Bengalisch/Dänisch/Griechisch/Estnisch/Finnisch/Gujarati/Kroatisch/Indonesisch/Litauisch/Lateinisch/Mazedonisch/Malaiisch/Niederländisch/Slowakisch/Slowenisch/Albanisch/Serbisch/Schwedisch/Telugu/Thai Maschinenübersetzungen.

View File

@ -1,3 +0,0 @@
v1.1.11
* Verbesserung der spanischen Übersetzung.

View File

@ -1,4 +0,0 @@
v1.1.12
* Verbesserung der persischen Übersetzung.
* Traditionelle chinesische Übersetzung hinzufügen.

View File

@ -1,3 +0,0 @@
v1.1.13
* Fügen Sie Kannada/Norwegisch/Usbekisch/Vietnamesisch maschinelle Übersetzungen hinzu.

View File

@ -1,3 +0,0 @@
v1.1.14
* Setzen Sie die Standardregel auf Twelve Men's Morris, wenn das Land der Iran ist.

View File

@ -1,4 +0,0 @@
v1.1.15
* Menüfarbeinstellungen unterstützen.
* Verbessern Sie die persische Übersetzung.

View File

@ -1,5 +0,0 @@
v1.1.16
* Statusleiste für Großbildgeräte anzeigen.
* Einstellung der Navigationssymbolleiste nicht anzeigen, wenn das Seitenverhältnis des Fensters weniger als 1,7 beträgt.
* Verbessern Sie die persische Übersetzung.

View File

@ -1,3 +0,0 @@
v1.1.17
* Ermöglicht die Konfiguration der Farbe der Symbolleiste.

View File

@ -1,5 +0,0 @@
v1.1.18
* Wenn die Fähigkeitsstufe 1 ist, bewegt sich die KI zufälliger, um den Schwierigkeitsgrad zu verringern.
* Die Einstellung der Navigationssymbolleiste verschwindet auf einigen Geräten.
* Korrigieren Sie die Textfarbe des Schubladenhervorhebungselements

View File

@ -1,3 +0,0 @@
v1.1.19
* Freiwillige können sich an den Übersetzungen auf unserem POEditor beteiligen.

View File

@ -1,3 +0,0 @@
v1.1.20
* Verbessern Sie die Fähigkeiten der KI, insbesondere in der Bewegungsphase und in hohen Leveln.

View File

@ -1,3 +0,0 @@
v1.1.21
* Korrigiert die Richtung des Symbols für die Schaltflächen "Zurücknehmen" und "Schritt vorwärts" im Layout "Von rechts nach links".

View File

@ -1,3 +0,0 @@
v1.1.22
Beim Spiel Mensch gegen KI haben beide Seiten viele Züge gemacht, aber viele aufeinanderfolgende Züge lang keine Figuren des Gegners genommen, und die KI wird eingefroren. Dieses Problem wurde behoben.

View File

@ -1,4 +0,0 @@
v1.1.23
* Setze die Textfarbe der nicht platzierten Teile auf die Farbe der Brettlinie.
* Schweizerdeutsche Übersetzung (WIP) hinzufügen.

View File

@ -1,4 +0,0 @@
v1.1.24
* Standardmäßig nicht platzierte Stückzähler anzeigen.
* Finnische Übersetzung verbessern.

View File

@ -1,3 +0,0 @@
v1.1.25
Barrierefreiheit unterstützen.

View File

@ -1,3 +0,0 @@
v1.1.26
Verbesserung der Zugänglichkeit.

View File

@ -1,3 +0,0 @@
v1.1.27
Verbesserung der Zugänglichkeit.

View File

@ -1,3 +0,0 @@
v1.1.28
Der KI-Algorithmus wurde verbessert, um die Fähigkeiten der KI auf 180% des Originals zu steigern.

View File

@ -1,3 +0,0 @@
v1.1.29
KI-Algorithmus verbessern.

View File

@ -1,6 +0,0 @@
v1.1.30
* Vermeiden Sie, dass die KI in der Eröffnungsphase zu aggressiv agiert, was leicht zu Verlusten führen kann.
* Erhöhen Sie den maximalen Wert der Fertigkeitsstufe von 20 auf 30.
* Standardmäßig ist die Option "Mobilität der Steine berücksichtigen" aktiviert.
* Fügen Sie die Einstellung "Farbe der Steinmarkierung" hinzu und setzen Sie Rot als Standard.

View File

@ -1,4 +0,0 @@
v1.1.31
* Neun-Männer-Morris: Die KI kann Weiß in der Eröffnungsphase daran hindern, eine Mühle zu bauen, so dass die KI anfällig ist, das Spiel zu verlieren.
* Twelve Men's Morris: Verstärkt die KI-Power.

View File

@ -1,3 +0,0 @@
v1.1.32
Ermöglicht es dem Benutzer, den KI-Algorithmus zu wählen.

View File

@ -1,3 +0,0 @@
v1.1.33
Unterstützen Sie Flutter 2.5.

Some files were not shown because too many files have changed in this diff Show More