65 lines
1.6 KiB
TypeScript
65 lines
1.6 KiB
TypeScript
|
|
module mod_vtm_aufbau
|
|
{
|
|
|
|
/**
|
|
* @author kcf <vidofnir@folksprak.org>
|
|
*/
|
|
export class klasse_welt
|
|
{
|
|
|
|
/**
|
|
* @author kcf <vidofnir@folksprak.org>
|
|
*/
|
|
private felder : mod_vtm_helfer.klasse_hashmap<typ_position, schnittstelle_aktor>;
|
|
|
|
|
|
/**
|
|
* @author kcf <vidofnir@folksprak.org>
|
|
*/
|
|
private figur : klasse_figur;
|
|
|
|
|
|
/**
|
|
* @author kcf <vidofnir@folksprak.org>
|
|
*/
|
|
public constructor
|
|
(
|
|
felder : mod_vtm_helfer.klasse_hashmap<typ_position, schnittstelle_aktor> = new mod_vtm_helfer.klasse_hashmap<typ_position, schnittstelle_aktor>(position_hash),
|
|
figur : klasse_figur = new klasse_figur()
|
|
)
|
|
{
|
|
this.felder = felder;
|
|
this.figur = figur;
|
|
}
|
|
|
|
|
|
/**
|
|
* @author kcf <vidofnir@folksprak.org>
|
|
*/
|
|
public feld_setzen(position : typ_position, aktor : schnittstelle_aktor) : void
|
|
{
|
|
this.felder.setzen(position, aktor);
|
|
}
|
|
|
|
|
|
/**
|
|
* @author kcf <vidofnir@folksprak.org>
|
|
*/
|
|
public fortfahren() : void
|
|
{
|
|
let position : typ_position = this.figur.position_lesen();
|
|
let aktor_ : schnittstelle_fehlermonade<schnittstelle_aktor> = this.felder.holen(position);
|
|
let aktor : schnittstelle_aktor = (aktor_.ist_schlicht() ? aktor_.lesen() : (new klasse_verwerfer()));
|
|
let ergebnis : any = aktor.verwenden(this.figur);
|
|
//
|
|
let position_ : typ_position = this.figur.position_lesen();
|
|
console.info(JSON.stringify(position) + " -> " + JSON.stringify(position_));
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|