REFSKRIPT
;Aufruf wendeltreppe.skr <akt_kp_drei> <kp_stufe> <nstufen> <dw_stufe> <dz_stufe> <xmit> <ymit>  <name>*/

GET_N_PARAMS
GET_RESULT nparam

IF_EQUAL_GOTO nparam 8 weiter
MELDUNG Es muessen 8 parameter sein
RETURN 0
>weiter:

GET_PARAM_NR 1
GET_RESULT akt_drei
GET_PARAM_NR 2
GET_RESULT kp_stufe
GET_PARAM_NR 3
GET_RESULT nstufen
GET_PARAM_NR 4
GET_RESULT dw_stufe
GET_PARAM_NR 5
GET_RESULT dz_stufe
GET_PARAM_NR 6
GET_RESULT xmit
GET_PARAM_NR 7
GET_RESULT ymit
GET_PARAM_NR 8
GET_RESULT name

IF_LESS_GOTO nstufen 2 err_nstuff
GOTO weiter1
>err_nstuff:
MELDUNG mindestens 2 stufen
RETURN 0
>weiter1:
AKT_KP_DREI akt_drei
; schauen, ob es kp ALLES ist, dann müssen wird zuerst
; einen neuen Koerper schaffen
IF_STR_NOT_EQUAL_GOTO kp_stufe ALLES w2b
CALL neukpnam.skr ALLES
GET_RESULT kp1
KP_ADDNEU kp_stufe kp1
ADD_STR kp1
GET_RESULT kp_stufe

>w2b:   

ADD_STR kp_stufe
GET_RESULT old
DREI_ndrei akt_drei
GET_RESULT nobj


SET_VAR i 2
>doloop:
   ADD_STR tmp i
   GET_RESULT new
   KP_DOPPELN old new
   KP_DREHE_UM new 5 dw_stufe xmit ymit 0
   KP_BEWEGE new 0 0 dz_stufe
   IF_EQUAL_GOTO i 2 weiter1a
   KP_LOESCHEN old   
>weiter1a:
   ADD_STR new
   GET_RESULT old
   ADD i 1
   GET_RESULT i
   IF_GREATER_GOTO i nstufen weiter2
   GOTO doloop
>weiter2:
KP_EXIST new
GET_RESULT res
IF_STR_EQUAL_GOTO res JA weiter3
GOTO weiter4
>weiter3:
KP_LOESCHEN new

DREI_ndrei akt_drei
GET_RESULT nobj1
SUB nobj1 1
GET_RESULT nobj1
KP_NEU name
KP_OBJ_VONBIS nobj nobj1
KP_FERTIG

KP_ADD name kp_stufe

RETURN 1
