Packages

  • package root
    Definition Classes
    root
  • package ostrat

    This is the root package for the Openstrat project.

    This is the root package for the Openstrat project. The top of this package contains, 32 bit Int based Colours, the Multiple type class, a show and persistence library using RCON (Name may change), Rich Compact Object Notation, array based compound value collections of same length elements, an Either based errors framework and general utilities.

    Definition Classes
    root
  • package geom

    I chose the package name to not clash with "geometry" that may be use in other libraries This package contains Basic geometry.

    I chose the package name to not clash with "geometry" that may be use in other libraries This package contains Basic geometry. A number of implementation Value classes of the Int and Double product classes defined in ostrat. 2d graphical objects for generalised use. They are of particular use for the generic canvas based classes defined in pCanv but can be used in any display framework and for printing.

    Definition Classes
    ostrat
  • package pCanv

    The package attempts to encapsulate the various abstract canvas traits while the actual objects that populate a canvas go in package geom.

    The package attempts to encapsulate the various abstract canvas traits while the actual objects that populate a canvas go in package geom.

    Definition Classes
    ostrat
  • package pDev
    Definition Classes
    ostrat
  • package pEarth
    Definition Classes
    ostrat
  • package pExt
    Definition Classes
    ostrat
  • package pFx

    This package is for JavaFx code.

    This package is for JavaFx code.

    Definition Classes
    ostrat
  • package pGames

    This pSimp contains the a number of games in varying stages of development.

    This pSimp contains the a number of games in varying stages of development.

    Definition Classes
    ostrat
  • package p1783

    This pSimp is the beginnings of a grand strategy development game starting in 1783.

  • package p305

    This is the beginnings of a grand strategy game starting in BC305 covering Europe, North Africa and West Asia.

  • package pCard

    This is ancient code.

    This is ancient code. Not use how much is worth salvaging

  • package pChess
  • package pCiv

    A civilisational development game.

  • package pCloseOrder
  • package pDung
  • package pNew
  • package pReactor
  • package pSimp

    Simplest multi player game in which you can move one hex per turn.

    Simplest multi player game in which you can move one hex per turn. Simplest turn resolution, you can not move into a hex occupied by another player or into a hex anther player is attempting to move. Compare this to the board game "Diplomacy". The only simultaneous turn board game that I think of. As Diplomacy was a board game, there was no computer and normally no games master (dungeon master). Hence they tried to keep the turn resolution system simple. This is way simpler. You only have one piece per player. There's only one type of unit. There's no combat. There's no supporting of units and there's no terrain.

    Obviously the focus of this project is to have complex multi-segment turn resolution, that was just not possible before cheap computers and networks. However the purpose of this pSimp, of this games is isolate the problems of game management from the complexities of turn resolution and turn resolution display. And to give the simplest example to help beginners build their own simultaneous turn games, reinforcing the mantra that "A complex system that works is invariably found to have evolved from a simple system that worked."

  • package pSpace
  • package pTic
  • package pWW2

    This pSimp is the beginnings of a WWII grand strategy game.

  • package pZug
  • package pGrid

    This package works with hexagonal and Square tile grids.

    This package works with hexagonal and Square tile grids. The tile objects themselves will not in the general case the contain grid coordinates, although it may be necessary to include this data for complex Tile values interacting with their wider environment. Its fundamental components are the grid data itself. This is just a linear array of tile data. Compile-time typed grid data. So for example a chess board can be represented by a 64 element Arr, its context determines that it is to be interpreted as an 8 by 8 square grid. Grid descriptions that describe the grid representation in the Array and GridFunctions which implement Cood to T. The grid and grid-gui hierarchies currently contain a mix of new and old systems.

    Definition Classes
    ostrat
  • package pParse

    This is the RSON package.

    This is the RSON package. Readable Succinct Object Notation. It could be just as accurately be described as Readable Succinct Data Notation, but that wouldn't scan as well and indicate it as a better replacement for JSON. RSON uses the standard semicolon separated statements combined with multilevel bracket hierarchy syntax familiar from C, C++, Java and JavaScript. Its main innovations over JSON and XML are allowing statements to be partitioned into comma delineated clauses, the empty statement, the empty clause and type inference. It uses a context free operator precedence hierarchy, with the exception of allowing the 4 ( - + ~ !) operator to be used as prefix operators. Beyond this it generally follows Scala syntax where this doesn't conflict with the preceding rules. Unlike Scala statements must finish with a semicolon unless it is the last statement of a file or a bracket block. Allowing statements to end with a newline introduces horrendous ambiguities unless one is willing to go completely down the significant whitespace route and I'm not sure if that could work even work for such a general purpose basic syntax.

    The above allows it to combine a high level of human readability, succinctness, non-programmer / non-expert write-ability, programmer flexibility and composability and fast-parsing. The initial motivating use case was strategy games, which require huge amounts of modable date files. XML and JSON, the current defaults are simply not fit for purpose. RSON aims to break down the walls between game player, game modder, professional game artist, professional game scripter, professional imperative programming wizards in languages such as C / C++ and Rust and professional functional programming wizards in languages such as Scala, Haskell and Idris.

    Definition Classes
    ostrat
  • package pStrat

    Package for miscellaneous game utilities and data.

    Package for miscellaneous game utilities and data.

    Definition Classes
    ostrat
  • package pWeb

    This package for the manipulation of Html, XML CSS and Javascript.

    This package for the manipulation of Html, XML CSS and Javascript. Some of the functionality could be replaced by Scalatags. As it currently stands the code and design quality of this package is not up to standard, but due to many other higher priorities, I have not been able to take the next step, which is to 1 improve and document it, rewrite it from scratch or 3 replace it with a Scala-tags dependency or some other library.

    Definition Classes
    ostrat
  • package strat
    Definition Classes
    ostrat
p

ostrat

pGames

package pGames

This pSimp contains the a number of games in varying stages of development.

Linear Supertypes

Package Members

  1. package p1783

    This pSimp is the beginnings of a grand strategy development game starting in 1783.

  2. package p305

    This is the beginnings of a grand strategy game starting in BC305 covering Europe, North Africa and West Asia.

  3. package pCard

    This is ancient code.

    This is ancient code. Not use how much is worth salvaging

  4. package pChess
  5. package pCiv

    A civilisational development game.

  6. package pCloseOrder
  7. package pDung
  8. package pNew
  9. package pReactor
  10. package pSimp

    Simplest multi player game in which you can move one hex per turn.

    Simplest multi player game in which you can move one hex per turn. Simplest turn resolution, you can not move into a hex occupied by another player or into a hex anther player is attempting to move. Compare this to the board game "Diplomacy". The only simultaneous turn board game that I think of. As Diplomacy was a board game, there was no computer and normally no games master (dungeon master). Hence they tried to keep the turn resolution system simple. This is way simpler. You only have one piece per player. There's only one type of unit. There's no combat. There's no supporting of units and there's no terrain.

    Obviously the focus of this project is to have complex multi-segment turn resolution, that was just not possible before cheap computers and networks. However the purpose of this pSimp, of this games is isolate the problems of game management from the complexities of turn resolution and turn resolution display. And to give the simplest example to help beginners build their own simultaneous turn games, reinforcing the mantra that "A complex system that works is invariably found to have evolved from a simple system that worked."

  11. package pSpace
  12. package pTic
  13. package pWW2

    This pSimp is the beginnings of a WWII grand strategy game.

  14. package pZug

Inherited from AnyRef

Inherited from Any

Ungrouped