code: 9ferno

ref: b548687a8ed1d0a159c9d3f3f921d93bbb56908e
dir: /appl/spree/lib/tricks.m/

View raw version
Tricks: module {
	PATH:		con "/dis/spree/lib/tricks.dis";
	init:			fn(mod: Spree, g: ref Clique, cardlibmod: Cardlib);

	Trick: adt {
		trumps:	int;
		startcard:	Cardlib->Card;
		highcard:	Cardlib->Card;
		winner:	int;
		pile:		ref Object;
		hands:	array of ref Object;
		rank:		array of int;

		new:		fn(pile: ref Object, trumps: int,
					hands: array of ref Object, rank: array of int): ref Trick;
		play:		fn(t: self ref Trick, ord, idx: int): string;
		archive:	fn(t: self ref Trick, archiveobj: ref Object, name: string);
		unarchive:	fn(archiveobj: ref Object, name: string): ref Trick;
	};

};