Jass (German pronunciation: [ˈjas]) is a trick taking card game and a distinctive branch of the Marriage family, popularly supposed to be the progenitor of the American game of Pinochle. It is popular throughout the Alemannic German-speaking area of Europe (German-speaking Switzerland, Liechtenstein, Alsace part of France, Vorarlberg province of Austria, South-Western Germany (Baden-Wuerttemberg land) and beyond in Romansh-speaking Graubünden and in French-speaking Suisse romande of Switzerland as well as German-speaking South Tyrol in Italy.
The most common variant of Jass is the Schieber (in Vorarlberg also known as Krüzjass), played by two teams of two players each. It is often considered Switzerland's national card game, and is so popular there that the Swiss have come to apply the name Jass to trick-taking card games in general.
Jass, first mentioned in Switzerland in 1796, was originally the name of the highest trump, the Jack, in a family of related games originally spread from the Netherlands during the Late Middle Ages.
JASS and JASS2 (sometimes said to stand for Just Another Scripting Syntax) is a scripting language provided with an event-driven API created by Blizzard Entertainment. It is used extensively by their games Warcraft III (JASS2) and StarCraft (JASS) for scripting events in the game world. Map creators can use it in the Warcraft III World Editor and the Starcraft Editor to create scripts for triggers and AI (artificial intelligence) in custom maps and campaigns.
Blizzard Entertainment has replaced JASS with Galaxy in Starcraft II.
The language provides an extensive API that gives programmers control over nearly every aspect of the game world. It can, for example, execute simple GUI functions such as giving orders to units, changing the weather and time of day, playing sounds and displaying text to the player, and manipulating the terrain. JASS can also create powerful functions such as trackables, which detect if a mouse goes over or hits a position, GetLocalPlayer(), which can cause disconnects if used improperly (such as using handles with GetLocalPlayer() ). It has a syntax similar to Turing and Delphi, but unlike those languages, it is case sensitive. JASS primarily uses procedural programming concepts, though popular user-made modifications to Blizzard's World Editor program have since added C++-like object-oriented programming features to the syntax of JASS.