Shatranj

Skjermbilde programvare:
Shatranj
Prog.varedetaljer:
Versjon: 1.17
Last opp dato: 3 Jun 15
Utvikler: Sam Tannous
Lisens: Gratis
Popularitet: 94

Rating: 3.0/5 (Total Votes: 1)

Shatranj er en bitboard basert, Open-Source, interaktiv sjakk programmering modul som gjør det mulig manipulasjon av sjakkstillinger og eksperimentering med søkealgoritmer og evalueringsmetoder. Shatranj mål er å skrive en verktøykasse for å hjelpe til med å implementere Shannon Type B sjakkprogrammer.
Som sådan, blir gjennomføring hastighet mindre viktig da kode klarhet og ekspressive kraft av gjennomføringen språket. Etter å ha blitt skrevet i et tolket språk, gir denne modulen sjakk programmerer å manipulere bitboards i en naturlig, interaktiv måte mye som signalprosessering verktøy tillate kommunikasjon ingeniører til å manipulere vektorer av lyder prøver i MATLAB.
Modulen virker for tiden gjennomfører en enkel rekursiv minimax søk med alphabeta beskjæring, iterativ dypere, bruker kort algebraisk notasjon, håndterer repetisjon sjekk, og 50 trekk regelen. Funksjoner som mangler er hvilende kontroller, overgangs tabeller, negascout og MTD søke.
Sjakk programmering verktøysettet er tilgjengelig i form av et Python modul kalt shatranj.py. Du vil også sannsynligvis trenger åpningen boken samt noen av de pre-bygget hash tabeller som brukes gjennom hele modulen (disse vil bli beregnet på nytt hvis modulen ikke kan finne datafilen).
Plasser alle tre fil i samme katalog og bare kjøre python på python modul ("python shatranj.py"). Såvidt krav, alt som trengs er en nyere versjon av tolkes, høyt nivå språk kalt Python (noe etter versjon 2.3 skal fungere fint). Hvis du ønsker en liten bit av en fartsøkning, ser Shatranj for modulen Psyco og vil bruke den hvis den er installert.
Inntil mer dokumentasjon blir tilgjengelig, her er en kort prøve sesjon:
[Sam-Tannous-Computer: ~ / Shatranj] tinn% python
>>> Fra Shatranj import *
... Lese idriftsettingsdata
... Total tid til å lese data ,0774528980255
... Fant åpningen bok Shatranj-book.bin med 37 848 stillinger
>>> Posisjon = posisjon ("r1bqk2r / pppp1ppp / 2N5 / 5N2 / 2B1n3 / 8 / PPP1QPPP / R1B1K2R")
>>> All_pieces = position.piece_bb ["b_occupied"] | position.piece_bb ["w_occupied"]
>>> Other_pieces = position.piece_bb ["b_occupied"]
>>> From_square = c4
>>> WTM = 1
>>> Maske = position.pinned (from_square, WTM)
>>> Ne_pieces = diag_mask_ne [from_square] & all_pieces
>>> Nw_pieces = diag_mask_nw [from_square] & all_pieces
>>> trekk = ((diag_attacks_ne [from_square] [ne_pieces] og other_pieces) |
... (Diag_attacks_ne [from_square] [ne_pieces] & ~ all_pieces) |
... (Diag_attacks_nw [from_square] [nw_pieces] og other_pieces) |
... (Diag_attacks_nw [from_square] [nw_pieces] & ~ all_pieces)) og maske
>>>
>>> trekk
1275777090846720L
>>>
>>> Tobase (trekk, 2)
'100100010000101000000000000010100000000000000000000'
>>> Display (trekk)
    + --- + --- + --- + --- + --- + --- + --- + --- +
  8 | |. | |. | |. | |. |
    + --- + --- + --- + --- + --- + --- + --- + --- +
  7 |. | |. | |. | 1 |. | |
    + --- + --- + --- + --- + --- + --- + --- + --- +
  6 | 1 |. | |. | 1 |. | |. |
    + --- + --- + --- + --- + --- + --- + --- + --- +
  5 |. | 1 |. | 1 |. | |. | |
    + --- + --- + --- + --- + --- + --- + --- + --- +
  4 | |. | |. | |. | |. |
    + --- + --- + --- + --- + --- + --- + --- + --- +
  3 |. | 1 |. | 1 |. | |. | |
    + --- + --- + --- + --- + --- + --- + --- + --- +
  2 | |. | |. | |. | |. |
    + --- + --- + --- + --- + --- + --- + --- + --- +
  1 |. | |. | |. | |. | |
    + --- + --- + --- + --- + --- + --- + --- + --- +
      a b c d e f g h
>>> position.show_moves (1)
['Rg1', 'O-O', 'f3', 'a3', 'Rb1', 'f4', 'BA6',
'BH6', 'BD3', 'Qg4', 'QE3', 'Ne7', 'Be6', 'Nxg7',
'Qxe4', 'NE3', 'b4', 'NH4', 'b3', 'BE3', 'BG5',
'G3', 'Kf1', 'RF1', 'NH6', 'a4', 'NG3', 'Qh5',
'KD1', 'h4', 'h3', 'c3', 'Bxf7', 'Nd6', 'BB5',
'ND4', 'Qf3', 'g4', 'Qf1', 'BB3', 'Qd1', 'Qd3',
'Qd2', 'BD5', 'Bd2', 'BF4']
>>>
>>> # Nå spille et spill!
>>> Spille ()
Shatranj versjon 1.10
         g: skifte side m: vise lovlige trekk
         n: nytt spill l: liste over spill rekord
         d: oppslagstavle b: viser boken beveger
        sd: endre søke dybde (2-16) standard = 5
         q: slutte
Shatranj: d
    + --- + --- + --- + --- + --- + --- + --- + --- +
  8 | r | n | b | q | k | b | n | r |
    + --- + --- + --- + --- + --- + --- + --- + --- +
  7 | p | p | p | p | p | p | p | p |
    + --- + --- + --- + --- + --- + --- + --- + --- +
  6 | |. | |. | |. | |. |
    + --- + --- + --- + --- + --- + --- + --- + --- +
  5 |. | |. | |. | |. | |
    + --- + --- + --- + --- + --- + --- + --- + --- +
  4 | |. | |. | |. | |. |
    + --- + --- + --- + --- + --- + --- + --- + --- +
  3 |. | |. | |. | |. | |
    + --- + --- + --- + --- + --- + --- + --- + --- +
  2 | P | P | P | P | P | P | P | P |
    + --- + --- + --- + --- + --- + --- + --- + --- +
  1 | R | N | B | Q | K | B | N | R |
    + --- + --- + --- + --- + --- + --- + --- + --- +
      a b c d e f g h

Lignende programvare

AtomZ
AtomZ

14 Apr 15

Reversi
Reversi

20 Feb 15

Java-Chess
Java-Chess

3 Jun 15

eboard
eboard

2 Jun 15

Kommentarer til Shatranj

Kommentarer ikke funnet
Legg til kommentar
Slå på bilder!