dame

package
v0.0.0-...-d37d129 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 16, 2023 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	InternationaleZugRegeln = ZugRegeln{
		SteinBewegenRichtungen:                RichtungenDiagonalVorne,
		SteinSchlagenRichtungenAnfang:         RichtungenDiagonalVorne,
		SteinSchlagenRichtungenWeiterschlagen: RichtungenDiagonal,

		DameBewegenRichtungen:                RichtungenDiagonal,
		DameSchlagenRichtungenAnfang:         RichtungenDiagonal,
		DameSchlagenRichtungenWeiterschlagen: RichtungenDiagonal,

		SchlagZwang: true,
	}
	AltdeutscheZugRegeln = ZugRegeln{
		SteinBewegenRichtungen:                RichtungenDiagonalVorne,
		SteinSchlagenRichtungenAnfang:         RichtungenSeiteDiagonalUndVorne,
		SteinSchlagenRichtungenWeiterschlagen: RichtungenSeiteDiagonalUndVorne,

		DameBewegenRichtungen:                RichtungenAlle,
		DameSchlagenRichtungenAnfang:         RichtungenAlle,
		DameSchlagenRichtungenWeiterschlagen: RichtungenAlle,

		SchlagZwang: true,
	}
)
View Source
var (
	RichtungVorneLinks = Richtung{
		Horizontal: RichtungHorizontalLinks,
		Vertikal:   RichtungVertikalVorne,
	}
	RichtungVorne = Richtung{
		Horizontal: RichtungHorizontalKeine,
		Vertikal:   RichtungVertikalVorne,
	}
	RichtungVorneRechts = Richtung{
		Horizontal: RichtungHorizontalRechts,
		Vertikal:   RichtungVertikalVorne,
	}
	RichtungLinks = Richtung{
		Horizontal: RichtungHorizontalLinks,
		Vertikal:   RichtungVertikalKeine,
	}
	RichtungRechts = Richtung{
		Horizontal: RichtungHorizontalRechts,
		Vertikal:   RichtungVertikalKeine,
	}
	RichtungHintenLinks = Richtung{
		Horizontal: RichtungHorizontalLinks,
		Vertikal:   RichtungVertikalHinten,
	}
	RichtungHinten = Richtung{
		Horizontal: RichtungHorizontalKeine,
		Vertikal:   RichtungVertikalHinten,
	}
	RichtungHintenRechts = Richtung{
		Horizontal: RichtungHorizontalRechts,
		Vertikal:   RichtungVertikalHinten,
	}
)

Functions

func NewFreierModusScreen

func NewFreierModusScreen(herderLegacy herderlegacy.HerderLegacy, dameBeendenCallback func() herderlegacy.Screen) herderlegacy.Screen

func NewLehrerDameSpielScreen

func NewLehrerDameSpielScreen(
	herderLegacy herderlegacy.HerderLegacy,
	nächsterScreen func(gewonnen bool) herderlegacy.Screen,
	optionen SpielOptionen,
) herderlegacy.Screen

Types

type Brett

type Brett struct {
	// contains filtered or unexported fields
}

func MustParseBrett

func MustParseBrett(zeilen ...string) Brett

func ParseBrett

func ParseBrett(zeilen ...string) (Brett, error)

func (Brett) MinimaxBewertung

func (b Brett) MinimaxBewertung(perspektive minimax.Spieler, aiRegeln minimax.Regeln) int

func (Brett) MinimaxMöglicheZüge

func (b Brett) MinimaxMöglicheZüge(perspektive minimax.Spieler, aiRegeln minimax.Regeln) []minimax.Zug

func (Brett) String

func (b Brett) String() string

type Richtung

type Richtung struct {
	Horizontal RichtungHorizontal
	Vertikal   RichtungVertikal
}

type RichtungHorizontal

type RichtungHorizontal byte
const (
	RichtungHorizontalLinks RichtungHorizontal = iota
	RichtungHorizontalKeine
	RichtungHorizontalRechts
)

type RichtungVertikal

type RichtungVertikal byte
const (
	RichtungVertikalVorne RichtungVertikal = iota
	RichtungVertikalKeine
	RichtungVertikalHinten
)

type Richtungen

type Richtungen map[Richtung]struct{}

type SpielOptionen

type SpielOptionen struct {
	StartBrett Brett
	AiTiefe    int
	ZugRegeln  ZugRegeln
}

type ZugRegeln

type ZugRegeln struct {
	SteinBewegenRichtungen                Richtungen
	SteinSchlagenRichtungenAnfang         Richtungen
	SteinSchlagenRichtungenWeiterschlagen Richtungen

	DameBewegenRichtungen                Richtungen
	DameSchlagenRichtungenAnfang         Richtungen
	DameSchlagenRichtungenWeiterschlagen Richtungen

	SchlagZwang bool
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL