bluemoon - Blue Moon card solitaire
This 52-card solitaire starts with the entire deck shuffled and
dealt out in four rows. The aces are then moved to the left end of
the layout, making 4 initial free spaces. You may move to a space
only the card that matches the left neighbor in suit, and is one
greater in rank. Kings are high, so no cards may be placed to their
right (they create dead spaces).
When no moves can be made, cards still out of sequence are reshuffled
and dealt face up after the ends of the partial sequences, leaving
a card space after each sequence, so that each row looks like a
partial sequence followed by a space, followed by enough cards to
make a row of 14. A moment's reflection will show that this game
cannot take more than 13 deals. A good score is 1-3 deals, 4-7 is
average, 8 or more is poor.
KnightCap is a chess program.
The principal differences between KnightCap and other chess programs
are:
- KnightCap has an optional fully rendered 3D interface, giving a feel much
more like an "over the board" game.
- KnightCap was developed to run on a parallel distributed memory
machine, although it also runs on normal Unix boxes.
- KnightCap does not have an opening book---instead it keeps a file
(brain.dat) of losing moves and inserts them in the hash table at the
start of each search. At present it has about 1500 entries, and
this makes it a pretty competitive opening player.
- KnightCap learns the parameters of its evaluation function as it
plays. The most dramatic example of how this helps is an experiment
we conducted on FICS in which KnightCap learnt from a 1650 player
to a 2100 player in just 300 games. See
http://cs.anu.edu.au/people/Lex.Weaver/pub_sem/publications/knightcap.pdf
for more info on its learning algorithm.
ACM is a LAN-oriented, multiplayer aerial combat simulation. My main
design objective was to provide source code that could be easily
compiled and executed on a wide variety of platforms. To that end,
acm is written entirely in C, exploiting the programming features of
Unix, X11, and the BSD socket interface.
Players engage in air to air combat against one another using heat
seeking missiles and cannons.
ACM is implemented as two programs. The first, named "acm", is a small
program that, when invoked, starts a flight session on a given
workstation. The second component, named "acms", is a server process
that manages the multiplayer environment. It also manages the flight
simulation and display management that is required. Most players will
prefer to run the acms process on a back-end server system on their
local area network. Players at client workstations can then invoke the
acm program to begin play.
Mah jongg is an ancient Chinese game whose origins are supposed to date
back around 3000 years. It is typically a four player game with
similarities to most popular card games. This version is a solitaire
game using the mahjongg tiles. It was inspired by a version originally
seen on a PC.
The object of the game is to remove all the tiles from the board in
matching pairs. Tiles match only if they are identical. Exceptions are
the flower and season tiles. Any season tile will match any other season
tile and any flower tile will match any other flower tile. Tiles may be
removed from the board only if they have either a left or a right edge
open and they do not have a tile covering them.
0 A.D. (pronounced "zero ey-dee") is a free, open-source, cross-platform
real-time strategy (RTS) game of ancient warfare. In short, it is
a historically-based war/economy game that allows players to relive
or rewrite the history of Western civilizations, focusing on the
years between 500 B.C. and 500 A.D. The project is highly ambitious,
involving state-of-the-art 3D graphics, detailed artwork, sound,
and a flexible and powerful custom-built game engine.
The game has been in development by Wildfire Games (WFG), a group
of volunteer, hobbyist game developers, since 2001. The code and
data are available under the GPL license, and the art, sound and
documentation are available under CC-BY-SA. In short, we consider
0 A.D. an educational celebration of game development and ancient
history.
Open Inventor(TM) is an object-oriented 3D toolkit offering a comprehensive
solution to interactive graphics programming problems. It presents a
programming model based on a 3D scene database that dramatically simplifies
graphics programming. It includes a rich set of objects such as cubes,
polygons, text, materials, cameras, lights, trackballs, handle boxes,
3D viewers, and editors that speed up your programming time and extend
your 3D programming capabilities.
Open Inventor:
- is built on top of OpenGL (R)
- defines a standard file format for 3D data interchange
- introduces a simple event model for 3D interaction
- provides animation objects called Engines
- provides high performance object picking
- is window system and platform independent
- is a cross-platform 3D graphics development system
- supports PostScript printing
- encourages programmers to create new customized objects
- is fun to use
MuPDF is a lightweight PDF viewer and toolkit written in portable C.
The renderer in MuPDF is tailored for high quality anti-aliased graphics. It
renders text with metrics and spacing accurate to within fractions of a
pixel for the highest fidelity in reproducing the look of a printed page on
screen.
MuPDF has a small footprint. A binary that includes the standard Roman fonts
is only one megabyte. A build with full CJK support (including an Asian
font) is approximately five megabytes.
MuPDF has support for all non-interactive PDF 1.7 features, and the toolkit
provides a simple API for accessing the internal structures of the PDF
document. Example code for navigating interactive links and bookmarks,
encrypting PDF files, extracting fonts, images, and searchable text, and
rendering pages to image files is provided.
SWF Tools is a collection of SWF manipulation and generation utilities
At the moment, this includes:
- PDF2SWF : A PDF to SWF Converter. Generates one frame per page.
- SWFCombine : A tool for inserting SWFs into Wrapper SWFs.
- SWFStrings : Scans SWFs for text data.
- SWFDump : Prints out various informations about SWFs.
- JPEG2SWF : Takes one or more JPEG pictures and generates a SWF slideshow.
- PNG2SWF : Like JPEG2SWF, only for PNGs.
- GIF2SWF : Converts GIFs to SWF. Also able to handle animated gifs.
- WAV2SWF : Converts WAV audio files to SWFs with MP3 Streams, using the
L.A.M.E. MP3 encoder.
- Font2SWF : Converts font files (TTF, Type1) to SWF.
- SWFBBox : Allows to readjust SWF bounding boxes.
- SWFC : A tool for creating SWF files from simple script files.
- SWFExtract : Allows to extract Movieclips, Sounds, Images etc. from SWF
files.
- AS3Compile : A standalone ActionScript 3.0 compiler. Mostly compatible
with Flex.
The Java Chart Constuction Kit (JCCKit) is a small (< 100Kb) Java library and a
very flexible framework for creating scientific charts and plots.
The main purpose is to provide a flexible kit for writing Java applets and
application with the need for visualizing scientific data. If you are looking
for a lean scientific chart and plot library without all the unwanted bells and
whistles of the heavy competitors try JCCKit.
The key features of JCCKit are:
* small (< 100Kb jar file)
* highly configurable due to a sophisticated configuration concept
* extensible (1/3 of all classes are interfaces or abstract classes.)
* automatic updating if data changes
* easy programming of dynamic charts and plots
* automatic rescaling if canvas size changes
* out-of-the-box applet for presenting static data on a web page without
Java programming
* automatically generates a legend
The Quantum::Superpositions module adds two new operators to Perl: any and
all.
Each of these operators takes a list of values (states) and superimposes
them into a single scalar value (a superposition), which can then be
stored in a standard scalar variable.
The any and all operators produce two distinct kinds of superposition. The
any operator produces a disjunctive superposition, which may (notionally)
be in any one of its states at any time, according to the needs of the
algorithm that uses it.
In contrast, the all operator creates a conjunctive superposition, which
is always in every one of its states simultaneously.
Superpositions are scalar values and hence can participate in arithmetic
and logical operations just like any other type of scalar. However, when
an operation is applied to a superposition, it is applied (notionally) in
parallel to each of the states in that superposition.