english-banner English version of this page
 
deutsche Flagge
Portait-Photo
über mich

Startseite
Links/BookmarksLinks
Programmieren
   - CodeOptimierung
   - CodeConventionen
   - GFA-Basic

Atari
Hardware-
Basteleien

Witze
Zitate
Sprüche
Braille
Kunst
Buch-Tip
E-Mail an Folke_R@gmx.de
historisches
Impressum
Listing: listings/BRISK1_1.LST
(generated: 16.05.2008)
    1 :
    2 :
    3 :
    4 :
    5 :
    6 :
    7 :
    8 :
    9 :
   10 :
   11 :
   12 :
   13 :
   14 :
   15 :
   16 :
   17 :
   18 :
   19 :
   20 :
   21 :
   22 :
   23 :
   24 :
   25 :
   26 :
   27 :
   28 :
   29 :
   30 :
   31 :
   32 :
   33 :
   34 :
   35 :
   36 :
   37 :
   38 :
   39 :
   40 :
   41 :
   42 :
   43 :
   44 :
   45 :
   46 :
   47 :
   48 :
   49 :
   50 :
   51 :
   52 :
   53 :
   54 :
   55 :
   56 :
   57 :
   58 :
   59 :
   60 :
   61 :
   62 :
   63 :
   64 :
   65 :
   66 :
   67 :
   68 :
   69 :
   70 :
   71 :
   72 :
   73 :
   74 :
   75 :
   76 :
   77 :
   78 :
   79 :
   80 :
   81 :
   82 :
   83 :
   84 :
   85 :
   86 :
   87 :
   88 :
   89 :
   90 :
   91 :
   92 :
   93 :
   94 :
   95 :
   96 :
   97 :
   98 :
   99 :
  100 :
  101 :
  102 :
  103 :
  104 :
  105 :
  106 :
  107 :
  108 :
  109 :
  110 :
  111 :
  112 :
  113 :
  114 :
  115 :
  116 :
  117 :
  118 :
  119 :
  120 :
  121 :
  122 :
  123 :
  124 :
  125 :
  126 :
  127 :
  128 :
  129 :
  130 :
  131 :
  132 :
  133 :
  134 :
  135 :
  136 :
  137 :
  138 :
  139 :
  140 :
  141 :
  142 :
  143 :
  144 :
  145 :
  146 :
  147 :
  148 :
  149 :
  150 :
  151 :
  152 :
  153 :
  154 :
  155 :
  156 :
  157 :
  158 :
  159 :
  160 :
  161 :
  162 :
  163 :
  164 :
  165 :
  166 :
  167 :
  168 :
  169 :
  170 :
  171 :
  172 :
  173 :
  174 :
  175 :
  176 :
  177 :
  178 :
  179 :
  180 :
  181 :
  182 :
  183 :
  184 :
  185 :
  186 :
  187 :
  188 :
  189 :
  190 :
  191 :
  192 :
  193 :
  194 :
  195 :
  196 :
  197 :
  198 :
  199 :
  200 :
  201 :
  202 :
  203 :
  204 :
  205 :
  206 :
  207 :
  208 :
  209 :
  210 :
  211 :
  212 :
  213 :
  214 :
  215 :
  216 :
  217 :
  218 :
  219 :
  220 :
  221 :
  222 :
  223 :
  224 :
  225 :
  226 :
  227 :
  228 :
  229 :
  230 :
  231 :
  232 :
  233 :
  234 :
  235 :
  236 :
  237 :
  238 :
  239 :
  240 :
  241 :
  242 :
  243 :
  244 :
  245 :
  246 :
  247 :
  248 :
  249 :
  250 :
  251 :
  252 :
  253 :
  254 :
  255 :
  256 :
  257 :
  258 :
  259 :
  260 :
  261 :
  262 :
  263 :
  264 :
  265 :
  266 :
  267 :
  268 :
  269 :
  270 :
  271 :
  272 :
  273 :
  274 :
  275 :
  276 :
  277 :
  278 :
  279 :
  280 :
  281 :
  282 :
  283 :
  284 :
  285 :
  286 :
  287 :
  288 :
  289 :
  290 :
  291 :
  292 :
  293 :
  294 :
  295 :
  296 :
  297 :
  298 :
  299 :
  300 :
  301 :
  302 :
  303 :
  304 :
  305 :
  306 :
  307 :
  308 :
  309 :
  310 :
  311 :
  312 :
  313 :
  314 :
  315 :
  316 :
  317 :
  318 :
  319 :
  320 :
  321 :
  322 :
  323 :
  324 :
  325 :
  326 :
  327 :
  328 :
  329 :
  330 :
  331 :
  332 :
  333 :
  334 :
  335 :
  336 :
  337 :
  338 :
  339 :
  340 :
  341 :
  342 :
  343 :
  344 :
  345 :
  346 :
  347 :
  348 :
  349 :
  350 :
  351 :
  352 :
  353 :
  354 :
  355 :
  356 :
  357 :
  358 :
  359 :
  360 :
  361 :
  362 :
  363 :
  364 :
  365 :
  366 :
  367 :
  368 :
  369 :
  370 :
  371 :
  372 :
  373 :
  374 :
  375 :
  376 :
  377 :
  378 :
  379 :
  380 :
  381 :
  382 :
  383 :
  384 :
  385 :
  386 :
  387 :
  388 :
  389 :
  390 :
  391 :
  392 :
  393 :
  394 :
  395 :
  396 :
  397 :
  398 :
  399 :
  400 :
  401 :
  402 :
  403 :
  404 :
  405 :
  406 :
  407 :
  408 :
  409 :
  410 :
  411 :
  412 :
  413 :
  414 :
  415 :
  416 :
  417 :
  418 :
  419 :
  420 :
  421 :
  422 :
  423 :
  424 :
  425 :
  426 :
  427 :
  428 :
  429 :
  430 :
  431 :
  432 :
  433 :
  434 :
  435 :
  436 :
  437 :
  438 :
  439 :
  440 :
  441 :
  442 :
  443 :
  444 :
  445 :
  446 :
  447 :
  448 :
  449 :
  450 :
  451 :
  452 :
  453 :
  454 :
  455 :
  456 :
  457 :
  458 :
  459 :
  460 :
  461 :
  462 :
  463 :
  464 :
  465 :
  466 :
  467 :
  468 :
  469 :
  470 :
  471 :
  472 :
  473 :
  474 :
  475 :
  476 :
  477 :
  478 :
  479 :
  480 :
  481 :
  482 :
  483 :
  484 :
  485 :
  486 :
  487 :
  488 :
  489 :
  490 :
  491 :
  492 :
  493 :
  494 :
  495 :
  496 :
  497 :
  498 :
  499 :
  500 :
  501 :
  502 :
  503 :
  504 :
  505 :
  506 :
  507 :
  508 :
  509 :
  510 :
  511 :
  512 :
  513 :
  514 :
  515 :
  516 :
  517 :
  518 :
  519 :
  520 :
  521 :
  522 :
  523 :
  524 :
  525 :
  526 :
  527 :
  528 :
  529 :
  530 :
  531 :
  532 :
  533 :
  534 :
  535 :
  536 :
  537 :
  538 :
  539 :
  540 :
  541 :
  542 :
  543 :
  544 :
  545 :
  546 :
  547 :
  548 :
  549 :
  550 :
  551 :
  552 :
  553 :
  554 :
  555 :
  556 :
  557 :
  558 :
  559 :
  560 :
  561 :
  562 :
  563 :
  564 :
  565 :
  566 :
  567 :
  568 :
  569 :
  570 :
  571 :
  572 :
  573 :
  574 :
  575 :
  576 :
  577 :
  578 :
  579 :
  580 :
  581 :
  582 :
  583 :
  584 :
  585 :
  586 :
  587 :
  588 :
  589 :
  590 :
  591 :
  592 :
  593 :
  594 :
  595 :
  596 :
  597 :
  598 :
  599 :
  600 :
  601 :
  602 :
  603 :
  604 :
  605 :
  606 :
  607 :
  608 :
  609 :
  610 :
  611 :
  612 :
  613 :
  614 :
  615 :
  616 :
  617 :
  618 :
  619 :
  620 :
  621 :
  622 :
  623 :
  624 :
  625 :
  626 :
  627 :
  628 :
  629 :
  630 :
  631 :
  632 :
  633 :
  634 :
  635 :
  636 :
  637 :
  638 :
  639 :
  640 :
  641 :
  642 :
  643 :
  644 :
  645 :
  646 :
  647 :
  648 :
  649 :
  650 :
  651 :
  652 :
  653 :
  654 :
  655 :
  656 :
  657 :
  658 :
  659 :
  660 :
  661 :
  662 :
  663 :
  664 :
  665 :
  666 :
  667 :
  668 :
  669 :
  670 :
  671 :
  672 :
  673 :
  674 :
  675 :
  676 :
  677 :
  678 :
  679 :
  680 :
  681 :
  682 :
  683 :
  684 :
  685 :
  686 :
  687 :
  688 :
  689 :
  690 :
  691 :
  692 :
  693 :
  694 :
  695 :
  696 :
  697 :
  698 :
  699 :
  700 :
  701 :
  702 :
  703 :
  704 :
  705 :
  706 :
  707 :
  708 :
  709 :
  710 :
  711 :
  712 :
  713 :
  714 :
  715 :
  716 :
  717 :
  718 :
  719 :
  720 :
  721 :
  722 :
  723 :
  724 :
  725 :
  726 :
  727 :
  728 :
  729 :
  730 :
  731 :
  732 :
  733 :
  734 :
  735 :
  736 :
  737 :
  738 :
  739 :
  740 :
  741 :
  742 :
  743 :
  744 :
  745 :
  746 :
  747 :
  748 :
  749 :
  750 :
  751 :
  752 :
  753 :
  754 :
  755 :
  756 :
  757 :
  758 :
  759 :
  760 :
  761 :
  762 :
  763 :
  764 :
  765 :
  766 :
  767 :
  768 :
  769 :
  770 :
  771 :
  772 :
  773 :
  774 :
  775 :
  776 :
  777 :
  778 :
  779 :
  780 :
  781 :
  782 :
  783 :
  784 :
  785 :
  786 :
  787 :
  788 :
  789 :
  790 :
  791 :
  792 :
  793 :
  794 :
  795 :
  796 :
  797 :
  798 :
  799 :
  800 :
  801 :
  802 :
  803 :
  804 :
  805 :
  806 :
  807 :
  808 :
  809 :
  810 :
  811 :
  812 :
  813 :
  814 :
  815 :
  816 :
  817 :
  818 :
  819 :
  820 :
  821 :
  822 :
  823 :
  824 :
  825 :
  826 :
  827 :
  828 :
  829 :
  830 :
  831 :
  832 :
  833 :
  834 :
  835 :
  836 :
  837 :
  838 :
  839 :
  840 :
  841 :
  842 :
  843 :
  844 :
  845 :
  846 :
  847 :
  848 :
  849 :
  850 :
  851 :
  852 :
  853 :
  854 :
  855 :
  856 :
  857 :
  858 :
  859 :
  860 :
  861 :
  862 :
  863 :
  864 :
  865 :
  866 :
  867 :
  868 :
  869 :
  870 :
  871 :
  872 :
  873 :
  874 :
  875 :
  876 :
  877 :
  878 :
  879 :
  880 :
  881 :
  882 :
  883 :
  884 :
  885 :
  886 :
  887 :
  888 :
  889 :
  890 :
  891 :
  892 :
  893 :
  894 :
  895 :
  896 :
  897 :
  898 :
  899 :
  900 :
  901 :
  902 :
  903 :
  904 :
  905 :
  906 :
  907 :
  908 :
  909 :
  910 :
  911 :
  912 :
  913 :
  914 :
  915 :
  916 :
  917 :
  918 :
  919 :
  920 :
  921 :
  922 :
  923 :
  924 :
  925 :
  926 :
  927 :
  928 :
  929 :
  930 :
  931 :
  932 :
  933 :
  934 :
  935 :
  936 :
  937 :
  938 :
  939 :
  940 :
  941 :
  942 :
  943 :
  944 :
  945 :
  946 :
  947 :
  948 :
  949 :
  950 :
  951 :
  952 :
  953 :
  954 :
  955 :
  956 :
  957 :
  958 :
  959 :
  960 :
  961 :
  962 :
  963 :
  964 :
  965 :
  966 :
  967 :
  968 :
  969 :
  970 :
  971 :
  972 :
  973 :
  974 :
  975 :
  976 :
  977 :
  978 :
  979 :
  980 :
  981 :
  982 :
  983 :
  984 :
  985 :
  986 :
  987 :
  988 :
  989 :
  990 :
  991 :
  992 :
  993 :
  994 :
  995 :
  996 :
  997 :
  998 :
  999 :
 1000 :
 1001 :
 1002 :
 1003 :
 1004 :
 1005 :
 1006 :
 1007 :
 1008 :
 1009 :
 1010 :
 1011 :
 1012 :
 1013 :
 1014 :
 1015 :
 1016 :
 1017 :
 1018 :
 1019 :
 1020 :
 1021 :
 1022 :
 1023 :
 1024 :
 1025 :
 1026 :
 1027 :
 1028 :
 1029 :
 1030 :
 1031 :
 1032 :
 1033 :
 1034 :
 1035 :
 1036 :
 1037 :
 1038 :
 1039 :
 1040 :
 1041 :
 1042 :
 1043 :
 1044 :
 1045 :
 1046 :
 1047 :
 1048 :
 1049 :
 1050 :
 1051 :
 1052 :
 1053 :
 1054 :
 1055 :
 1056 :
 1057 :
 1058 :
 1059 :
 1060 :
 1061 :
 1062 :
 1063 :
 1064 :
 1065 :
 1066 :
 1067 :
 1068 :
 1069 :
 1070 :
 1071 :
 1072 :
 1073 :
 1074 :
 1075 :
 1076 :
 1077 :
 1078 :
 1079 :
 1080 :
 1081 :
 1082 :
 1083 :
 1084 :
 1085 :
 1086 :
 1087 :
 1088 :
 1089 :
 1090 :
 1091 :
 1092 :
 1093 :
 1094 :
 1095 :
 1096 :
 1097 :
 1098 :
 1099 :
 1100 :
 1101 :
 1102 :
 1103 :
 1104 :
 1105 :
 1106 :
 1107 :
 1108 :
 1109 :
 1110 :
 1111 :
 1112 :
 1113 :
 1114 :
 1115 :
 1116 :
 1117 :
 1118 :
 1119 :
 1120 :
 1121 :
 1122 :
 1123 :
 1124 :
 1125 :
 1126 :
 1127 :
 1128 :
 1129 :
 1130 :
 1131 :
 1132 :
 1133 :
 1134 :
 1135 :
 1136 :
 1137 :
 1138 :
 1139 :
 1140 :
 1141 :
 1142 :
 1143 :
 1144 :
 1145 :
 1146 :
 1147 :
 1148 :
 1149 :
 1150 :
 1151 :
 1152 :
 1153 :
 1154 :
 1155 :
 1156 :
 1157 :
 1158 :
 1159 :
 1160 :
 1161 :
 1162 :
 1163 :
 1164 :
 1165 :
 1166 :
 1167 :
 1168 :
 1169 :
 1170 :
 1171 :
 1172 :
 1173 :
 1174 :
 1175 :
 1176 :
 1177 :
 1178 :
 1179 :
 1180 :
 1181 :
 1182 :
 1183 :
 1184 :
 1185 :
 1186 :
 1187 :
 1188 :
 1189 :
 1190 :
 1191 :
 1192 :
 1193 :
 1194 :
 1195 :
 1196 :
 1197 :
 1198 :
 1199 :
 1200 :
 1201 :
 1202 :
 1203 :
 1204 :
 1205 :
 1206 :
 1207 :
 1208 :
 1209 :
 1210 :
 1211 :
 1212 :
 1213 :
 1214 :
 1215 :
 1216 :
 1217 :
 1218 :
 1219 :
 1220 :
 1221 :
 1222 :
 1223 :
 1224 :
 1225 :
 1226 :
 1227 :
 1228 :
 1229 :
 1230 :
 1231 :
 1232 :
 1233 :
 1234 :
 1235 :
 1236 :
 1237 :
 1238 :
 1239 :
 1240 :
 1241 :
 1242 :
 1243 :
 1244 :
 1245 :
 1246 :
 1247 :
 1248 :
 1249 :
 1250 :
 1251 :
 1252 :
 1253 :
 1254 :
 1255 :
 1256 :
 1257 :
 1258 :
 1259 :
 1260 :
 1261 :
 1262 :
 1263 :
 1264 :
 1265 :
 1266 :
 1267 :
 1268 :
 1269 :
 1270 :
 1271 :
 1272 :
 1273 :
 1274 :
 1275 :
 1276 :
 1277 :
 1278 :
 1279 :
 1280 :
 1281 :
 1282 :
 1283 :
 1284 :
 1285 :
 1286 :
 1287 :
 1288 :
 1289 :
 1290 :
 1291 :
 1292 :
 1293 :
 1294 :
 1295 :
 1296 :
 1297 :
 1298 :
 1299 :
 1300 :
 1301 :
 1302 :
 1303 :
 1304 :
 1305 :
 1306 :
 1307 :
 1308 :
 1309 :
 1310 :
 1311 :
 1312 :
 1313 :
 1314 :
 1315 :
 1316 :
 1317 :
 1318 :
 1319 :
 1320 :
 1321 :
 1322 :
 1323 :
 1324 :
 1325 :
 1326 :
 1327 :
 1328 :
 1329 :
 1330 :
 1331 :
 1332 :
 1333 :
 1334 :
 1335 :
 1336 :
 1337 :
 1338 :
 1339 :
 1340 :
 1341 :
 1342 :
 1343 :
 1344 :
 1345 :
 1346 :
 1347 :
 1348 :
 1349 :
 1350 :
 1351 :
 1352 :
 1353 :
 1354 :
 1355 :
 1356 :
 1357 :
 1358 :
 1359 :
 1360 :
 1361 :
 1362 :
 1363 :
 1364 :
 1365 :
 1366 :
 1367 :
 1368 :
 1369 :
 1370 :
 1371 :
 1372 :
 1373 :
 1374 :
 1375 :
 1376 :
 1377 :
 1378 :
 1379 :
 1380 :
 1381 :
 1382 :
 1383 :
 1384 :
 1385 :
 1386 :
 1387 :
 1388 :
 1389 :
 1390 :
 1391 :
 1392 :
 1393 :
 1394 :
 1395 :
 1396 :
 1397 :
 1398 :
 1399 :
 1400 :
 1401 :
 1402 :
 1403 :
 1404 :
 1405 :
 1406 :
 1407 :
 1408 :
 1409 :
 1410 :
 1411 :
 1412 :
 1413 :
 1414 :
 1415 :
 1416 :
 1417 :
 1418 :
 1419 :
 1420 :
 1421 :
 1422 :
 1423 :
 1424 :
 1425 :
 1426 :
 1427 :
 1428 :
 1429 :
 1430 :
 1431 :
 1432 :
 1433 :
 1434 :
 1435 :
 1436 :
 1437 :
 1438 :
 1439 :
 1440 :
 1441 :
 1442 :
 1443 :
 1444 :
 1445 :
 1446 :
 1447 :
 1448 :
 1449 :
 1450 :
 1451 :
 1452 :
 1453 :
 1454 :
 1455 :
 1456 :
 1457 :
 1458 :
 1459 :
 1460 :
 1461 :
 1462 :
 1463 :
 1464 :
 1465 :
 1466 :
 1467 :
 1468 :
 1469 :
 1470 :
 1471 :
 1472 :
 1473 :
 1474 :
 1475 :
 1476 :
 1477 :
 1478 :
 1479 :
 1480 :
 1481 :
 1482 :
 1483 :
 1484 :
 1485 :
 1486 :
 1487 :
 1488 :
 1489 :
 1490 :
 1491 :
 1492 :
 1493 :
 1494 :
 1495 :
 1496 :
 1497 :
 1498 :
 1499 :
 1500 :
 1501 :
 1502 :
 1503 :
 1504 :
 1505 :
 1506 :
 1507 :
 1508 :
 1509 :
 1510 :
 1511 :
 1512 :
 1513 :
 1514 :
 1515 :
 1516 :
 1517 :
 1518 :
 1519 :
 1520 :
 1521 :
 1522 :
 1523 :
 1524 :
 1525 :
 1526 :
 1527 :
 1528 :
 1529 :
 1530 :
 1531 :
 1532 :
 1533 :
 1534 :
 1535 :
 1536 :
 1537 :
 1538 :
 1539 :
 1540 :
 1541 :
 1542 :
 1543 :
 1544 :
 1545 :
 1546 :
 1547 :
 1548 :
 1549 :
 1550 :
 1551 :
 1552 :
 1553 :
 1554 :
 1555 :
 1556 :
 1557 :
 1558 :
 1559 :
 1560 :
 1561 :
 1562 :
 1563 :
 1564 :
 1565 :
 1566 :
 1567 :
 1568 :
 1569 :
 1570 :
 1571 :
 1572 :
 1573 :
 1574 :
 1575 :
 1576 :
 1577 :
 1578 :
 1579 :
 1580 :
 1581 :
 1582 :
 1583 :
 1584 :
 1585 :
 1586 :
 1587 :
 1588 :
 1589 :
 1590 :
 1591 :
 1592 :
 1593 :
 1594 :
 1595 :
 1596 :
 1597 :
 1598 :
 1599 :
 1600 :
 1601 :
 1602 :
 1603 :
 1604 :
 1605 :
 1606 :
 1607 :
 1608 :
 1609 :
 1610 :
 1611 :
 1612 :
 1613 :
 1614 :
 1615 :
 1616 :
 1617 :
 1618 :
 1619 :
 1620 :
 1621 :
 1622 :
 1623 :
 1624 :
 1625 :
 1626 :
 1627 :
 1628 :
 1629 :
 1630 :
 1631 :
 1632 :
 1633 :
 1634 :
 1635 :
 1636 :
 1637 :
 1638 :
 1639 :
 1640 :
 1641 :
 1642 :
 1643 :
 1644 :
 1645 :
 1646 :
 1647 :
 1648 :
 1649 :
 1650 :
 1651 :
 1652 :
 1653 :
 1654 :
 1655 :
 1656 :
 1657 :
 1658 :
 1659 :
 1660 :
 1661 :
 1662 :
 1663 :
 1664 :
 1665 :
 1666 :
 1667 :
 1668 :
 1669 :
 1670 :
 1671 :
 1672 :
 1673 :
 1674 :
 1675 :
 1676 :
 1677 :
 1678 :
 1679 :
 1680 :
 1681 :
 1682 :
 1683 :
 1684 :
 1685 :
 1686 :
 1687 :
 1688 :
 1689 :
 1690 :
 1691 :
 1692 :
 1693 :
 1694 :
 1695 :
 1696 :
 1697 :
 1698 :
 1699 :
 1700 :
 1701 :
 1702 :
 1703 :
 1704 :
 1705 :
 1706 :
 1707 :
 1708 :
 1709 :
 1710 :
 1711 :
 1712 :
 1713 :
 1714 :
 1715 :
 1716 :
 1717 :
 1718 :
 1719 :
 1720 :
 1721 :
 1722 :
 1723 :
 1724 :
 1725 :
 1726 :
 1727 :
 1728 :
 1729 :
 1730 :
 1731 :
 1732 :
 1733 :
 1734 :
 1735 :
 1736 :
 1737 :
 1738 :
 1739 :
 1740 :
 1741 :
 1742 :
 1743 :
 1744 :
 1745 :
 1746 :
 1747 :
 1748 :
 1749 :
 1750 :
 1751 :
 1752 :
 1753 :
 1754 :
 1755 :
 1756 :
 1757 :
 1758 :
 1759 :
 1760 :
 1761 :
 1762 :
 1763 :
 1764 :
 1765 :
 1766 :
 1767 :
 1768 :
 1769 :
 1770 :
 1771 :
 1772 :
 1773 :
 1774 :
 1775 :
 1776 :
 1777 :
 1778 :
 1779 :
 1780 :
 1781 :
 1782 :
 1783 :
 1784 :
 1785 :
 1786 :
 1787 :
 1788 :
 1789 :
 1790 :
 1791 :
 1792 :
 1793 :
 1794 :
 1795 :
 1796 :
 1797 :
 1798 :
 1799 :
 1800 :
 1801 :
 1802 :
 1803 :
 1804 :
 1805 :
 1806 :
 1807 :
 1808 :
 1809 :
 1810 :
 1811 :
 1812 :
 1813 :
 1814 :
 1815 :
 1816 :
 1817 :
 1818 :
 1819 :
 1820 :
 1821 :
 1822 :
 1823 :
 1824 :
 1825 :
 1826 :
 1827 :
 1828 :
 1829 :
 1830 :
 1831 :
 1832 :
 1833 :
 1834 :
 1835 :
 1836 :
 1837 :
 1838 :
 1839 :
 1840 :
 1841 :
 1842 :
 1843 :
 1844 :
 1845 :
 1846 :
 1847 :
 1848 :
 1849 :
 1850 :
 1851 :
 1852 :
 1853 :
 1854 :
 1855 :
 1856 :
 1857 :
 1858 :
 1859 :
 1860 :
 1861 :
 1862 :
 1863 :
 1864 :
 1865 :
 1866 :
 1867 :
 1868 :
 1869 :
 1870 :
 1871 :
 1872 :
 1873 :
 1874 :
 1875 :
 1876 :
 1877 :
 1878 :
 1879 :
 1880 :
 1881 :
 1882 :
 1883 :
 1884 :
 1885 :
 1886 :
 1887 :
 1888 :
 1889 :
 1890 :
 1891 :
 1892 :
 1893 :
 1894 :
 1895 :
 1896 :
 1897 :
 1898 :
 1899 :
 1900 :
 1901 :
 1902 :
 1903 :
 1904 :
 1905 :
 1906 :
 1907 :
 1908 :
 1909 :
 1910 :
 1911 :
 1912 :
 1913 :
 1914 :
 1915 :
 1916 :
 1917 :
 1918 :
 1919 :
 1920 :
 1921 :
 1922 :
 1923 :
 1924 :
 1925 :
 1926 :
 1927 :
 1928 :
 1929 :
 1930 :
 1931 :
 1932 :
 1933 :
 1934 :
 1935 :
 1936 :
 1937 :
 1938 :
 1939 :
 1940 :
 1941 :
 1942 :
 1943 :
 1944 :
 1945 :
 1946 :
 1947 :
 1948 :
 1949 :
 1950 :
 1951 :
 1952 :
 1953 :
 1954 :
 1955 :
 1956 :
 1957 :
 1958 :
 1959 :
 1960 :
 1961 :
 1962 :
 1963 :
 1964 :
 1965 :
 1966 :
 1967 :
 1968 :
 1969 :
 1970 :
 1971 :
 1972 :
 1973 :
 1974 :
 1975 :
 1976 :
 1977 :
 1978 :
 1979 :
 1980 :
 1981 :
 1982 :
 1983 :
 1984 :
 1985 :
 1986 :
 1987 :
 1988 :
 1989 :
 1990 :
 1991 :
 1992 :
 1993 :
 1994 :
 1995 :
 1996 :
 1997 :
 1998 :
 1999 :
 2000 :
 2001 :
 2002 :
 2003 :
 2004 :
 2005 :
 2006 :
 2007 :
 2008 :
 2009 :
 2010 :
 2011 :
 2012 :
 2013 :
 2014 :
 2015 :
 2016 :
 2017 :
 2018 :
 2019 :
 2020 :
 2021 :
 2022 :
 2023 :
 2024 :
 2025 :
 2026 :
 2027 :
 2028 :
 2029 :
 2030 :
 2031 :
 2032 :
 2033 :
 2034 :
 2035 :
 2036 :
 2037 :
 2038 :
 2039 :
 2040 :
 2041 :
 2042 :
 2043 :
 2044 :
 2045 :
 2046 :
 2047 :
 2048 :
 2049 :
 2050 :
 2051 :
 2052 :
 2053 :
 2054 :
 2055 :
 2056 :
 2057 :
 2058 :
 2059 :
 2060 :
 2061 :
 2062 :
 2063 :
 2064 :
 2065 :
 2066 :
 2067 :
 2068 :
 2069 :
 2070 :
 2071 :
 2072 :
 2073 :
 2074 :
 2075 :
 2076 :
 2077 :
 2078 :
 2079 :
 2080 :
 2081 :
 2082 :
 2083 :
 2084 :
 2085 :
 2086 :
 2087 :
 2088 :
 2089 :
 2090 :
 2091 :
 2092 :
 2093 :
 2094 :
 2095 :
 2096 :
 2097 :
 2098 :
 2099 :
 2100 :
 2101 :
 2102 :
 2103 :
 2104 :
 2105 :
 2106 :
 2107 :
 2108 :
 2109 :
 2110 :
 2111 :
 2112 :
 2113 :
 2114 :
 2115 :
 2116 :
 2117 :
 2118 :
 2119 :
 2120 :
 2121 :
 2122 :
 2123 :
 2124 :
 2125 :
 2126 :
 2127 :
 2128 :
 2129 :
 2130 :
 2131 :
 2132 :
 2133 :
 2134 :
 2135 :
 2136 :
 2137 :
 2138 :
 2139 :
 2140 :
 2141 :
 2142 :
 2143 :
 2144 :
 2145 :
 2146 :
 2147 :
 2148 :
 2149 :
 2150 :
 2151 :
 2152 :
 2153 :
 2154 :
 2155 :
 2156 :
 2157 :
 2158 :
 2159 :
 2160 :
 2161 :
 2162 :
 2163 :
 2164 :
 2165 :
 2166 :
 2167 :
 2168 :
 2169 :
 2170 :
 2171 :
 2172 :
 2173 :
 2174 :
 2175 :
 2176 :
 2177 :
 2178 :
 2179 :
 2180 :
 2181 :
 2182 :
 2183 :
 2184 :
 2185 :
 2186 :
 2187 :
 2188 :
 2189 :
 2190 :
 2191 :
 2192 :
 2193 :
 2194 :
 2195 :
 2196 :
 2197 :
 2198 :
 2199 :
 2200 :
 2201 :
 2202 :
 2203 :
 2204 :
 2205 :
 2206 :
 2207 :
 2208 :
 2209 :
 2210 :
 2211 :
 2212 :
 2213 :
 2214 :
 2215 :
 2216 :
 2217 :
 2218 :
 2219 :
 2220 :
 2221 :
 2222 :
 2223 :
 2224 :
 2225 :
 2226 :
 2227 :
 2228 :
 2229 :
 2230 :
 2231 :
 2232 :
 2233 :
 2234 :
 2235 :
 2236 :
 2237 :
 2238 :
 2239 :
 2240 :
 2241 :
 2242 :
 2243 :
 2244 :
 2245 :
 2246 :
 2247 :
 2248 :
 2249 :
 2250 :
 2251 :
 2252 :
 2253 :
 2254 :
 2255 :
 2256 :
 2257 :
 2258 :
 2259 :
 2260 :
 2261 :
 2262 :
 2263 :
 2264 :
 2265 :
 2266 :
 2267 :
 2268 :
 2269 :
 2270 :
 2271 :
 2272 :
 2273 :
 2274 :
 2275 :
 2276 :
 2277 :
 2278 :
 2279 :
 2280 :
 2281 :
 2282 :
 2283 :
 2284 :
 2285 :
 2286 :
 2287 :
 2288 :
 2289 :
 2290 :
 2291 :
 2292 :
 2293 :
 2294 :
 2295 :
 2296 :
 2297 :
 2298 :
 2299 :
 2300 :
 2301 :
 2302 :
 2303 :
 2304 :
 2305 :
 2306 :
 2307 :
 2308 :
 2309 :
 2310 :
 2311 :
 2312 :
 2313 :
 2314 :
 2315 :
 2316 :
 2317 :
 2318 :
 2319 :
 2320 :
 2321 :
 2322 :
 2323 :
 2324 :
 2325 :
 2326 :
 2327 :
 2328 :
 2329 :
 2330 :
 2331 :
 2332 :
 2333 :
 2334 :
 2335 :
 2336 :
 2337 :
 2338 :
 2339 :
 2340 :
 2341 :
 2342 :
 2343 :
 2344 :
 2345 :
 2346 :
 2347 :
 2348 :
 2349 :
 2350 :
 2351 :
 2352 :
 2353 :
 2354 :
 2355 :
 2356 :
 2357 :
 2358 :
 2359 :
 2360 :
 2361 :
 2362 :
 2363 :
 2364 :
 2365 :
 2366 :
 2367 :
 2368 :
 2369 :
 2370 :
 2371 :
 2372 :
 2373 :
 2374 :
 2375 :
 2376 :
 2377 :
 2378 :
 2379 :
 2380 :
 2381 :
 2382 :
 2383 :
 2384 :
 2385 :
 2386 :
 2387 :
 2388 :
 2389 :
 2390 :
 2391 :
 2392 :
 2393 :
 2394 :
 2395 :
 2396 :
 2397 :
 2398 :
 2399 :
 2400 :
 2401 :
 2402 :
 2403 :
 2404 :
 2405 :
 2406 :
 2407 :
 2408 :
 2409 :
 2410 :
 2411 :
 2412 :
 2413 :
 2414 :
 2415 :
 2416 :
 2417 :
 2418 :
 2419 :
 2420 :
 2421 :
 2422 :
 2423 :
 2424 :
 2425 :
 2426 :
 2427 :
 2428 :
 2429 :
 2430 :
 2431 :
 2432 :
 2433 :
 2434 :
 2435 :
 2436 :
 2437 :
 2438 :
 2439 :
 2440 :
 2441 :
 2442 :
 2443 :
 2444 :
 2445 :
 2446 :
 2447 :
 2448 :
 2449 :
 2450 :
 2451 :
 2452 :
 2453 :
 2454 :
 2455 :
 2456 :
 2457 :
 2458 :
 2459 :
 2460 :
 2461 :
 2462 :
 2463 :
 2464 :
 2465 :
 2466 :
 2467 :
 2468 :
 2469 :
 2470 :
 2471 :
 2472 :
 2473 :
 2474 :
 2475 :
 2476 :
 2477 :
 2478 :
 2479 :
 2480 :
 2481 :
 2482 :
 2483 :
 2484 :
 2485 :
 2486 :
 2487 :
 2488 :
 2489 :
 2490 :
 2491 :
 2492 :
 2493 :
 2494 :
 2495 :
 2496 :
 2497 :
 2498 :
 2499 :
 2500 :
 2501 :
 2502 :
 2503 :
 2504 :
 2505 :
 2506 :
 2507 :
 2508 :
 2509 :
 2510 :
 2511 :
 2512 :
 2513 :
 2514 :
 2515 :
 2516 :
 2517 :
 2518 :
 2519 :
 2520 :
 2521 :
 2522 :
 2523 :
 2524 :
 2525 :
 2526 :
 2527 :
 2528 :
 2529 :
 2530 :
 2531 :
 2532 :
 2533 :
 2534 :
 2535 :
 2536 :
 2537 :
 2538 :
 2539 :
 2540 :
 2541 :
 2542 :
 2543 :
 2544 :
 2545 :
 2546 :
 2547 :
 2548 :
 2549 :
 2550 :
 2551 :
 2552 :
 2553 :
 2554 :
 2555 :
 2556 :
 2557 :
 2558 :
 2559 :
 2560 :
 2561 :
 2562 :
 2563 :
 2564 :
 2565 :
 2566 :
 2567 :
 2568 :
 2569 :
 2570 :
 2571 :
 2572 :
 2573 :
 2574 :
 2575 :
 2576 :
 2577 :
 2578 :
 2579 :
 2580 :
 2581 :
 2582 :
 2583 :
 2584 :
 2585 :
 2586 :
 2587 :
 2588 :
 2589 :
 2590 :
 2591 :
 2592 :
 2593 :
 2594 :
 2595 :
 2596 :
 2597 :
 2598 :
 2599 :
 2600 :
 2601 :
 2602 :
 2603 :
 2604 :
 2605 :
 2606 :
 2607 :
 2608 :
 2609 :
 2610 :
 2611 :
 2612 :
 2613 :
 2614 :
 2615 :
 2616 :
 2617 :
 2618 :
 2619 :
 2620 :
 2621 :
 2622 :
 2623 :
 2624 :
 2625 :
 2626 :
 2627 :
 2628 :
 2629 :
 2630 :
 2631 :
 2632 :
 2633 :
 2634 :
 2635 :
 2636 :
 2637 :
 2638 :
 2639 :
 2640 :
 2641 :
 2642 :
 2643 :
 2644 :
 2645 :
 2646 :
 2647 :
 2648 :
 2649 :
 2650 :
 2651 :
 2652 :
 2653 :
 2654 :
 2655 :
 2656 :
 2657 :
 2658 :
 2659 :
 2660 :
 2661 :
 2662 :
 2663 :
 2664 :
 2665 :
 2666 :
 2667 :
 2668 :
 2669 :
 2670 :
 2671 :
 2672 :
 2673 :
 2674 :
 2675 :
 2676 :
 2677 :
 2678 :
 2679 :
 2680 :
 2681 :
 2682 :
 2683 :
 2684 :
 2685 :
 2686 :
 2687 :
 2688 :
 2689 :
 2690 :
 2691 :
 2692 :
 2693 :
 2694 :
 2695 :
 2696 :
 2697 :
 2698 :
 2699 :
 2700 :
 2701 :
 2702 :
 2703 :
 2704 :
 2705 :
 2706 :
 2707 :
 2708 :
 2709 :
 2710 :
 2711 :
 2712 :
 2713 :
 2714 :
 2715 :
 2716 :
 2717 :
 2718 :
 2719 :
 2720 :
 2721 :
 2722 :
 2723 :
 2724 :
 2725 :
 2726 :
 2727 :
 2728 :
 2729 :
 2730 :
 2731 :
 2732 :
 2733 :
 2734 :
 2735 :
 2736 :
 2737 :
 2738 :
 2739 :
 2740 :
 2741 :
 2742 :
 2743 :
 2744 :
 2745 :
 2746 :
 2747 :
 2748 :
 2749 :
 2750 :
 2751 :
 2752 :
 2753 :
 2754 :
 2755 :
 2756 :
 2757 :
 2758 :
 2759 :
 2760 :
 2761 :
 2762 :
 2763 :
 2764 :
 2765 :
 2766 :
 2767 :
 2768 :
 2769 :
 2770 :
 2771 :
 2772 :
 2773 :
 2774 :
 2775 :
 2776 :
 2777 :
 2778 :
 2779 :
 2780 :
 2781 :
 2782 :
 2783 :
 2784 :
 2785 :
 2786 :
 2787 :
 2788 :
 2789 :
 2790 :
 2791 :
 2792 :
 2793 :
 2794 :
 2795 :
 2796 :
 2797 :
 2798 :
 2799 :
 2800 :
 2801 :
 2802 :
 2803 :
 2804 :
 2805 :
 2806 :
 2807 :
 2808 :
 2809 :
 2810 :
 2811 :
 2812 :
 2813 :
 2814 :
 2815 :
 2816 :
 2817 :
 2818 :
 2819 :
 2820 :
 2821 :
 2822 :
 2823 :
 2824 :
 2825 :
 2826 :
 2827 :
 2828 :
 2829 :
 2830 :
 2831 :
 2832 :
 2833 :
 2834 :
 2835 :
 2836 :
 2837 :
 2838 :
 2839 :
 2840 :
 2841 :
 2842 :
 2843 :
 2844 :
 2845 :
 2846 :
 2847 :
 2848 :
 2849 :
 2850 :
 2851 :
 2852 :
 2853 :
 2854 :
 2855 :
 2856 :
 2857 :
 2858 :
 2859 :
 2860 :
 2861 :
 2862 :
 2863 :
 2864 :
 2865 :
 2866 :
 2867 :
 2868 :
 2869 :
 2870 :
 2871 :
 2872 :
 2873 :
 2874 :
 2875 :
 2876 :
 2877 :
 2878 :
 2879 :
 2880 :
 2881 :
 2882 :
 2883 :
 2884 :
 2885 :
 2886 :
 2887 :
 2888 :
 2889 :
 2890 :
 2891 :
 2892 :
 2893 :
 2894 :
 2895 :
 2896 :
 2897 :
 2898 :
 2899 :
 2900 :
 2901 :
 2902 :
 2903 :
 2904 :
 2905 :
 2906 :
 2907 :
 2908 :
 2909 :
 2910 :
 2911 :
 2912 :
 2913 :
 2914 :
 2915 :
 2916 :
 2917 :
 2918 :
 2919 :
 2920 :
 2921 :
 2922 :
 2923 :
 2924 :
 2925 :
 2926 :
 2927 :
 2928 :
 2929 :
 2930 :
 2931 :
 2932 :
 2933 :
 2934 :
 2935 :
 2936 :
 2937 :
 2938 :
 2939 :
 2940 :
 2941 :
 2942 :
 2943 :
 2944 :
 2945 :
 2946 :
 2947 :
 2948 :
 2949 :
 2950 :
 2951 :
 2952 :
 2953 :
 2954 :
 2955 :
 2956 :
 2957 :
 2958 :
 2959 :
 2960 :
 2961 :
 2962 :
 2963 :
 2964 :
 2965 :
 2966 :
 2967 :
 2968 :
 2969 :
 2970 :
 2971 :
 2972 :
 2973 :
 2974 :
 2975 :
 2976 :
 2977 :
 2978 :
 2979 :
 2980 :
 2981 :
 2982 :
 2983 :
 2984 :
 2985 :
 2986 :
 2987 :
 2988 :
 2989 :
 2990 :
 2991 :
 2992 :
 2993 :
 2994 :
 2995 :
 2996 :
 2997 :
 2998 :
 2999 :
 3000 :
 3001 :
 3002 :
 3003 :
 3004 :
 3005 :
 3006 :
 3007 :
 3008 :
 3009 :
 3010 :
 3011 :
 3012 :
 3013 :
 3014 :
 3015 :
 3016 :
 3017 :
 3018 :
 3019 :
 3020 :
 3021 :
 3022 :
 3023 :
 3024 :
 3025 :
 3026 :
 3027 :
 3028 :
 3029 :
 3030 :
 3031 :
 3032 :
 3033 :
 3034 :
 3035 :
 3036 :
 3037 :
 3038 :
 3039 :
 3040 :
 3041 :
 3042 :
 3043 :
 3044 :
 3045 :
 3046 :
 3047 :
 3048 :
 3049 :
 3050 :
 3051 :
 3052 :
 3053 :
 3054 :
 3055 :
 3056 :
 3057 :
 3058 :
 3059 :
 3060 :
 3061 :
 3062 :
 3063 :
 3064 :
 3065 :
 3066 :
 3067 :
 3068 :
 3069 :
 3070 :
 3071 :
 3072 :
 3073 :
 3074 :
 3075 :
 3076 :
 3077 :
 3078 :
 3079 :
 3080 :
 3081 :
 3082 :
 3083 :
 3084 :
 3085 :
 3086 :
 3087 :
 3088 :
 3089 :
 3090 :
 3091 :
 3092 :
 3093 :
 3094 :
 3095 :
 3096 :
 3097 :
 3098 :
 3099 :
 3100 :
 3101 :
 3102 :
 3103 :
 3104 :
 3105 :
 3106 :
 3107 :
 3108 :
 3109 :
 3110 :
 3111 :
 3112 :
 3113 :
 3114 :
 3115 :
 3116 :
 3117 :
 3118 :
 3119 :
 3120 :
 3121 :
 3122 :
 3123 :
 3124 :
 3125 :
 3126 :
 3127 :
 3128 :
 3129 :
 3130 :
 3131 :
 3132 :
 3133 :
 3134 :
 3135 :
 3136 :
 3137 :
 3138 :
 3139 :
 3140 :
 3141 :
 3142 :
 3143 :
 3144 :
 3145 :
 3146 :
 3147 :
 3148 :
 3149 :
 3150 :
 3151 :
 3152 :
 3153 :
 3154 :
 3155 :
 3156 :
 3157 :
 3158 :
 3159 :
 3160 :
 3161 :
 3162 :
 3163 :
 3164 :
 3165 :
 3166 :
 3167 :
 3168 :
 3169 :
 3170 :
 3171 :
 3172 :
 3173 :
 3174 :
 3175 :
 3176 :
 3177 :
 3178 :
 3179 :
 3180 :
 3181 :
 3182 :
 3183 :
 3184 :
 3185 :
 3186 :
 3187 :
 3188 :
 3189 :
 3190 :
 3191 :
 3192 :
 3193 :
 3194 :
 3195 :
 3196 :
 3197 :
 3198 :
 3199 :
 3200 :
 3201 :
 3202 :
 3203 :
 3204 :
 3205 :
 3206 :
 3207 :
 3208 :
 3209 :
 3210 :
 3211 :
 3212 :
 3213 :
 3214 :
 3215 :
 3216 :
 3217 :
 3218 :
 3219 :
 3220 :
 3221 :
 3222 :
 3223 :
 3224 :
 3225 :
 3226 :
 3227 :
 3228 :
 3229 :
 3230 :
 3231 :
 3232 :
 3233 :
 3234 :
 3235 :
 3236 :
 3237 :
 3238 :
 3239 :
 3240 :
 3241 :
 3242 :
 3243 :
 3244 :
 3245 :
 3246 :
 3247 :
 3248 :
 3249 :
 3250 :
 3251 :
 3252 :
 3253 :
 3254 :
 3255 :
 3256 :
 3257 :
 3258 :
 3259 :
 3260 :
 3261 :
 3262 :
 3263 :
 3264 :
 3265 :
 3266 :
 3267 :
 3268 :
 3269 :
 3270 :
 3271 :
 3272 :
 3273 :
 3274 :
 3275 :
 3276 :
 3277 :
 3278 :
 3279 :
 3280 :
 3281 :
 3282 :
 3283 :
 3284 :
 3285 :
 3286 :
 3287 :
 3288 :
 3289 :
 3290 :
 3291 :
 3292 :
 3293 :
 3294 :
 3295 :
 3296 :
 3297 :
 3298 :
 3299 :
 3300 :
 3301 :
 3302 :
 3303 :
 3304 :
 3305 :
 3306 :
 3307 :
 3308 :
 3309 :
 3310 :
 3311 :
 3312 :
 3313 :
 3314 :
 3315 :
 3316 :
 3317 :
 3318 :
 3319 :
 3320 :
 3321 :
 3322 :
 3323 :
 3324 :
 3325 :
 3326 :
 3327 :
 3328 :
 3329 :
 3330 :
 3331 :
 3332 :
 3333 :
 3334 :
 3335 :
 3336 :
 3337 :
 3338 :
 3339 :
 3340 :
 3341 :
 3342 :
 3343 :
 3344 :
 3345 :
 3346 :
 3347 :
 3348 :
 3349 :
 3350 :
 3351 :
 3352 :
 3353 :
 3354 :
 3355 :
 3356 :
 3357 :
 3358 :
 3359 :
 3360 :
 3361 :
 3362 :
 3363 :
 3364 :
 3365 :
 3366 :
 3367 :
 3368 :
 3369 :
 3370 :
 3371 :
 3372 :
 3373 :
 3374 :
 3375 :
 3376 :
 3377 :
 3378 :
 3379 :
 3380 :
 3381 :
 3382 :
 3383 :
 3384 :
 3385 :
 3386 :
 3387 :
 3388 :
 3389 :
 3390 :
 3391 :
 3392 :
 3393 :
 3394 :
 3395 :
 3396 :
 3397 :
 3398 :
 3399 :
 3400 :
 3401 :
 3402 :
 3403 :
 3404 :
 3405 :
 3406 :
 3407 :
 3408 :
 3409 :
 3410 :
 3411 :
 3412 :
 3413 :
 3414 :
 3415 :
 3416 :
 3417 :
 3418 :
 3419 :
 3420 :
 3421 :
 3422 :
 3423 :
 3424 :
 3425 :
 3426 :
 3427 :
 3428 :
 3429 :
 3430 :
 3431 :
 3432 :
 3433 :
 3434 :
 3435 :
 3436 :
 3437 :
 3438 :
 3439 :
 3440 :
 3441 :
 3442 :
 3443 :
 3444 :
 3445 :
 3446 :
 3447 :
 3448 :
 3449 :
 3450 :
 3451 :
 3452 :
 3453 :
 3454 :
 3455 :
 3456 :
 3457 :
 3458 :
 3459 :
 3460 :
 3461 :
 3462 :
 3463 :
 3464 :
 3465 :
 3466 :
 3467 :
 3468 :
 3469 :
 3470 :
 3471 :
 3472 :
 3473 :
 3474 :
 3475 :
 3476 :
 3477 :
 3478 :
 3479 :
 3480 :
 3481 :
 3482 :
 3483 :
 3484 :
 3485 :
 3486 :
 3487 :
 3488 :
 3489 :
 3490 :
 3491 :
 3492 :
 3493 :
 3494 :
 3495 :
 3496 :
 3497 :
 3498 :
 3499 :
 3500 :
 3501 :
 3502 :
 3503 :
 3504 :
 3505 :
 3506 :
 3507 :
 3508 :
 3509 :
 3510 :
 3511 :
 3512 :
 3513 :
 3514 :
 3515 :
 3516 :
 3517 :
 3518 :
 3519 :
 3520 :
 3521 :
 3522 :
 3523 :
 3524 :
 3525 :
 3526 :
 3527 :
 3528 :
 3529 :
 3530 :
 3531 :
 3532 :
 3533 :
 3534 :
 3535 :
 3536 :
 3537 :
 3538 :
 3539 :
 3540 :
 3541 :
 3542 :
 3543 :
 3544 :
 3545 :
 3546 :
 3547 :
 3548 :
 3549 :
 3550 :
 3551 :
 3552 :
 3553 :
 3554 :
 3555 :
 3556 :
 3557 :
 3558 :
 3559 :
 3560 :
 3561 :
 3562 :
 3563 :
 3564 :
 3565 :
 3566 :
 3567 :
 3568 :
 3569 :
 3570 :
 3571 :
 3572 :
 3573 :
 3574 :
 3575 :
 3576 :
 3577 :
 3578 :
 3579 :
 3580 :
 3581 :
 3582 :
 3583 :
 3584 :
 3585 :
 3586 :
 3587 :
 3588 :
 3589 :
 3590 :
 3591 :
 3592 :
 3593 :
 3594 :
 3595 :
 3596 :
 3597 :
 3598 :
 3599 :
 3600 :
 3601 :
 3602 :
 3603 :
 3604 :
 3605 :
 3606 :
 3607 :
 3608 :
 3609 :
 3610 :
 3611 :
 3612 :
 3613 :
 3614 :
 3615 :
 3616 :
 3617 :
 3618 :
 3619 :
 3620 :
 3621 :
 3622 :
 3623 :
 3624 :
 3625 :
 3626 :
 3627 :
 3628 :
 3629 :
 3630 :
 3631 :
 3632 :
 3633 :
 3634 :
 3635 :
 3636 :
 3637 :
 3638 :
 3639 :
 3640 :
 3641 :
 3642 :
 3643 :
 3644 :
 3645 :
 3646 :
 3647 :
 3648 :
 3649 :
 3650 :
 3651 :
 3652 :
 3653 :
 3654 :
 3655 :
 3656 :
 3657 :
 3658 :
 3659 :
 3660 :
 3661 :
 3662 :
 3663 :
 3664 :
 3665 :
 3666 :
 3667 :
 3668 :
 3669 :
 3670 :
 3671 :
 3672 :
 3673 :
 3674 :
 3675 :
 3676 :
 3677 :
 3678 :
 3679 :
 3680 :
 3681 :
 3682 :
 3683 :
 3684 :
 3685 :
 3686 :
 3687 :
 3688 :
 3689 :
 3690 :
 3691 :
 3692 :
 3693 :
 3694 :
 3695 :
 3696 :
 3697 :
 3698 :
 3699 :
 3700 :
 3701 :
 3702 :
 3703 :
 3704 :
 3705 :
 3706 :
 3707 :
 3708 :
 3709 :
 3710 :
 3711 :
 3712 :
 3713 :
 3714 :
 3715 :
 3716 :
 3717 :
 3718 :
 3719 :
 3720 :
 3721 :
 3722 :
 3723 :
 3724 :
 3725 :
 3726 :
 3727 :
 3728 :
 3729 :
 3730 :
 3731 :
 3732 :
 3733 :
 3734 :
 3735 :
 3736 :
 3737 :
 3738 :
 3739 :
 3740 :
 3741 :
 3742 :
 3743 :
 3744 :
 3745 :
 3746 :
 3747 :
 3748 :
 3749 :
 3750 :
 3751 :
 3752 :
 3753 :
 3754 :
 3755 :
 3756 :
 3757 :
 3758 :
 3759 :
 3760 :
 3761 :
 3762 :
 3763 :
 3764 :
 3765 :
 3766 :
 3767 :
 3768 :
 3769 :
 3770 :
 3771 :
 3772 :
 3773 :
 3774 :
 3775 :
 3776 :
 3777 :
 3778 :
 3779 :
 3780 :
 3781 :
 3782 :
 3783 :
 3784 :
 3785 :
 3786 :
 3787 :
 3788 :
 3789 :
 3790 :
 3791 :
 3792 :
 3793 :
 3794 :
 3795 :
 3796 :
 3797 :
 3798 :
 3799 :
 3800 :
 3801 :
 3802 :
 3803 :
 3804 :
 3805 :
 3806 :
 3807 :
 3808 :
 3809 :
 3810 :
 3811 :
 3812 :
 3813 :
 3814 :
 3815 :
 3816 :
 3817 :
 3818 :
 3819 :
 3820 :
 3821 :
 3822 :
 3823 :
 3824 :
 3825 :
 3826 :
 3827 :
 3828 :
 3829 :
 3830 :
 3831 :
 3832 :
 3833 :
 3834 :
 3835 :
 3836 :
 3837 :
 3838 :
 3839 :
 3840 :
 3841 :
 3842 :
 3843 :
 3844 :
 3845 :
 3846 :
 3847 :
 3848 :
 3849 :
 3850 :
' #############################################################################
' #############################################################################
'
' Deutsch:
' =========
' Dieser Quellcode ist von Folke Rinneberg
' Webseite: http://www.Rinneberg.de/programming/gfa.htm
' E-Mail:   Folke_R@gmx.de
'
' Du kannst diesen Quellcode frei nutzen, Veraendern und Erweitern.
' Es waehre nett, wenn du mir mitteilen wuerdest, wenn du diesen Quellcode
' benutzt/veraenderst oder erweiterst. Verbesserungen/Erweiterung wuerde 
' ich vielleicht gerne uebernehmen, Nutzung wuerde ich vielleicht gerne an
' dieser Stelle verlinken.
'
' Die Softwarequalitaet ist vermutlich nicht besonders hoch, da ich noch
' jung und unerfahren war, als ich ihn schrieb. Eine UEberarbeitung ist
' nicht geplant.
'
'
' English:
' =========
' This source code was written by Folke Rinneberg
' Web Site: http://www.Rinneberg.de/programming/gfa.htm#english
' e-mail:  Folke_R@gmx.de
'
' You are free to use, modify and extend this source code.
' It would be nice, if you contact me (e.g. by e-mail) when you 
' use/modify or extend this source code. Perhaps I would 
' put Improvements or extensions to this web site.
' Usage of this source code may be linked here.
'
' The quality of this source code may be quite low, because I was young and 
' had few experiences with programming when I wrote this source code. 
' I have no plans to improve this source code by myself.
'
' #############################################################################
' #############################################################################
'
'
$u+
$i+
$p<
$s&
$e$
$b+
$s>
$n-
$%3
$*&
Graphmode 1             !Grafikmodus=Repleace
Randomize Timer         !Zufallsgenerator mit Timer
Boundary 0              !Pboxen ohne Rand (Schneller)
Defwrd "a-z"            !Alle Vareabeln sind anfangs Word-Voreabeln
Deflist 3               !Spezielle Listart
Deffill 1,1             !F"+Chr$(129)+"llmuster=schwarz
Pbox 0,0,639,399        !Bildschirm=schwarz
@Dims
@Prufen
Vsync
Bmove Scr1%,Scr2%,32000
Void Xbios(5,L:Scr1%,L:Scr2%,-1)
@Werte
@Werte2
@Anfangs
@Vorspann
@Level
@Anf_b_aufbau
@Main
Procedure Main
  ' Diese Procedure ist die hauptprocedur.Von hier aus werden die anderen
  ' Proceduren direkt oder indirekt angesprungen
  Put 0,0,Hil$                !Anzeigebalken Putten
  Bmove Scr1%,Scr2%,3200      !2.Screen auf den Anzeigescreen kopieren(Anzeigeleiste)
  Get A&,Y&,A&+39,Y&+63,Back$ !Hintergrund der Frucht in back$ retten
  Do                          !Unendlichschleifenbeginn
    @Monster
    If A&>400                 !Wenn die Frucht zu weit rechts ist ,dann scrollen
      @Hinter
    Endif
    If Bew&=10                !Figur bewegt sich nicht(man steht)!
      Ap&=1                   !letzte Richtung der Frucht ermitteln
      If Ri&=4
        Ap&=4
      Endif
      Put A&,Y&,Back$                         !Hintergrund der Frucht putten
      Put A&,Y&,S$(Ap&,Zu&+Skeletti&),4       !ausmaskiren
      Put A&,Y&,Fig$(Ap&,Zu&+Skeletti&),6     !Frucht einsetzen
      Rc_copy Scr1%,A&,Y&,40,63 To Scr2%,A&,Y& !Bildausschnitt auf den anzeigescreen kopieren
      Put A&,Y&,Back$                         !Hintergrund der Frucht putten
    Endif
    @Fall
    @Stones
    @Abfrage
    If Inp(-2)                !Wenn eine Taste gedr"+Chr$(129)+"ckt wird, dann
      @Keyselect              !kontroliere welchen.
      Lpoke Xbios(14,1)+6,0
    Endif
  Loop                        !Ende der Unendlichschleife
Return
Procedure Vsp
  ' Diese Procedure ist f"+Chr$(129)+"r den Sprung (nach oben)zust"+Chr$(132)+"ndig
  If Dielf&<>7            !Wenn man springen kann
    If Hbew&=10             !Wenn man aus dem stand abspringt
      If Dielf&=0             !Wenn man auf keinem Magneten steht
        Hdauer|=16              !,dann darf man 16 Einheiten springen
      Else                    !Wenn man auf einem magneten steht
        Hdauer|=6               !,dann darf man 6 Einheiten springen
      Endif
    Else                    !Wenn man aus der Bewegung Springt
      If Dielf&=0             !Wenn man auf keinem Magnetem steht
        Hdauer|=21              !,dann darf man 21 Einheiten springen
      Else                    !Wenn man auf einem Magneten steht
        Hdauer|=11              !,dann darf man 11 Einheiten springen
      Endif
    Endif
  Else                    !Wenn man nicht springen darf,dann goto Nojump
    Goto Nojump
  Endif
  Dauer|=0                !bisherige Sprungdauer=0
  If A& Mod 40=0          !Wenn an in der Mitte eines Steines steht
    Select C|(Cx&-15+(A&-1)/40+1,Y&/40+2)
    Case 13 To 14,57      !Drehsteine beim Absprung um eine Sequenz erh"+Chr$(148)+"hen
      C|(Cx&-15+(A&-1)/40+1,Y&/40+2)=C|(Cx&-15+(A&-1)/40+1,Y&/40+2)+1
      Put A&,Y&+63,B$(C|(Cx&-15+(A&-1)/40+1,Y&/40+2)) !Putten
      Rc_copy Scr1%,A&,Y&+63,40,40 To Scr2%,A&,Y&+63  !R"+Chr$(129)+"ber kopieren
    Case 59,15            !Drehsteine beim absprung von der letzten auf die erste Sequenz
      C|(Cx&-15+(A&-1)/40+1,Y&/40+2)=C|(Cx&-15+(A&-1)/40+1,Y&/40+2)-3
      Put A&,Y&+63,B$(C|(Cx&-15+(A&-1)/40+1,Y&/40+2)) !Putten
      Rc_copy Scr1%,A&,Y&+63,40,40 To Scr2%,A&,Y&+63  !R"+Chr$(129)+"ber kopieren
    Endselect
  Else                    !Wenn man nicht in der mitte eines Steines steht
    '                      Man steht also auf zwei Steinen
    Select C|(Cx&-15+(A&+1)/40,Y&/40+2)  !linker Stein selectieren
    Case 13 To 14,57  !Beim Absprung die Drehsteine um eine Sequenz erh"+Chr$(148)+"hen
      C|(Cx&-15+(A&+1)/40,Y&/40+2)=C|(Cx&-15+(A&+1)/40,Y&/40+2)+1
      Hila&=(A&+1)/40                   !zur Verk"+Chr$(129)+"rzung der n"+Chr$(132)+"chsten Zeilen
      Hily&=Y&/40+2                     !zur Verk"+Chr$(129)+"rzung der n"+Chr$(132)+"chsten Zeilen
      Put Hila&*40,Hily&*40,B$(C|(Cx&-15+(A&+1)/40,Y&/40+2)) !putten
      Rc_copy Scr1%,Hila&*40,Hily&*40,40,40 To Scr2%,Hila&*40,Hily&*40 !R"+Chr$(129)+"ber kopieren
    Case 15,59        !Beim Absprung von der letzten Sequenz zur ersten Sequenz ders Drehsteines
      C|(Cx&-15+(A&+1)/40,Y&/40+2)=C|(Cx&-15+(A&+1)/40,Y&/40+2)-3
      Hila&=(A&+1)/40                   !zur Verk"+Chr$(129)+"rzung der n"+Chr$(132)+"chsten Zeilen
      Hily&=Y&/40+2                     !zur Verk"+Chr$(129)+"rzung der n"+Chr$(132)+"chsten Zeilen
      Put Hila&*40,Hily&*40,B$(C|(Cx&-15+(A&+1)/40,Y&/40+2)) !putten
      Rc_copy Scr1%,Hila&*40,Hily&*40,40,40 To Scr2%,Hila&*40,Hily&*40 !R"+Chr$(129)+"ber kopieren
    Endselect
    Select C|(Cx&-15+(A&-1)/40+1,Y&/40+2) !rechter Stein selectieren
    Case 13 To 14,57  !Beim Absprung die Drehsteine um eine Sequenz erh"+Chr$(148)+"hen
      C|(Cx&-15+(A&-1)/40+1,Y&/40+2)=C|(Cx&-15+(A&-1)/40+1,Y&/40+2)+1
      Hila&=(A&-1)/40+1                 !zur Verk"+Chr$(129)+"rzung der n"+Chr$(132)+"chsten Zeilen
      Hily&=Y&/40+2                     !zur Verk"+Chr$(129)+"rzung der n"+Chr$(132)+"chsten Zeilen
      Put Hila&*40,Hily&*40,B$(C|(Cx&-15+(A&-1)/40+1,Y&/40+2))
      Rc_copy Scr1%,Hila&*40,Hily&*40,40,40 To Scr2%,Hila&*40,Hily&*40
    Case 15,59        !Beim Absprung von der letzten Sequenz zur ersten Sequenz ders Drehsteines
      C|(Cx&-15+(A&-1)/40+1,Y&/40+2)=C|(Cx&-15+(A&-1)/40+1,Y&/40+2)-3
      Hila&=(A&-1)/40+1                 !zur Verk"+Chr$(129)+"rzung der n"+Chr$(132)+"chsten Zeilen
      Hily&=Y&/40+2                     !zur Verk"+Chr$(129)+"rzung der n"+Chr$(132)+"chsten Zeilen
      Put Hila&*40,Hily&*40,B$(C|(Cx&-15+(A&-1)/40+1,Y&/40+2)) !putten
      Rc_copy Scr1%,Hila&*40,Hily&*40,40,40 To Scr2%,Hila&*40,Hily&*40 !r"+Chr$(129)+"ber kopieren
    Endselect
  Endif
  Repeat
    @Monster
    Spieler2|=Stick(1)  !Spieler2|=Joy-Stick-Wert
    Add Dauer|,1        !Erh"+Chr$(148)+"hung der Dauer des sprunges
    Select Spieler2|    !Auswertung des Vom Joy_Stick gelieferten Wertes
    Case 9              !Rechts-Hoch
      Endf&=8           !Die X-Koordinate wird um 8 erh"+Chr$(148)+"ht werden
      Ap&=1             !Zu puttende Frucht-Richtung "+Chr$(132)+"ndern
      Ri&=3
    Case 5              !Links-Hoch
      Endf&=-8          !Die x-Koordinate wird um 8 gesenkt werden
      Ap&=4             !Zu puttende Frucht-Richtung "+Chr$(132)+"ndern
      Ri&=4
    Case 1              !Senkrecht-Hoch
      Ap&=1
      If Ri&=4
        Ap&=4
      Endif
      Endf&=0           !Die X-Koordinate wird gleich bleiben
    Endselect
    Ends|=8             !Die Y-koordinate wird um 8 gesenkt werden
    Hhs&=0
    If Y&>7        !Wenn die Frucht nicht oben aus dem Bildschirm gesprungen ist
      Put A&,Y&,Back$                     !,dann putte den Hinrtergrund
      Get A&,Y&,A&+39,Y&+62,Back$         !Gette den Hintergrund
      Put A&,Y&,S$(Ap&,Zu&+Skeletti&),4   !Aus dem Hintergrund die Frucht ausmaskiren
      Put A&,Y&,Fig$(Ap&,Zu&+Skeletti&),6 !Die Frucht einsetzen
      If A&>1                             !Wenn die Frucht nicht am linken Blidschirmrand setht
        Rc_copy Scr1%,A&-8,Y&,56,72 To Scr2%,A&-8,Y&!Kopiere sie R"+Chr$(129)+"ber
      Else                                   !Andenfalls
        Rc_copy Scr1%,A&,Y&,48,72 To Scr2%,A&,Y&    !Kopiere nicht ganz so viel r"+Chr$(129)+"ber
      Endif
      Put A&,Y&,Back$                     !Hintergrund Putten
      Ahvsp&=A&                           !X-Wert in ahvsp$ merken
      Yhvsp&=Y&                           !Y-Wert in yhvsp$ merken
    Endif
    If Y&<0
      Rc_copy Scr1%,Ahvsp&,Yhvsp&,40,72 To Scr2%,Ahvsp&,Yhvsp&
    Endif
    If Y&>7                                  !Wenn die Frucht den oberen Bildschirmrand nicht verlassen hat
      If (Y&-14) Mod 40=<3                     !Wenn die Frucht den unteren Bildschirmrand nicht verlassen hat
        If A& Mod 40=0        !             *1*  Wenn die Frucht sich genau senkrecht "+Chr$(129)+"ber ** einem ** Stein befindet
          If C|(Cx&-15+(A&-1)/40+1,Y&/40)>0        !Wenn ein Stein auf Kopfh"+Chr$(148)+"he der Frucht ist
            If C|(Cx&-15+(A&-1)/40+1,Y&/40)=60       !Wenn der Stein zertr"+Chr$(129)+"mmerbar ist
              C|(Cx&-15+(A&-1)/40+1,Y&/40)=0         !,dann l"+Chr$(148)+"sche den Stein aus dem Feld
              Deffill 0,0,0                          !F"+Chr$(129)+"llmuster=Wei"+Chr$(158)+"
              Pbox A&,Int(Y&/40)*40,A&+39,Int(Y&/40)*40+39 !Male an der Stelle des Steines eine wei"+Chr$(158)+"e pbox
              Get A&,Y&,A&+39,Y&+62,Back$            !Gette den Hinterhrund der Frucht neu
              Rc_copy Scr1%,A&,Int(Y&/40)*40,40,40 To Scr2%,A&,Int(Y&/40)*40  !Kopiere den wei"+Chr$(158)+"en Kasten r"+Chr$(129)+"ber
              Add Punkte%,7                          !Erh"+Chr$(148)+"he die Punktzahl des Spielers um 7
              @Fall
              @Stones
            Else if C|(Cx&-15+(A&-1)/40+1,Y&/40)=8   !Wenn Der Stein "+Chr$(129)+"ber der Frucht ein Aufwind-Stein ist
              For I&=0 To 14                         !15 Durch l"+Chr$(132)+"ufe
                If Y&>7                                !Wenn die Frucht im Sichtbereich ist
                  Ap&=1
                  If Ri&=4                             !Richtung f"+Chr$(129)+"r das malen der Frucht ermitteln
                    Ap&=4
                  Endif
                  Put A&,Y&,Back$                      !Hintergrund putten
                  Put A&,Y&,S$(Ap&,Zu&+Skeletti&),4    !Frucht ausmaskieren
                  Put A&,Y&,Fig$(Ap&,Zu&+Skeletti&),6  !Frucht putten
                  Rc_copy Scr1%,A&,Y&,40,71 To Scr2%,A&,Y& !R"+Chr$(129)+"ber kopieren
                  Put A&,Y&,Back$                      !Hintergrund malen
                  Sub Y&,8                             !Y-Koordinate um 8 senken
                  Get A&,Y&,A&+39,Y&+63,Back$          !Hintergrund neu Getten
                Endif
              Next I&                                !Ende der 15 Durchl"+Chr$(132)+"ufe
            Else if C|(Cx&-15+(A&-1)/40+1,Y&/40)<>100 !wenn es sich nicht um den Stengel einer Pflanze handelt
              @Fall
              @Stones
            Endif
          Endif
        Else                   !Wenn "+Chr$(129)+"ber der Frucht 2 Steine sein k"+Chr$(148)+"nnten
          If C|(Cx&-15+(A&+1)/40,Y&/40)+C|(Cx&-15+(A&-1)/40+1,Y&/40)>0
            If C|(Cx&-15+(A&+1)/40,Y&/40)=60
              C|(Cx&-15+(A&+1)/40,Y&/40)=0
              Hila&=(A&+1)/40
              Hily&=Y&/40
              Add Punkte%,7!Das selbe Verfahren, wie oben bei *1* nur f"+Chr$(129)+"r beide m"+Chr$(148)+"glichen Steine
              Deffill 0,0,0
              Pbox Hila&*40,Hily&*40,Hila&*40+39,Hily&*40+39
              Get A&,Y&,A&+39,Y&+62,Back$
              Rc_copy Scr1%,Hila&*40,Hily&*40,40,40 To Scr2%,Hila&*40,Hily&*40
            Endif
            If C|(Cx&-15+(A&-1)/40+1,Y&/40)=60
              C|(Cx&-15+(A&-1)/40+1,Y&/40)=0
              Hila&=(A&-1)/40+1
              Hily&=Y&/40
              Add Punkte%,7
              Deffill 0,0,0
              Pbox Hila&*40,Hily&*40,Hila&*40+39,Hily&*40+39
              Get A&,Y&,A&+39,Y&+62,Back$
              Rc_copy Scr1%,Hila&*40,Hily&*40,40,40 To Scr2%,Hila&*40,Hily&*40
            Endif
            If C|(Cx&-15+(A&+1)/40,Y&/40)=8 Or C|(Cx&-15+(A&-1)/40+1,Y&/40)=8
              For I&=0 To 14
                If Y&>7
                  Ap&=1
                  If Ri&=4
                    Ap&=4
                  Endif
                  Put A&,Y&,Back$
                  Put A&,Y&,S$(Ap&,Zu&+Skeletti&),4
                  Put A&,Y&,Fig$(Ap&,Zu&+Skeletti&),6
                  Rc_copy Scr1%,A&,Y&,40,71 To Scr2%,A&,Y&
                  Put A&,Y&,Back$
                  Sub Y&,8
                  Get A&,Y&,A&+39,Y&+63,Back$
                Endif
              Next I&
            Else if C|(Cx&-15+(A&+1)/40,Y&/40)=0 And C|(Cx&-15+(A&-1)/40+1,Y&/40)=100
            Else if C|(Cx&-15+(A&+1)/40,Y&/40)=100 And C|(Cx&-15+(A&-1)/40+1,Y&/40)=0
            Else if C|(Cx&-15+(A&+1)/40,Y&/40)=100 And C|(Cx&-15+(A&-1)/40+1,Y&/40)=100
              ' es ist ein Pflanzenstengel und Luft oder es sind zwei Pflanzenstengel
            Else
              @Fall
              @Stones
            Endif
          Endif
        Endif
      Endif
      If A& Mod 40=0   !Wenn die Frucht senkrecht "+Chr$(129)+"ber einem Stein ist, dann mu"+Chr$(158)+" abgefragt werden, ob der Frucht ein Hindernis im Weg steht
        @Forn_abfrage_o
      Endif
    Else
      If A& Mod 40=0   !Wenn die Frucht genau "+Chr$(129)+"ber einem Stein ist
        If Endf&>0       !Wenn sie nach rechts oben springs
          If C|(Cx&-15+(A&-1)/40+2,0)>0 !Wenn ihr ein Hindernis im weg ist
            Endf&=0                     !,dann springt sie senkrecht weiter
          Endif
        Else if Endf&<0  !Wenn sie nach links oben springt
          If C|(Cx&-15+(A&-1)/40,0)>0   !Wenn ihr ein Hindernis im weg ist
            Endf&=0                     !,dann springt sie senkrecht weiter
          Endif
        Endif
      Endif
    Endif
    A&=A&+Endf&                         !X-Wert wird um endf erh"+Chr$(148)+"ht (+8/-8/0)
    Y&=Y&-Ends|                         !Y-wert wird um ends| ernidrigt (8/0)
    If A&<0                             !Wenn die Frucht links raus ist
      A&=0                              !,dann ist sie am linken Rand
    Endif
    If A&>400                           !Wenn die Frucht zu weit rechts ist
      @Hinter                           !,dann wird weiter gescreollt
    Endif
    If Y&>7                             !Wenn sie im Sichtbereich ist
      Get A&,Y&,A&+39,Y&+62,Back$         !Hintergrund getten
    Endif
    Nojump:            !Hier gehts weiter falls die Frucht nicht springen durfte
  Until Spieler2|<>1 And Spieler2|<>9 And Spieler2|<>5 Or Dauer|>Hdauer|!Wenn der Joy-Stick nicht mehr nach oben gerichtet ist oder die maximale Sprungdauer erreicht ist, dann ist der Sprung zu ende
Return
Procedure Vor
  Put A&,Y&,Back$ !Hintergrund putten
  If A& Mod 40=0 !Wenn die Frucht genau auf einem Stein steht
    If C|(Cx&-15+(A&-1)/40+2,Y&/40+1)+C|(Cx&-15+(A&-1)/40+2,Y&/40)=0 !Wenn beide Stellen, an denen ein Stein St"+Chr$(148)+"ren w"+Chr$(129)+"rde keiner ist
      A&=A&+8                               !lasse die Frucht um 8 Pixel vorr"+Chr$(129)+"cken
    Else if C|(Cx&-15+(A&-1)/40+2,Y&/40+1)=100 !Wenn der Stein vor der Frucht auch nicht der Stiel einer Kletterpflanze ist
      A&=A&+8                               !lasse die Frucht um 8 Pixel vorr"+Chr$(129)+"cken
    Else if C|(Cx&-15+(A&-1)/40+2,Y&/40+1)=47!Wenn der Stein vor der Frucht eine Rollkiste ist
      If C|(Cx&-15+(A&-1)/40+2,Y&/40)=0        !Wenn "+Chr$(129)+"ber der Kiste kein Stein ist(nur dann kann sie geschoben werden!)
        If C|(Cx&-15+(A&-1)/40+3,Y&/40+1)=0      !Wenn der Kiste kein Stein im Weg ist
          C|(Cx&-15+(A&-1)/40+2,Y&/40+1)=0         !lasse die Kiste rollen
          C|(Cx&-15+(A&-1)/40+3,Y&/40+1)=47        !lasse die Kiste rollen
          Put Int((A&-1)/40+3)*40,Int(Y&/40+1)*40,B$(47)!lasse die Kiste rollen
          Pbox Int((A&-1)/40+2)*40,Int(Y&/40+1)*40,Int((A&-1)/40+2)*40+39,Int(Y&/40+1)*40+39!lasse die Kiste rollen
          Rc_copy Scr1%,Int((A&-1)/40+2)*40,Int(Y&/40+1)*40,80,40 To Scr2%,Int((A&-1)/40+2)*40,Int(Y&/40+1)*40!lasse die Kiste rollen
          Kh&=0                                  !Falltiefe=0
          While C|(Cx&-15+(A&-1)/40+3,Y&/40+2+Kh&)=0 And Y&/40+Kh&<=8 !solange unter dem neuen Standpunkt der Kiste kein Stein ist
            C|(Cx&-15+(A&-1)/40+3,Y&/40+1+Kh&)=0      !lasse die Kiste fallen
            C|(Cx&-15+(A&-1)/40+3,Y&/40+2+Kh&)=47     !lasse die Kiste fallen
            Put Int((A&-1)/40+3)*40,Int(Y&/40+2+Kh&)*40,B$(47)!lasse die Kiste fallen
            Pbox Int((A&-1)/40+3)*40,Int(Y&/40+1+Kh&)*40,Int((A&-1)/40+3)*40+39,Int(Y&/40+1+Kh&)*40+39!lasse die Kiste fallen
            Rc_copy Scr1%,Int((A&-1)/40+3)*40,Int(Y&/40+1+Kh&)*40,40,80 To Scr2%,Int((A&-1)/40+3)*40,Int(Y&/40+1+Kh&)*40!lasse die Kiste fallen
            Inc Kh&                                !erh"+Chr$(148)+"he die Falltiefe
          Wend
        Endif
      Endif
    Else !wenn ein stein im Weg ist
      O|=(O|+1) Mod 3                     !"+Chr$(142)+"ndere die Gehsequenz
      Put A&,Y&,S$(O|,Zu&+Skeletti&),4        !Maskiere sie aus dem Hintergrund aus
      Put A&,Y&,Fig$(O|,Zu&+Skeletti&),6      !Male sie hin
      Rc_copy Scr1%,A&,Y&,40,63 To Scr2%,A&,Y& !Kopiere sie r"+Chr$(129)+"ber (auf den anzeige screen)
      Goto Hilf1
    Endif
  Else                                 !Wenn die Frucht nicht genau auf einem Stein steht, dann lasse sie weiter gehen.
    A&=A&+8
  Endif
  Get A&,Y&,A&+39,Y&+62,Back$              !Rette den hintergrund
  O|=(O|+1) Mod 3                      !"+Chr$(142)+"ndere die Gehsequenz
  Put A&,Y&,S$(O|,Zu&+Skeletti&),4         !Maskiere sie aus
  Put A&,Y&,Fig$(O|,Zu&+Skeletti&),6       !male sie hin
  Rc_copy Scr1%,A&-8,Y&,48,63 To Scr2%,A&-8,Y& !kopiere sie r"+Chr$(129)+"ber
  Put A&,Y&,Back$                        !Restaurire den Hintergrund
  Hilf1:
Return
Procedure Zur
  Put A&,Y&,Back$                              !Hintergrund malen
  If A& Mod 40=0                               !Wenn die Frucht auf nur einem Stein
    If C|(Cx&-15+(A&-1)/40,Y&/40+1)+C|(Cx&-15+(A&-1)/40,Y&/40)=0!Wenn Ihr nichts im Weg ist
      A&=A&-8                                  !lass Sie gehen
    Else if C|(Cx&-15+(A&-1)/40,Y&/40+1)=100   !Wenn der Stamm einer Kletterpflanze im Weg ist
      Sub A&,8                                 !dann lasse die Frucht weiter gehen
    Else if C|(Cx&-15+(A&-1)/40,Y&/40+1)=47    !Wenn ein Rollkasten vor ihr ist
      If A&>60
        If C|(Cx&-15+(A&-1)/40,Y&/40)=0
          If C|(Cx&-15+(A&-1)/40-1,Y&/40+1)=0
            C|(Cx&-15+(A&-1)/40,Y&/40+1)=0
            C|(Cx&-15+(A&-1)/40-1,Y&/40+1)=47
            Put Int((A&-1)/40-1)*40,Int(Y&/40+1)*40,B$(47)
            Pbox Int((A&-1)/40)*40,Int(Y&/40+1)*40,Int((A&-1)/40)*40+39,Int(Y&/40+1)*40+39
            Rc_copy Scr1%,Int((A&-1)/40-1)*40,Int(Y&/40+1)*40,80,40 To Scr2%,Int((A&-1)/40-1)*40,Int(Y&/40+1)*40
            Kh&=0
            While C|(Cx&-15+(A&-1)/40-1,Y&/40+2+Kh&)=0 And Y&/40+Kh&<=8
              C|(Cx&-15+(A&-1)/40-1,Y&/40+1+Kh&)=0
              C|(Cx&-15+(A&-1)/40-1,Y&/40+2+Kh&)=47
              Put Int((A&-1)/40-1)*40,Int(Y&/40+2+Kh&)*40,B$(47)
              Pbox Int((A&-1)/40-1)*40,Int(Y&/40+1+Kh&)*40,Int((A&-1)/40-1)*40+39,Int(Y&/40+1+Kh&)*40+39
              Rc_copy Scr1%,Int((A&-1)/40-1)*40,Int(Y&/40+1+Kh&)*40,40,80 To Scr2%,Int((A&-1)/40-1)*40,Int(Y&/40+1+Kh&)*40
              Inc Kh&
            Wend
          Endif
        Endif
      Endif
    Endif
  Else                      !wenn sie auf zwei Steinen steht
    A&=A&-8                 !lasse Sie gehen
  Endif
  If A&<0                   !Wenn sie links rausgehen will
    A&=0                    !Lasse Sie nicht raus gehen
  Endif
  Get A&,Y&,A&+39,Y&+62,Back$   !sichere den Hintergrund
  If Bewhil&=0
    O2|=(O2|+1) Mod 3
    Put A&,Y&,S$(O2|+3,Zu&+Skeletti&),4
    Put A&,Y&,Fig$(O2|+3,Zu&+Skeletti&),6
  Else
    Put A&,Y&,S$(Ri&-1,Zu&+Skeletti&),4
    Put A&,Y&,Fig$(Ri&-1,Zu&+Skeletti&),6
  Endif                                    !Frucht wurde gemalt
  Rc_copy Scr1%,A&,Y&,48,63 To Scr2%,A&,Y& !r"+Chr$(129)+"ber kopieren
  Put A&,Y&,Back$                          !Hintergrund malen
Return
Procedure Fall
  If As&>0           !Frucht ist bereits ein St"+Chr$(129)+"ck gefallen
    If Y&>7          !Frucht ist auf dem Bildschirm
      As&=C|(Cx&-15+(A&+1)/40,(Y&-15)/40+2)+C|(Cx&-15+(A&-1)/40+1,(Y&-15)/40+2)
    Else             !Frucht ist nicht auf dem Bildschirm
      As&=0
    Endif  !Wenn As&>0 ist befindet sich unter der Frucht ein oder zwei Stein(e)
  Endif
  If As&=0 Or (Y&+63) Mod 40>0!Wenn sich keine Steine unter ihr befinden ODER die Frucht nicht genau auf einem Stein ist
    As&=7    !Frucht ist bereits ein St"+Chr$(129)+"ck gefallen
    If Y&>7  !Wenn die Frucht auf dem Bildschirm ist
      Put A&,Y&,Back$  !,dann male den Hintergrund
      If A&>1          !Wenn die Frucht nicht am linken Rand des Bildschirms ist
        Rc_copy Scr1%,A&-8,Y&,56,68 To Scr2%,A&-8,Y&  !R"+Chr$(129)+"berkopieren
      Else             !ansonsten
        Rc_copy Scr1%,A&,Y&,48,68 To Scr2%,A&,Y&      !weniger R"+Chr$(129)+"berkopieren
      Endif
    Endif
    Repeat
      @Monster
      Select Stick(1)       !Selection des Joy-Sticks
      Case 8,10               !Rechts
        Endf&=8
        Ap&=1
      Case 4,6                !Links
        Endf&=-8
        Ap&=4
      Default                 !Weder rechts noch links
        Ap&=1
        If Ri&=4
          Ap&=4
        Endif
        Endf&=0
      Endselect
      Ends|=8                 !Y-position wird voraussichtlich um 8 erh"+Chr$(148)+"ht
      If A& Mod 40=0          !Wenn die Frucht sich genau "+Chr$(129)+"ber einem Stein befindet
        If Y&>7                 !Wenn die Frucht auf dem Bildschirm ist
          @Forn_abfrage
        Else                    !Wenn die Frucht nicht auf dem Bildschirm ist
          If Endf&>0              !Wenn sie nicht senkrecht f"+Chr$(132)+"llt(rechts)
            If C|(Cx&-15+(A&-1)/40+2,0)>0  !Wenn unterm Anzeigebalken ein Stein ist
              Endf&=0                        !,dann f"+Chr$(132)+"llt sie senkrecht
            Endif
          Else if Endf&<0       !Wenn sie nicht senkrecht f"+Chr$(132)+"llt(links)
            If C|(Cx&-15+(A&-1)/40,0)>0    !Wenn unterm Anzeigebalken ein Stein ist
              Endf&=0                        !,dann f"+Chr$(132)+"llt sie senkrecht
            Endif
          Endif
        Endif
      Endif
      A&=A&+Endf&     !"+Chr$(142)+"nderung der x-koordinate
      Y&=Y&+Ends|     !"+Chr$(142)+"nderung der y-Koordinate
      If Y&>300         !Wenn die Frucht nach unten raus gefallen ist
        Dec Lebem|(Akt&)  !Senke ihre Lebensenergie
        If Lebem|(Akt&)<4 Or Lebem|(Akt&)>100  !Wenn sie jetzt tot ist
          @Figur_selection
        Endif
        @Wscroll      !Aufs n"+Chr$(132)+"chste Festland(Marke)setzen
      Endif
      If A&<0         !Wenn die Frucht nach links raus ist
        A&=0            !,dann ist sie am linken Rand
      Endif
      If Y&>7         !Wenn die Frucht auf dem Bildschirm ist
        Get A&,Y&,A&+39,Y&+62,Back$           !sichere dem Hintergrund
        Put A&,Y&,S$(Ap&,Zu&+Skeletti&),4     !maskiere sie aus
        Put A&,Y&,Fig$(Ap&,Zu&+Skeletti&),6   !male sie
        If A&>8                               !Wenn sie nicht am linken Rand ist
          Rc_copy Scr1%,A&-8,Y&-8,56,72 To Scr2%,A&-8,Y&-8  !R"+Chr$(129)+"berkopieren
        Else                                  !andertnfalls
          Rc_copy Scr1%,A&,Y&-8,48,72 To Scr2%,A&,Y&-8      !weniger r"+Chr$(129)+"berkopieren
        Endif
        Put A&,Y&,Back$   !male den Hintergrund
      Else            !Wenn die Frucht nicht auf dem Bildschirm ist
        While Y&<7      !Solange die Frucht nicht auf dem Bildschirm ist
          @Monster
          Select Stick(1)  !selectiere den Joy-Stick
          Case 8             !Rechts
            Endf&=8
            Ap&=1
          Case 4             !Links
            Endf&=-8
            Ap&=4
          Default            !weder rechts noch links
            Ap&=1
            If Ri&=4
              Ap&=4
            Endif
            Endf&=0
          Endselect
          Ends|=8
          If A& Mod 40=0
            If Endf&>0
              If C|(Cx&-15+(A&-1)/40+2,0)>0
                Endf&=0
              Endif
            Else if Endf&<0
              If C|(Cx&-15+(A&-1)/40,0)>0
                Endf&=0
              Endif
            Endif
          Endif
          A&=A&+Endf&
          Y&=Y&+Ends|
          If A&<0
            A&=0
          Endif
        Wend
      Endif
      If A&>400  !Wenn die Frucht zu weit rechts ist, dann scrollen
        @Hinter
      Endif
      If Y&>7  !Wenn die Frucht auf dem Bildschirm ist
        Get A&,Y&,A&+39,Y&+62,Back$  !sichere den Hintergrund
        If C|(Cx&-15+(A&+1)/40,(Y&-15)/40+2)=24 !Wenn unter der Frucht ein Diamant ist
          Deffill 0
          Hix&=Int((A&+1)/40)*40
          Hiy&=Int((Y&-15)/40+2)*40
          Pbox Hix&,Hiy&,Hix&+39,Hiy&+39  !l"+Chr$(148)+"sche ihn
          Rc_copy Scr1%,Hix&,Hiy&,40,40 To Scr2%,Hix&,Hiy&
          C|(Cx&-15+(A&+1)/40,(Y&-15)/40+2)=0
          Add Punkte%,49              !addiere zur Punktzahl 49
        Endif
        If C|(Cx&-15+(A&-1)/40+1,(Y&-15)/40+2)=24 !Wenn unter der Frucht(anderes bein)ein Diamant ist
          Deffill 0
          Hix&=Int((A&-1)/40+1)*40
          Hiy&=Int((Y&-15)/40+2)*40
          Pbox Hix&,Hiy&,Hix&+39,Hiy&+39  !l"+Chr$(148)+"sche ihn
          Rc_copy Scr1%,Hix&,Hiy&,40,40 To Scr2%,Hix&,Hiy&
          C|(Cx&-15+(A&-1)/40+1,(Y&-15)/40+2)=0
          Add Punkte%,49              !addiere zur momentanen Punktezahl 49
        Endif
      Endif
    Until C|(Cx&-15+(A&+1)/40,(Y&-15)/40+2)+C|(Cx&-15+(A&-1)/40+1,(Y&-15)/40+2)>0 And (Y&+63) Mod 40=0
    ' Fallen ist zu ende, wenn unter der Frucht mindestens ein Stein ist
    '
    ' Ist die Frucht auf ein Pflanzen-Monster gefallen
    If C|(Cx&-15+(A&+1)/40,(Y&-15)/40+2)+C|(Cx&-15+(A&-1)/40+1,(Y&-15)/40+2)>250
      If C|(Cx&-15+(A&+1)/40,(Y&-15)/40+2)=254
        ' die Frucht ist mit dem linken Fu"+Chr$(158)+" auf eine Pflanze getreten!
        For I&=0 To 5 !Herausfinden welche Nummer das Pflanzen-Monster hat
          Exit if Abs(X&(I&)-A&)<40 And Y&(I&)=Y&+63 !Wenn der x-Abstand kleiner als 40 ist und sich Monster und Frucht auf der selben H"+Chr$(148)+"he aufhalten, dann ist es die richige Nummer!
        Next I&
        If R&(I&)=0!Wenn die Pflanze bisher immer auf und ab gegangen ist
          If Zahlm&(I&)<3 Or Zahlm&(I&)>12! wenn die Pflanze gerade im stein ist
            Put X&(I&),Y&(I&),Zerstampf$(0) !sie f"+Chr$(132)+"ngt an zerstampft zu werden!
            Rc_copy Scr1%,X&(I&),Y&(I&),40,40 To Scr2%,X&(I&),Y&(I&)!r"+Chr$(129)+"ber kopieren
            R&(I&)=1 !die neue bewegungsart der Pflanze ist 1
            Zahlm&(I&)=-1 !Neue Bewegungsart beginnt mit der ersten Sequenz
          Endif
        Endif
      Endif
      ' Der folgende abschnitt macht das selbe, wie der vorhergegangene nur f"+Chr$(129)+"r den rechten Fu"+Chr$(158)+"
      If C|(Cx&-15+(A&-1)/40+1,(Y&-15)/40+2)=254
        ' rechter FU"+Chr$(158)+"
        For I&=0 To 5
          Exit if Abs(X&(I&)-A&)<40 And Y&(I&)=Y&+63
        Next I&
        If R&(I&)=0
          If Zahlm&(I&)<3 Or Zahlm&(I&)>12
            Put X&(I&),Y&(I&),Zerstampf$(0)
            Rc_copy Scr1%,X&(I&),Y&(I&),40,40 To Scr2%,X&(I&),Y&(I&)
            R&(I&)=1
            Zahlm&(I&)=-1
          Endif
        Endif
      Endif
    Endif
  Endif
Return
Procedure Hinter
  Bmove Scr1%+3205,Scr1%+3200,32000-3205 !Scrollen mit M"+Chr$(129)+"ll rechts
  Put 600,40,Scroll$                     !Rechts wei"+Chr$(158)+"en Balken putten (40*360)
  @Nach
  A&=A&-40                               !X-Koordinate der Frucht um 40 verringern
Return
Procedure Nach
  Add Cx&,1                     !Erh"+Chr$(148)+"he anzahl der bereits gescrollten Male um 1
  For C&=1 To 9                 !9 Steine "+Chr$(129)+"bereinander
    If C|(Cx&,C&)>0             !Wenn im Feld an dieser Position etwas steht
      Select C|(Cx&,C&)         !Selectiere diesen Eintrag
        '    Muster f"+Chr$(129)+"r alle Monster cases
        '    R(mons) Ist eine Monster voreable,welche meist f"+Chr$(129)+"r die Richtung genutzt wird
        '    gz(mons)Ist eine Monster voreable,welche f"+Chr$(129)+"r alles m"+Chr$(148)+"gliche verwendet wird
        '    Zahlm(monsIst eine Monster voreable,welche f"+Chr$(129)+"r alles m"+Chr$(148)+"gliche verwendet wird
        '    Monstertyp(mons)Ist die Nummer der Art des Monsters
        '    x(mons) Ist meist die x-Koordinate des Monsters
        '    y(mons) Ist mei"+Chr$(158)+"t die y-Koordinate des Monsters
        '    c|(Cx,C)=0 hiermit l"+Chr$(148)+"schen die Monster sich aus dem Feld,da sie sonst,wie ein Stein ein Hindernis w"+Chr$(132)+"hren
        '    Inc Mons& hiermit wird der (Zeiger auf n"+Chr$(132)+"chste Monster in den Feldern geschoben
        '
      Case 42                         !Schussstein
        Put 600,C&*40,B$(C|(Cx&,C&))  !Male Schussstein
        R&(Mons&)=3
        X&(Mons&)=640-25
        Y&(Mons&)=C&*40+15
        Monstertyp&(Mons&)=95
        Gz&(Mons&)=1
        Zahlm&(Mons&)=0
        Inc Mons&
      Case 43                         !Schussstein
        Put 600,C&*40,B$(C|(Cx&,C&))  !male schussstein
        R&(Mons&)=3
        X&(Mons&)=640+15
        Y&(Mons&)=C&*40-25
        Monstertyp&(Mons&)=95
        Gz&(Mons&)=2
        Zahlm&(Mons&)=0
        Inc Mons&
      Case 44                         !Schussstein
        Put 600,C&*40,B$(C|(Cx&,C&))  !Male Schussstein
        R&(Mons&)=3
        X&(Mons&)=640+15
        Y&(Mons&)=C&*40+15
        Monstertyp&(Mons&)=95
        Gz&(Mons&)=3
        Zahlm&(Mons&)=0
        Inc Mons&
      Case 45,26,10                   !Hintergr"+Chr$(129)+"nde
        Put 600,C&*40,B$(C|(Cx&,C&))  !male den Hintergrund
        C|(Cx&,C&)=0                  !l"+Chr$(148)+"sch sie aus dem Feld
      Case 1 To 60
        ' normale Steine
        Put 600,C&*40,B$(C|(Cx&,C&))  !male den Stein
      Case 61 To 90
        ' hintergr"+Chr$(129)+"nde
        Put 600,C&*40,B$(C|(Cx&,C&))
        C|(Cx&,C&)=0
      Case 94
        ' Kreisel
        X&(Mons&)=640+10
        Y&(Mons&)=C&*40+10
        R&(Mons&)=0
        @Dunkel_oder_hell
        Monstertyp&(Mons&)=94
        Zahlm&(Mons&)=19
        Gz&(Mons&)=0
        Inc Mons&
      Case 96
        ' Masse
        X&(Mons&)=640
        Y&(Mons&)=C&*40
        Gz&(Mons&)=0
        Zahlm&(Mons&)=0
        R&(Mons&)=0
        C|(Cx&,C&)=17
        Monstertyp&(Mons&)=96
        Inc Mons&
      Case 97
        ' gummi
        Zahlm&(Mons&)=-24
        X&(Mons&)=640
        Y&(Mons&)=C&*40
        R&(Mons&)=0
        Gz&(Mons&)=0
        @Dunkel_oder_hell
        Monstertyp&(Mons&)=97
        Inc Mons&
      Case 98
        ' Kr"+Chr$(148)+"te
        R&(Mons&)=2
        X&(Mons&)=640
        Y&(Mons&)=C&*40+20
        Zahlm&(Mons&)=0
        Gz&(Mons&)=0
        @Dunkel_oder_hell
        Monstertyp&(Mons&)=98
        Inc Mons&
      Case 99
        ' Ball
        R&(Mons&)=3
        X&(Mons&)=640
        Y&(Mons&)=C&*40
        Zahlm&(Mons&)=0
        Gz&(Mons&)=0
        @Dunkel_oder_hell
        Monstertyp&(Mons&)=99
        Inc Mons&
      Case 100
        ' schwalbe
        R&(Mons&)=1
        X&(Mons&)=640
        Y&(Mons&)=C&*40+10
        Zahlm&(Mons&)=0
        Gz&(Mons&)=0
        @Dunkel_oder_hell
        Monstertyp&(Mons&)=100
        Inc Mons&
      Case 101
        ' Fisch
        X&(Mons&)=640+5
        Y&(Mons&)=C&*40
        R&(Mons&)=0
        Zahlm&(Mons&)=0
        Gz&(Mons&)=0
        Put 600,C&*40,B$(26)
        Monstertyp&(Mons&)=101
        C|(Cx&,C&)=0
        Inc Mons&
      Case 102
        ' Fisch
        X&(Mons&)=640+5
        Y&(Mons&)=C&*40
        Zahlm&(Mons&)=0
        Gz&(Mons&)=0
        R&(Mons&)=0
        Put 600,C&*40,B$(26)
        Monstertyp&(Mons&)=102
        C|(Cx&,C&)=0
        Inc Mons&
      Case 103
        ' qualle
        R&(Mons&)=2
        X&(Mons&)=640
        Y&(Mons&)=C&*40+24
        Zahlm&(Mons&)=0
        Gz&(Mons&)=0
        @Dunkel_oder_hell
        Monstertyp&(Mons&)=103
        Inc Mons&
      Case 104
        ' wabbel
        X&(Mons&)=640
        Y&(Mons&)=C&*40+19
        @Dunkel_oder_hell
        Monstertyp&(Mons&)=104
        R&(Mons&)=2
        Zahlm&(Mons&)=0
        Gz&(Mons&)=0
        Inc Mons&
      Case 105
        ' purzel
        R&(Mons&)=3
        X&(Mons&)=640
        Y&(Mons&)=C&*40
        Zahlm&(Mons&)=0
        Gz&(Mons&)=0
        @Dunkel_oder_hell
        Monstertyp&(Mons&)=105
        Inc Mons&
      Case 106
        ' auge
        R&(Mons&)=1
        X&(Mons&)=650
        Y&(Mons&)=C&*40
        Gz&(Mons&)=0
        Zahlm&(Mons&)=0
        @Dunkel_oder_hell
        Monstertyp&(Mons&)=106
        Inc Mons&
      Case 107
        ' stachel
        X&(Mons&)=620
        Y&(Mons&)=C&*40+23
        R&(Mons&)=0
        Zahlm&(Mons&)=0
        Gz&(Mons&)=0
        Monstertyp&(Mons&)=107
        C|(Cx&,C&)=0
        Inc Mons&
      Case 108
        ' stachel
        X&(Mons&)=640
        Y&(Mons&)=C&*40+23
        Zahlm&(Mons&)=0
        Gz&(Mons&)=0
        R&(Mons&)=0
        C|(Cx&,C&)=0
        Monstertyp&(Mons&)=107
        Inc Mons&
      Case 109
        ' feuer
        X&(Mons&)=624
        Y&(Mons&)=C&*40+14
        Zahlm&(Mons&)=0
        Gz&(Mons&)=0
        R&(Mons&)=0
        C|(Cx&,C&)=0
        Monstertyp&(Mons&)=109
        Inc Mons&
      Case 110
        ' feuer
        X&(Mons&)=644
        Y&(Mons&)=C&*40+14
        Zahlm&(Mons&)=0
        Gz&(Mons&)=0
        R&(Mons&)=0
        C|(Cx&,C&)=0
        Monstertyp&(Mons&)=109
        Inc Mons&
      Case 111
        ' Plattform
        R&(Mons&)=1
        Gz&(Mons&)=1
        X&(Mons&)=600
        Y&(Mons&)=C&*40
        Zahlm&(Mons&)=0
        @Dunkel_oder_hell
        Monstertyp&(Mons&)=111
        Inc Mons&
      Case 112
        ' bombe
        Put 600,C&*40,B$(17)
        C|(Cx&,C&)=17
        X&(Mons&)=655
        Gz&(Mons&)=655
        Y&(Mons&)=C&*40+24
        R&(Mons&)=Y&(Mons&)
        Monstertyp&(Mons&)=112
        Zahlm&(Mons&)=0
        Inc Mons&
      Case 113
        ' pfeil
        Put 600,C&*40,B$(17)
        C|(Cx&,C&)=17
        X&(Mons&)=640
        Y&(Mons&)=C&*40+15
        Gz&(Mons&)=0
        R&(Mons&)=0
        Monstertyp&(Mons&)=113
        Zahlm&(Mons&)=0
        Inc Mons&
      Case 114
        ' Schwalbe im Sturzflug
        X&(Mons&)=640
        Y&(Mons&)=C&*40
        @Dunkel_oder_hell
        R&(Mons&)=2
        Zahlm&(Mons&)=0
        Gz&(Mons&)=0
        Monstertyp&(Mons&)=114
        Inc Mons&
      Case 115
        ' pflanze
        X&(Mons&)=640
        Y&(Mons&)=C&*40
        R&(Mons&)=0
        Zahlm&(Mons&)=-1
        Gz&(Mons&)=0
        C|(Cx&,C&)=254
        Monstertyp&(Mons&)=115
        Inc Mons&
      Case 255
        @Dunkel_oder_hell
        Scrollstop&=1
        Scrolly&=C&
      Endselect
      Mons&=Mons& Mod 6              ! maximal 6 Monster
    Endif
  Next C&
  If Cx&=999                         !Wenn das Level zu ende ist
    @New_level_start
  Endif
  For I&=0 To 5                      !Subtrahiere von allen x-Koordinaten der Monster 40
    Sub X&(I&),40
  Next I&
  Sub Schussx&,40                    !Subtrahiere von der x-Koordinate des Schusses 40
  Put 0,0,Hil$                       !restaurire die Anzeigeleiste
  Hpunkte%=Punkte%+1
  Hleben|=0
  Graphmode 3
  Deffill 1,1,1
  Pbox 224,3,223+(Lebem|(Akt&)-3)*6,17
  Hleben|=Lebem|(Akt&)
  Bubble$=Right$("000"+Str$(Levels&),3)
  Graphmode 2
  Text 380,24,Bubble$
  Graphmode 1
  Bubble$=Right$("0000000"+Str$(Punkte%),8)
  Text 223,36,Bubble$
  Hpunkte%=Punkte%
  Bmove Scr1%,Scr2%,32000
Return
Procedure Dunkel_oder_hell
  ' Diese Procedur soll kl"+Chr$(132)+"ren ob an der Stelle, an der ein Monster aufgetaucht
  ' ist es Hell oder Dunkel ist!
  If C|(Cx&+1,C&)=10       !Wenn es rechts von der zu pr"+Chr$(129)+"fenden Position dunkel ist
    Put 600,C&*40,B$(10)    !,dann ist es auch an dieser Position dunkel
  Endif
  C|(Cx&,C&)=0             !Eintrag aus dem Feld l"+Chr$(148)+"schen
Return
Procedure Level
  ' Diese Procedure soll das Level einladen
  Void Xbios(5,L:Scr2%,L:Scr2%,-1)
  Hgesleben&=Gesleben&                           !alte gesamtlebenzahl retten
  Gesleben&=0
  For I&=0 To 3
    Gesleben&=Gesleben&+Lebem|(I&)-3
  Next I&
  If Punkte%-Levelpunkte%>Maxpunkte%
    Maxpunkte%=Punkte%-Altpunkte%                      !Neue max-Punktzahl in diesem Level
    Maxpunktename$=Player$                       !Namen des Spielers mit dem Levelpunkterekord korregieren
    Hik&=1
  Endif
  Altpunkte%=Punkte%
  If Levels&>0
    If Hgesleben&-Gesleben&<Lebenverlust&          !wenn der eigene lebenverlust in diesem Level geringer ist asl der levelrekord
      Lebenverlust&=Hgesleben&-Gesleben&           !neuer Rekord beim Levellebenverlust
      Add Hik&,2
    Endif
  Endif
  If Hik&>0
    If Levels&>0
      @Neuer_levelrekord
    Endif
  Endif
  @Figur_selection
  We$=""                                            !Hilfsvareable leeren
  Inc Levels&                                       !Levelnummer erh"+Chr$(148)+"hen
  A$=Right$("000"+Str$(Levels&),3)                  !3-Stellig machen
  If Exist("levels\level"+A$+".lev")    !Wenn vorhanden
    Open "i",#1,"levels\level"+A$+".lev"  !Datei "+Chr$(148)+"ffnen
    Code%=Cvl(Input$(4,#1))
    B%=Cvl(Input$(4,#1))
    For I&=0 To Lof(#1)/4-3
      B%=B% Xor Cvl(Input$(4,#1))
    Next I&
    Close
    If B%=Code%
      Void Xbios(5,L:Scr2%,L:Scr2%,-1)
      Cls
      Open "i",#1,"levels\level"+A$+".lev"  !Datei "+Chr$(148)+"ffnen
      Void Cvl(Input$(4,#1))
      Erbauer$=Input$(16,#1)
      Maxpunkte%=Cvl(Input$(4,#1))
      Maxpunktename$=Input$(16,#1)
      Lebenverlust&=Asc(Input$(1,#1))-128
      Print At(30,6);"Dieses Level ist von:"
      Print At(32,7);Erbauer$
      Print At(20,9);"Momentaner Punkterekord in diesem Level:"
      Print At(36,10);Right$("0000000"+Str$(Maxpunkte%),8)
      Print At(30,11);"Von:";Maxpunktename$
      If Lebenverlust&=>0
        Print At(9,13);"In diesem Level wurden bisher mindestens "+Str$(Lebenverlust&)+" Leben verloren!"
      Else
        Print At(11,13);"In diesem Level wurden bisher maximal "+Str$(Abs(Lebenverlust&))+" leben gewonnen!"
      Endif
      We$=Input$(10000,#1)                              !level einladen
      Hz&=0                                             !Hilfsvareable =0
      For I&=0 To 999
        H$=Input$(1,#1)                !l"+Chr$(132)+"nge der Extra Infios einladen (Schalter)
        Schalt$(I&)=Input$(Asc(H$)*4,#1) !Extra Infos ins Feld einladen
      Next I&
      Close                                        !Datei schlie"+Chr$(158)+"en
      Lvar&=0                                         !Hilfsvareable =0
      For I&=0 To 999
        For W&=0 To 9
          Inc Lvar&
          C|(I&,W&)=Asc(Mid$(We$,Lvar&,1))               !Level ins Feld schreiben
        Next W&
      Next I&
    Else
      Fehler$="Daten des Levels sind nicht korrekt!"
      @Fehler
    Endif
  Else                                            !Wenn das Level nicht gefunden wird
    @Ende
  Endif
  Repeat
  Until Strig(1)=-1
  Void Xbios(5,L:Scr1%,L:Scr2%,-1)
Return
Procedure Anf_b_aufbau
  ' Am Anfang eines Levels mu"+Chr$(158)+" der Bildschirm mit 16*9 Steinen gef"+Chr$(129)+"llt werden
  Cls                               !Bildschirm l"+Chr$(148)+"schen
  For I&=1 To 9                      !Spalte 1 bis 9(incl.9)
    Inc By&
    For X&=0 To 15                     !Spalte 0 bis 15(incl.15)
      Inc Bx&
      If C|(X&,I&)>0                      !Wenn im Level an dieser Stelle etwas ist
        If C|(X&,I&)>60 Or C|(X&,I&)=10 Or C|(X&,I&)=26 Or C|(X&,I&)=45 !Wenn kein Stein
          If C|(X&,I&)<91   !Wenn kein Monster
            Put X&*40,I&*40,B$(C|(X&,I&))               !Hinmalen und aus dem Feld l"+Chr$(148)+"schen
          Endif
          C|(X&,I&)=0
        Else                                      !Andernfals
          Put X&*40,I&*40,B$(C|(X&,I&))                 !Hinmalen
        Endif
      Endif
    Next X&
    Bx&=0
  Next I&
  Bmove Scr1%+3200,Scr2%+3200,28800               !Bildschirm anzeigen
Return
Procedure Aktanzeigen
  ' Anzeigebalken neu anzeigen
  If Hleben|<>Lebem|(Akt&) Or Punkte%<>Hpunkte% !Wenn sich etwas in der Anzeigeleiste "+Chr$(132)+"ndern mu"+Chr$(158)+"
    Put 0,0,Hil$           !male lehren Anzeigebalken
    Hpunkte%=Punkte%
    Hleben|=Lebem|(Akt&)
    Deffill 1,1,1
    Graphmode 3
    Pbox 224,3,223+(Lebem|(Akt&)-3)*6,17
    Bubble$=Right$("000"+Str$(Levels&),3)
    Graphmode 2
    Text 380,24,Bubble$
    Graphmode 1
    Bubble$=Right$("0000000"+Str$(Punkte%),8)
    Text 223,36,Bubble$
    Bmove Scr1%,Scr2%,3200
    If Lebem|(Akt&)<4 Or Lebem|(Akt&)>100
      Lebem|(Akt&)=3
      @Figur_selection
    Endif
  Endif
Return
Procedure Abfrage
  ' Selektierung der Bewegung der Frucht!
  Hhhhbew&=Hhhbew&
  Hhhbew&=Hhbew&
  Hhbew&=Hbew&
  Hbew&=Bew&
  Bew&=0
  If Y&>7
    Select Stick(1)
    Case 8
      Vor
      Bew&=8
      Ri&=3
    Case 4
      Zur
      Bew&=4
      Ri&=4
    Case 9,1,5
      Vsp      !Der Sprung
    Default
      Bew&=10
    Endselect
  Else
    @Fall
  Endif
Return
Procedure Forn_abfrage_o
  ' Abfrage, ob die Frucht mit dem Kopf gegen einen Stein springt!
  If Endf&>0
    If C|(Cx&-15+(A&-1)/40+2,(Y&+20)/40)+C|(Cx&-15+(A&-1)/40+2,(Y&+60)/40)>0
      Endf&=0
    Endif
  Else if Endf&<0
    If C|(Cx&-15+(A&-1)/40,(Y&+20)/40)+C|(Cx&-15+(A&-1)/40,(Y&+60)/40)>0
      Endf&=0
    Endif
  Endif
Return
Procedure Forn_abfrage
  ' Abfrage rechts bzw links von der Frucht beim Springen/Fallen
  If Endf&>0
    If C|(Cx&-15+(A&-1)/40+2,(Y&+63)/40-1)+C|(Cx&-15+(A&-1)/40+2,(Y&+63)/40)>0
      Endf&=0
    Endif
  Else if Endf&<0
    If C|(Cx&-15+(A&-1)/40,(Y&+63)/40-1)+C|(Cx&-15+(A&-1)/40,(Y&+63)/40)>0
      Endf&=0
    Endif
  Endif
Return
Procedure Dims
  ' Alle Dimensieonierungen, die f"+Chr$(129)+"rs Spiel gebraucht wurden
  Dim Demofigur$(3)
  Dim Score%(99)
  Dim Pname$(9)
  Dim C|(999,9)
  Dim Schalt$(999)
  Dim S$(5,7)                            !Masken      (Fr"+Chr$(129)+"chte (Sequenzen))
  Dim Fig$(5,7)                          !Put-Strings (Fr"+Chr$(129)+"chte (Sequenzen))
  Dim B$(100)                            !Put-Strings (Steine\Hintergrund)
  Dim Lebem|(3)                          !Lebensenergie der Fr"+Chr$(129)+"chte 0 bis 3
  Dim Ha&(2)                             !aufl"+Chr$(148)+"sen
  Dim Hy&(2)                             !aufl"+Chr$(148)+"sen
  Dim M&(2)                              !aufl"+Chr$(148)+"sen
  Dim Zeit&(2)                           !aufl"+Chr$(148)+"sen
  Dim Zwi%(8064)                         !Zweiter Screen
  Dim Monstertyp&(5)                     !Monster Typ(sorte des Monsters)
  Dim X&(5),Y&(5)                        !Monster Koordinaten
  Dim R&(5)                              !Monster Richtung
  Dim Ball$(3)                           !Ball     Put-Strings
  Dim Krote$(1,1)                        !Kr"+Chr$(148)+"te    Put-Strings
  Dim Krotem$(1,1)                       !Kr"+Chr$(148)+"te    Put-Back-Strings
  Dim Gummi$(3)                          !Gummi    Put-Strings
  Dim Masse$(3)                          !Masse    Put-Strings
  Dim Kreisel$(3)                        !Kreisel  Put-Strings
  Dim Fisch$(1,3)                        !Fisch    Put-Strings
  Dim Fischm$(1)                         !Fisch    Put-Back-Strings
  Dim Schwalbe$(1)                       !Schwalbe Put-Strings
  Dim Schwalbem$(1)                      !Schwalbe Put-Back-Strings
  Dim Wabbel$(3)                         !Wabbel   Put-Strings
  Dim Wabbelm$(3)                        !Wabbel   Put-Back-Strings
  Dim Purzel$(3)                         !Purzel   Put-Strings
  Dim Purzelm$(3)                        !Purzel   Put-Back-Strings
  Dim Auge$(1,3)                         !Auge     Put-Strings
  Dim Augem$(3)                          !Auge     Put-Back-Strings
  Dim Stachel$(13)                       !Stachel  Put-Strings
  Dim Feuer$(3)                          !Feuer    Put-Strings
  Dim Qualle$(4)                         !Qualle   Put-Strings
  Dim Quallem$(4)                        !Qualle   Put-Back-Strings
  Dim Pfeil$(1)                          !Pfeil    Put-Strings
  Dim Pfeilm$(1)                         !Pfeil    Put-Back-Strings
  Dim Bombe$(1)                          !Bombe    Put-Strings
  Dim Bombem$(1)                         !Bombe    Put-Back-Strings
  Dim Schwalbes$(1)                      !Schwalbe Sturzflug-Put-Strings
  Dim Schwalbesm$(1)                     !Schwalbe Sturzflug-Put-Back-Strings
  Dim Zahlm&(5)                          !Hilfs-Z"+Chr$(132)+"hl-Variable f"+Chr$(129)+"r Monster
  Dim Gz&(5)                             !Hilfs-Z"+Chr$(132)+"hl-Variable f"+Chr$(129)+"r Monster
  Dim Kreiselx&(19),Kreisely&(19)        !Kreibahn des Kreisels
  '
  ' ==============================
  '  Put-Strings f"+Chr$(129)+"r die Pflanze:
  ' ==============================
  '
  Dim Auftauch$(13)                      !Pflanzen-Put-Strings(Auf und Ab)
  Dim Zerstampf$(4)                      !Pflanzen-Stein-zer-und endquetsch-Put-Strings
  Dim Wachs1$(1)                         !Pflanzen-kletter-Put-Strings(Teil 1)
  Dim Wachs2$(7)                         !Pflanzen-kletter-Put-Strings(Teil 2)
  Dim Bluete$(8)                         !Pflanzen-Bl"+Chr$(129)+"te-Put-Strings
  '
  Scr2%=Int(V:Zwi%(0)/256+1)*256         !Ablegen der Startadresse des zweiten Bildschirms in scr2%
  Scr1%=Xbios(3)                         !Ablegen der Startadresse des normalen Bildschirms in scr1% (in diesem Moment ist xbios(2) noch gleich xbios(3)
  Hidem                                  !Maus nicht mehr anzeigen!
Return
Procedure Werte3
  ' Hier werden wichtige Anfangswerte gesetzt!
  A&=8
  Y&=9
  Cx&=15
  For I&=0 To 2
    Ha&(I&)=-49
  Next I&
  G|=19
  For I&=0 To 5
    Monstertyp&(I&)=0
  Next I&
Return
Procedure Werte2
  ' Hier werden wichtige Anfangswerte gesetzt!
  Skeletti&=0
  For I&=0 To 3
    Lebem|(I&)=10
  Next I&
  Levels&=0
  Punkte%=0
  Werte3
Return
Procedure Werte
  ' Hier werden wichtige Anfangswerte gesetzt!
  For I&=9 Downto 0
    Read Pname$(I&)
  Next I&
  ' Bewegungsschema des Kreisel-Monsters
  Kreiselx&(0)=-24
  Kreisely&(0)=8
  Kreiselx&(1)=-24
  Kreisely&(1)=8
  Kreiselx&(2)=-16
  Kreisely&(2)=16
  Kreiselx&(3)=-8
  Kreisely&(3)=24
  Kreiselx&(4)=-8
  Kreisely&(4)=24
  Kreiselx&(5)=8
  Kreisely&(5)=24
  Kreiselx&(6)=8
  Kreisely&(6)=24
  Kreiselx&(7)=16
  Kreisely&(7)=16
  Kreiselx&(8)=24
  Kreisely&(8)=8
  Kreiselx&(9)=24
  Kreisely&(9)=8
  Kreiselx&(10)=24
  Kreisely&(10)=-8
  Kreiselx&(11)=24
  Kreisely&(11)=-8
  Kreiselx&(12)=16
  Kreisely&(12)=-16
  Kreiselx&(13)=8
  Kreisely&(13)=-24
  Kreiselx&(14)=8
  Kreisely&(14)=-24
  Kreiselx&(15)=-8
  Kreisely&(15)=-24
  Kreiselx&(16)=-8
  Kreisely&(16)=-24
  Kreiselx&(17)=-16
  Kreisely&(17)=-16
  Kreiselx&(18)=-24
  Kreisely&(18)=-8
  Kreiselx&(19)=-24
  Kreisely&(19)=-8
  @Highscor_einlesen
Return
Procedure Stones
  ' Der Spieler steht auf einem Stein!!
  ' Welcher Stein wird vom Spieler gerade betreten, was f"+Chr$(129)+"r Auswirkungen hat das?
  Deffill 0,0,0
  '  Print At(5,1);C|(hcx+(A&+1)/40,Y&/40+2)'
  '  Print At(11,1);C|(hcx+(A&-1)/40+1,Y&/40+2)'
  Dielf&=0
  Zahlen&=(Zahlen&+1) Mod 128
  For I&=0 To 2
    If (Zeit&(I&)+5) Mod 128<Zahlen&
      Gosub Auflosen_27
    Endif
  Next I&
  Hilfe10&=0
  If Int((A&+1)/40)=Int((A&-1)/40)
    '                                       Die Figur steht auf zwei Steinen
    @2_stones
  Else
    '                                       Die Figur steht auf einem Steinen
    Select C|(Cx&-15+(A&-1)/40+1,Y&/40+2)
    Case 31
      C|(Cx&-15+(A&-1)/40+1,Y&/40+2)=17
      Wscroll
    Case 16
      Add Punkte%,749
      C|(Cx&-15+(A&-1)/40+1,Y&/40+2)=17
    Case 11
      Inc Lebem|(Akt&)
      C|(Cx&-15+(A&-1)/40+1,Y&/40+2)=17
    Case 1
      If Cx&-15+(A&-1)/40+1<>Ha&(Auflosen&) Or Y&/40+2<>Hy&(Auflosen&)
        Auflosen&=Auflosen&+1
        If Auflosen&=3
          Auflosen&=0
        Endif
        Zeit&(Auflosen&)=Zahlen&
        Ha&(Auflosen&)=Cx&-15+(A&-1)/40+1
        Hy&(Auflosen&)=Y&/40+2
      Endif
    Case 2,3,4
      If Zahlen&/2=Int(Zahlen&/2)
        If A&>8
          Bewhil&=1
          @Zur
          Bewhil&=0
        Endif
      Endif
    Case 18
      Add Punkte%,10
      C|(Cx&-15+(A&-1)/40+1,Y&/40+2)=17
      Put A&,Y&+63,B$(17)
      Rc_copy Scr1%,A&,Y&+63,40,40 To Scr2%,A&,Y&+63
    Case 19
      Add Punkte%,20
      C|(Cx&-15+(A&-1)/40+1,Y&/40+2)=17
      Put A&,Y&+63,B$(17)
      Rc_copy Scr1%,A&,Y&+63,40,40 To Scr2%,A&,Y&+63
    Case 20
      Add Punkte%,30
      C|(Cx&-15+(A&-1)/40+1,Y&/40+2)=17
      Put A&,Y&+63,B$(17)
      Rc_copy Scr1%,A&,Y&+63,40,40 To Scr2%,A&,Y&+63
    Case 48
      Sub Punkte%,10
      C|(Cx&-15+(A&-1)/40+1,Y&/40+2)=17
      Put A&,Y&+63,B$(17)
      Rc_copy Scr1%,A&,Y&+63,40,40 To Scr2%,A&,Y&+63
    Case 49
      Sub Punkte%,20
      C|(Cx&-15+(A&-1)/40+1,Y&/40+2)=17
      Put A&,Y&+63,B$(17)
      Rc_copy Scr1%,A&,Y&+63,40,40 To Scr2%,A&,Y&+63
    Case 50
      Sub Punkte%,30
      C|(Cx&-15+(A&-1)/40+1,Y&/40+2)=17
      Put A&,Y&+63,B$(17)
      Rc_copy Scr1%,A&,Y&+63,40,40 To Scr2%,A&,Y&+63
    Case 58
      Dec Lebem|(Akt&)
      C|(Cx&-15+(A&-1)/40+1,Y&/40+2)=59
      Put A&,Y&+63,B$(59)
      Rc_copy Scr1%,A&,Y&+63,40,40 To Scr2%,A&,Y&+63
      If Lebem|(Akt&)<4 Or Lebem|(Akt&)>100
        @Figur_selection
      Endif
    Case 21
      If Y&/40>1
        If Stick(1)=2
          Put A&,Y&,Back$
          For I&=0 To 9
            Y&=Y&-4
            Ap&=1
            If Ri&=4
              Ap&=4
            Endif
            Get A&,Y&,A&+39,Y&+62,Back$
            Put A&,Y&,S$(Ap&,Zu&+Skeletti&),4
            Put A&,Y&,Fig$(Ap&,Zu&+Skeletti&),6
            Put A&,Y&+63,B$(21)
            Rc_copy Scr1%,A&,Y&,40,79 To Scr2%,A&,Y&
            Put A&,Y&,Back$
            @Monster
          Next I&
          C|(Cx&-15+(A&-1)/40+1,Y&/40+2)=21
        Endif
      Endif
    Case 22,57
      Dielf&=1
    Case 23
      @Schalter
    Case 27
      Dec Lebem|(Akt&)
      C|(Cx&-15+(A&-1)/40+1,Y&/40+2)=17
      Put A&,Y&+63,B$(17)
      Rc_copy Scr1%,A&,Y&+63,40,40 To Scr2%,A&,Y&+63
      If Lebem|(Akt&)<4 Or Lebem|(Akt&)>100
        @Figur_selection
      Endif
    Case 32,12
      If C|(Cx&-15+(A&-1)/40+1,Y&/40+3)=0 And Int(Y&/40+3)<=9
        C|(Cx&-15+(A&-1)/40+1,Y&/40+3)=C|(Cx&-15+(A&-1)/40+1,Y&/40+2)
        Pbox A&,Y&+63,A&+39,Y&+63+39
        Put A&,Y&+63+40,B$(C|(Cx&-15+(A&-1)/40+1,Y&/40+3))
        C|(Cx&-15+(A&-1)/40+1,Y&/40+2)=0
        Rc_copy Scr1%,A&,Y&+63,40,80 To Scr2%,A&,Y&+63
      Else if Int(Y&/40+3)=10
        C|(Cx&-15+(A&-1)/40+1,9)=0
        Pbox A&,Y&+63,A&+39,Y&+63+39
        Rc_copy Scr1%,A&,Y&+63,40,40 To Scr2%,A&,Y&+63
      Endif
    Case 34,14
      If C|(Cx&-15+(A&-1)/40+1,Y&/40+3)=0 And Int(Y&/40+3)<=9
        C|(Cx&-15+(A&-1)/40+1,Y&/40+3)=C|(Cx&-15+(A&-1)/40+1,Y&/40+2)
        Pbox A&,Y&+63,A&+39,Y&+63+39
        Put A&,Y&+63+40,B$(C|(Cx&-15+(A&-1)/40+1,Y&/40+3))
        C|(Cx&-15+(A&-1)/40+1,Y&/40+2)=0
        Rc_copy Scr1%,A&,Y&+63,40,80 To Scr2%,A&,Y&+63
      Else if Int(Y&/40+3)=10
        C|(Cx&-15+(A&-1)/40+1,9)=0
        Pbox A&,Y&+63,A&+39,Y&+63+39
        Rc_copy Scr1%,A&,Y&+63,40,40 To Scr2%,A&,Y&+63
      Endif
    Case 37,56,8
      Dielf&=7
    Case 46
      C|(Cx&-15+(A&-1)/40+1,Y&/40+2)=17
      Get A&,Y&+63-110,A&+39,Y&+63-110+39,Bacm$
      Put A&,Y&+63-110,Bacm$
      For Wait&=0 To 70
        Pause 1
        @Monster
        @Tod_oder_nicht
        Hz&=(Hz&+1) Mod 8
        Get A&,Y&+63-110,A&+39,Y&+63-110+39,Bacm$
        Put A&,Y&+63-110,B$(55),4
        Put A&,Y&+63-110,B$(51+(Hz&/2)),7
        Rc_copy Scr1%,A&,Y&+63-110,40,40 To Scr2%,A&,Y&+63-110
        Put A&,Y&+63-110,Bacm$
      Next Wait&
      Rc_copy Scr1%,A&,Y&+63-110,40,40 To Scr2%,A&,Y&+63-110
      Put A&,Y&+63,B$(17)
      Rc_copy Scr1%,A&,Y&+63,40,40 To Scr2%,A&,Y&+63
    Case 9
      Skeletti&=(Skeletti&+1) Mod 2
      C|(Cx&-15+(A&-1)/40+1,Y&/40+2)=17
    Case 100
      If Stick(1)=2
        Put A&,Y&,Back$                          !Restaurire den Hintergrund
        Add Y&,8                                 !Lasse die Frucht ein St"+Chr$(129)+"ck fallen
        Get A&,Y&,A&+39,Y&+62,Back$              !Rette den hintergrund
        Put A&,Y&,S$(O|,Zu&+Skeletti&),4         !Maskiere sie aus
        Put A&,Y&,Fig$(O|,Zu&+Skeletti&),6       !male die Frucht hin
        Rc_copy Scr1%,A&,Y&-8,40,71 To Scr2%,A&,Y&-8 !kopiere die Frucht r"+Chr$(129)+"ber
        Put A&,Y&,Back$                          !Restaurire den Hintergrund
      Endif
    Endselect
  Endif
Return
Procedure 2_stones
  ' Der Spieler steht auf zwei Steinen!!
  ' Welche Steine werden vom Spieler gerade betreten, was f"+Chr$(129)+"r Auswirkungen hat das?
  Dummy&=0
  Deffill 0,0,0
  Select C|(Cx&-15+(A&+1)/40,Y&/40+2)
  Case 9
    Skeletti&=(Skeletti&+1) Mod 2
    C|(Cx&-15+(A&+1)/40,Y&/40+2)=17
  Case 58
    Dec Lebem|(Akt&)
    C|(Cx&-15+(A&+1)/40,Y&/40+2)=59
    Hila&=(A&+1)/40
    Hily&=Y&/40+2
    Put Hila&*40,Hily&*40,B$(59)
    Rc_copy Scr1%,Hila&*40,Hily&*40,40,40 To Scr2%,Hila&*40,Hily&*40
    If Lebem|(Akt&)<4 Or Lebem|(Akt&)>100
      @Figur_selection
    Endif
  Case 2,3,4
    If Zahlen&/2=Int(Zahlen&/2)
      If A&>8
        Bewhil&=1
        @Zur
        Bewhil&=0
      Endif
    Endif
    Hilfe10&=1
  Case 22,57
    Dielf&=1
  Case 25,59
    @Rutsch_stein
  Case 27
    Dec Lebem|(Akt&)
    C|(Cx&-15+(A&+1)/40,Y&/40+2)=17
    Hila&=(A&+1)/40
    Hily&=Y&/40+2
    Put Hila&*40,Hily&*40,B$(17)
    Rc_copy Scr1%,Hila&*40,Hily&*40,40,40 To Scr2%,Hila&*40,Hily&*40
    If Lebem|(Akt&)<4 Or Lebem|(Akt&)>100
      @Figur_selection
    Endif
  Case 32,12
    If C|(Cx&-15+(A&+1)/40,Y&/40+3)=0 And Int(Y&/40+3)<=9
      C|(Cx&-15+(A&+1)/40,Y&/40+3)=C|(Cx&-15+(A&+1)/40,Y&/40+2)
      C|(Cx&-15+(A&+1)/40,Y&/40+2)=0
      Hila&=(A&+1)/40
      Hily&=Y&/40+2
      Pbox Hila&*40,Hily&*40,Hila&*40+39,Hily&*40+39
      Put Hila&*40,Hily&*40+40,B$(C|(Cx&-15+(A&+1)/40,Y&/40+3))
      Rc_copy Scr1%,Hila&*40,Hily&*40,40,80 To Scr2%,Hila&*40,Hily&*40
    Else if Int(Y&/40+3)=10
      C|(Cx&-15+(A&+1)/40,9)=0
      Hila&=(A&+1)/40
      Pbox Hila&*40,9*40,Hila&*40+39,9*40+39
      Rc_copy Scr1%,Hila&*40,9*40,40,40 To Scr2%,Hila&*40,9*40
    Endif
  Case 33,15
    If Ri&=4
      If C|(Cx&-15+(A&+1)/40+1,Y&/40+2)=0
        C|(Cx&-15+(A&+1)/40+1,Y&/40+2)=C|(Cx&-15+(A&+1)/40,Y&/40+2)
        C|(Cx&-15+(A&+1)/40,Y&/40+2)=0
        Hila&=(A&+1)/40
        Hily&=Y&/40+2
        Put Hila&*40+40,Hily&*40,B$(C|(Cx&-15+(A&+1)/40+1,Y&/40+2))
        Pbox Hila&*40,Hily&*40,Hila&*40+39,Hily&*40+39
        Rc_copy Scr1%,Hila&*40,Hily&*40,80,40 To Scr2%,Hila&*40,Hily&*40
      Endif
    Endif
  Case 36,13
    If Ri&=4
      If C|(Cx&-15+(A&+1)/40+1,Y&/40+3)=0 And Y&/40+3<=9
        C|(Cx&-15+(A&+1)/40+1,Y&/40+3)=C|(Cx&-15+(A&+1)/40,Y&/40+2)
        C|(Cx&-15+(A&+1)/40,Y&/40+2)=0
        Hila&=(A&+1)/40
        Hily&=Y&/40+2
        Put Hila&*40+40,Hily&*40+40,B$(C|(Cx&-15+(A&+1)/40+1,Y&/40+3))
        Pbox Hila&*40,Hily&*40,Hila&*40+39,Hily&*40+39
        Rc_copy Scr1%,Hila&*40,Hily&*40,40,40 To Scr2%,Hila&*40,Hily&*40
        Rc_copy Scr1%,Hila&*40+40,Hily&*40+40,40,40 To Scr2%,Hila&*40+40,Hily&*40+40
      Endif
    Endif
  Case 37,56
    Dielf&=7
  Case 8
    Dummy&=1
  Endselect
  Select C|(Cx&-15+(A&-1)/40+1,Y&/40+2)
  Case 9
    C|(Cx&-15+(A&-1)/40+1,Y&/40+2)=17
    Skeletti&=(Skeletti&+1) Mod 2
  Case 2,3,4
    If Hilfe10&=0
      If Zahlen&/2=Int(Zahlen&/2)
        If A&>8
          Bewhil&=1
          @Zur
          Bewhil&=0
        Endif
      Endif
    Endif
  Case 22,57
    Dielf&=1
  Case 25,59
    @Rutsch_stein
  Case 58
    Dec Lebem|(Akt&)
    C|(Cx&-15+(A&-1)/40+1,Y&/40+2)=59
    Hila&=(A&-1)/40+1
    Hily&=Y&/40+2
    Put Hila&*40,Hily&*40,B$(59)
    Rc_copy Scr1%,Hila&*40,Hily&*40,40,40 To Scr2%,Hila&*40,Hily&*40
    If Lebem|(Akt&)<4 Or Lebem|(Akt&)>100
      @Figur_selection
    Endif
  Case 27
    Dec Lebem|(Akt&)
    C|(Cx&-15+(A&-1)/40+1,Y&/40+2)=17
    Hila&=(A&-1)/40+1
    Hily&=Y&/40+2
    Put Hila&*40,Hily&*40,B$(17)
    Rc_copy Scr1%,Hila&*40,Hily&*40,40,40 To Scr2%,Hila&*40,Hily&*40
    If Lebem|(Akt&)<4 Or Lebem|(Akt&)>100
      @Figur_selection
    Endif
  Case 32,12
    If C|(Cx&-15+(A&-1)/40+1,Y&/40+3)=0 And Int(Y&/40+3)<=9
      C|(Cx&-15+(A&-1)/40+1,Y&/40+3)=C|(Cx&-15+(A&-1)/40+1,Y&/40+2)
      C|(Cx&-15+(A&-1)/40+1,Y&/40+2)=0
      Hila&=(A&-1)/40+1
      Hily&=Y&/40+2
      Pbox Hila&*40,Hily&*40,Hila&*40+39,Hily&*40+39
      Put Hila&*40,Hily&*40+40,B$(C|(Cx&-15+(A&-1)/40+1,Y&/40+3))
      Rc_copy Scr1%,Hila&*40,Hily&*40,40,80 To Scr2%,Hila&*40,Hily&*40
    Else if Int(Y&/40+3)=10
      C|(Cx&-15+(A&-1)/40+1,Y&/40+2)=0
      Hila&=(A&-1)/40+1
      Pbox Hila&*40,9*40,Hila&*40+39,9*40+39
      Rc_copy Scr1%,Hila&*40,9*40,40,40 To Scr2%,Hila&*40,9*40
    Endif
  Case 33,15
    If Ri&=3
      If C|(Cx&-15+(A&-1)/40,Y&/40+2)=0
        C|(Cx&-15+(A&-1)/40,Y&/40+2)=C|(Cx&-15+(A&-1)/40+1,Y&/40+2)
        C|(Cx&-15+(A&-1)/40+1,Y&/40+2)=0
        Hila&=(A&-1)/40
        Hily&=Y&/40+2
        Pbox Hila&*40+40,Hily&*40,Hila&*40+79,Hily&*40+39
        Put Hila&*40,Hily&*40,B$(C|(Cx&-15+(A&-1)/40,Y&/40+2))
        Rc_copy Scr1%,Hila&*40,Hily&*40,80,40 To Scr2%,Hila&*40,Hily&*40
      Endif
    Endif
  Case 36,13
    If Ri&=3
      If C|(Cx&-15+(A&-1)/40,Y&/40+3)=0 And Y&/40+3<=9
        C|(Cx&-15+(A&-1)/40,Y&/40+3)=C|(Cx&-15+(A&-1)/40+1,Y&/40+2)
        C|(Cx&-15+(A&-1)/40+1,Y&/40+2)=0
        Hila&=(A&-1)/40
        Hily&=Y&/40+2
        Pbox Hila&*40+40,Hily&*40,Hila&*40+79,Hily&*40+39
        Put Hila&*40,Hily&*40+40,B$(C|(Cx&-15+(A&-1)/40,Y&/40+3))
        Rc_copy Scr1%,Hila&*40+40,Hily&*40,40,40 To Scr2%,Hila&*40+40,Hily&*40
        Rc_copy Scr1%,Hila&*40,Hily&*40+40,40,40 To Scr2%,Hila&*40,Hily&*40+40
      Endif
    Endif
  Case 37,56
    Dielf&=7
  Case 8
    If Dummy&=1
      Dielf&=7
    Endif
  Endselect
Return
Procedure Auflosen_27
  ' In dieser Procedure werden die Platformsteine aufgel"+Chr$(148)+"st!
  If Ha&(I&)>-1
    Deffill 0
    Put (Ha&(I&)+15-Cx&)*40,Hy&(I&)*40,Auflos$
    C|(Ha&(I&),Hy&(I&))=0
    Add Punkte%,2
    Rc_copy Scr1%,(Ha&(I&)+15-Cx&)*40,Hy&(I&)*40,40,40 To Scr2%,(Ha&(I&)+15-Cx&)*40,Hy&(I&)*40
    Ha&(I&)=-49
  Endif
Return
Procedure Monster
  ' In dieser Procedure wird entschieden welche monster sich in diesem Durchlauf
  ' bewegen(immer maximal 3 von maximal 6 Monstern(aus geschwindigkeitsgr"+Chr$(129)+"nden!))!
  @Aktanzeigen
  @Abfrage_2
  @Tod_oder_nicht
  Add Monshil&,1
  If Monshil&=2
    Monshil&=0
  Endif
  If Monshil&=1
    For P&=0 To 2
      @Monster_select
    Next P&
  Else
    For P&=3 To 5
      @Monster_select
    Next P&
  Endif
  While Timer<Ts%+8
  Wend
  Ts%=Timer
Return
Procedure Monster_select
  ' In dieser Procedure werden den Nummern der momentan aktiven Monster
  ' Ihre Steuerungs-Proceduren zugeteilt!
  Select Monstertyp&(P&)
  Case 115
    @Pflanze
  Case 114
    @Schwalbe_mit_sturzflug
  Case 113
    @Pfeil
  Case 112
    @Bombe
  Case 111
    @Platform
  Case 109
    @Feuer
  Case 107
    @Stacheln
  Case 106
    @Auge
  Case 105
    @Purzel
  Case 104
    @Wabbel
  Case 103
    @Qualle
  Case 102
    Hohesprung&=6
    @Fisch
  Case 101
    Hohesprung&=4
    @Fisch
  Case 100
    @Schwalbe
  Case 99
    @Main_ball
  Case 98
    @Main_krote
  Case 97
    @Gummi
  Case 96
    @Masse
  Case 95
    @Schussstein
  Case 94
    @Kreisel
  Endselect
Return
Procedure Pflanze
  ' Steuerung dieses Monsters!
  If X&(P&)>0
    Select R&(P&)
    Case 0
      ' AUF UND AB
      Zahlm&(P&)=(Zahlm&(P&)+1) Mod 14
      If Zahlm&(P&)>3 And Zahlm&(P&)<12
        If Zahlm&(P&)<8
          Add Gz&(P&),8
        Else if Zahlm&(P&)>7
          Sub Gz&(P&),8
        Endif
      Else
        Gz&(P&)=0
      Endif
      Get X&(P&),Y&(P&)-Gz&(P&)-8,X&(P&)+39,Y&(P&),Backm$
      Put X&(P&),Y&(P&)-Gz&(P&),Auftauch$(Zahlm&(P&))
      Rc_copy Scr1%,X&(P&),Y&(P&)-Gz&(P&)-8,40,48 To Scr2%,X&(P&),Y&(P&)-Gz&(P&)-8
      Put X&(P&),Y&(P&)-Gz&(P&)-8,Backm$
    Case 1
      ' Ein- und ENTFALTEN
      Zahlm&(P&)=(Zahlm&(P&)+1) Mod 11
      If Zahlm&(P&)=10
        Put X&(P&),Y&(P&),B$(17)
        Rc_copy Scr1%,X&(P&),Y&(P&),40,40 To Scr2%,X&(P&),Y&(P&)
        R&(P&)=2
        Zahlm&(P&)=-1
      Else
        Put X&(P&),Y&(P&),Zerstampf$(Zahlm&(P&)/2)
        Rc_copy Scr1%,X&(P&),Y&(P&),40,40 To Scr2%,X&(P&),Y&(P&)
      Endif
    Case 2
      ' KLETTERPFLANZE  TEIL 1
      Zahlm&(P&)=Zahlm&(P&)+1
      If Zahlm&(P&)>3
        If Zahlm&(P&)<8
          Add Gz&(P&),8
        Else if Zahlm&(P&)<10
          C|(Cx&-15+(X&(P&)-1)/40+1,(Y&(P&)-Gz&(P&))/40)=100
          Add Gz&(P&),7
        Endif
      Endif
      If Y&>0
        Put A&,Y&,Back$
      Endif
      If Zahlm&(P&)<8
        Put X&(P&),Y&(P&)-Gz&(P&),Auftauch$(Zahlm&(P&))
        Rc_copy Scr1%,X&(P&),Y&(P&)-Gz&(P&),40,40 To Scr2%,X&(P&),Y&(P&)-Gz&(P&)
      Else if Zahlm&(P&)<10
        Put X&(P&),Y&(P&)-Gz&(P&),Wachs1$(Zahlm&(P&)-8)
        Rc_copy Scr1%,X&(P&),Y&(P&)-Gz&(P&),40,40 To Scr2%,X&(P&),Y&(P&)-Gz&(P&)
      Endif
      If Y&>0
        Get A&,Y&,A&+39,Y&+63,Back$
      Endif
      If Zahlm&(P&)=10
        C|(Cx&-15+(X&(P&)-1)/40+1,(Y&(P&)-Gz&(P&))/40)=100
        Add Gz&(P&),8
        R&(P&)=3
        Zahlm&(P&)=0
      Endif
    Case 3
      Add Gz&(P&),10
      If Y&>0
        Put A&,Y&,Back$
      Endif
      Put X&(P&),Y&(P&)-Gz&(P&),Wachs2$(Zahlm&(P&))
      If Y&>0
        Get A&,Y&,A&+39,Y&+63,Back$
      Endif
      Rc_copy Scr1%,X&(P&),Y&(P&)-Gz&(P&),40,80 To Scr2%,X&(P&),Y&(P&)-Gz&(P&)
      Zahlm&(P&)=(Zahlm&(P&)+1) Mod 8
      C|(Cx&-15+(X&(P&)-1)/40+1,(Y&(P&)-Gz&(P&))/40)=100
      If Y&(P&)-Gz&(P&)<=52
        Add Gz&(P&),3
        R&(P&)=4
        Zahlm&(P&)=0
      Endif
    Case 4
      ' Erscheinen der Bl"+Chr$(129)+"te
      If Y&>0
        Put A&,Y&,Back$
      Endif
      Put X&(P&),Y&(P&)-Gz&(P&),Bluete$(Zahlm&(P&)/2)
      If Y&>0
        Get A&,Y&,A&+39,Y&+63,Back$
      Endif
      Rc_copy Scr1%,X&(P&),Y&(P&)-Gz&(P&),40,20 To Scr2%,X&(P&),Y&(P&)-Gz&(P&)
      Inc Zahlm&(P&)
      If Zahlm&(P&)=17
        Monstertyp&(P&)=0
      Endif
    Endselect
  Else
    Monstertyp&(P&)=0
  Endif
Return
Procedure Main_ball
  ' Steuerung dieses Monsters!
  If X&(P&)<9
    Monstertyp&(P&)=0
    If X&(P&)>-1 And Y&<361
      Rc_copy Scr1%,X&(P&),Y&(P&),40,40 To Scr2%,X&(P&),Y&(P&)
    Endif
    Goto Weiter1
  Endif
  Select R&(P&)
    '                3 * 1
    '                  2
  Case 1
    If X&(P&) Mod (40)=0
      If C|(Cx&-15+X&(P&)/40,Y&(P&)/40+1)=0
        R&(P&)=2
        Goto Weiter3
      Endif
      If C|(Cx&-15+X&(P&)/40+1,Y&(P&)/40)>0
        R&(P&)=3
        Goto Weiter3
      Endif
    Else if X&(P&)=592
      R&(P&)=3
      Goto Weiter3
    Endif
    X&(P&)=X&(P&)+8
    Weiter3:
    Gz&(P&)=(Gz&(P&)+3) Mod 4
    Get X&(P&),Y&(P&),X&(P&)+39,Y&(P&)+39,Bachm$
    Put X&(P&),Y&(P&),Ballm$,4
    Put X&(P&),Y&(P&),Ball$(Gz&(P&)),7
    Rc_copy Scr1%,X&(P&)-8,Y&(P&),48,40 To Scr2%,X&(P&)-8,Y&(P&)
  Case 2
    Y&(P&)=Y&(P&)+8
    If Y&(P&)=360
      Monstertyp&(P&)=0
      Rc_copy Scr1%,X&(P&),Y&(P&)-8,40,40 To Scr2%,X&(P&),Y&(P&)-8
      Goto Weiter1
    Endif
    If Y&(P&) Mod (40)=0
      If C|(Cx&-15+X&(P&)/40,Y&(P&)/40+1)>0
        R&(P&)=3
      Endif
    Endif
    Gz&(P&)=(Gz&(P&)+3) Mod 4
    Get X&(P&),Y&(P&),X&(P&)+39,Y&(P&)+39,Bachm$
    Put X&(P&),Y&(P&),Ballm$,4
    Put X&(P&),Y&(P&),Ball$(Gz&(P&)),7
    Rc_copy Scr1%,X&(P&),Y&(P&)-8,40,48 To Scr2%,X&(P&),Y&(P&)-8
  Case 3
    If X&(P&) Mod (40)=0
      If C|(Cx&-15+X&(P&)/40,Y&(P&)/40+1)=0
        R&(P&)=2
        Goto Weiter2
      Endif
      If C|(Cx&-15+(X&(P&))/40-1,Y&(P&)/40)>0
        R&(P&)=1
        Goto Weiter2
      Endif
    Endif
    X&(P&)=X&(P&)-8
    Weiter2:
    Gz&(P&)=(Gz&(P&)+1) Mod 4
    Get X&(P&),Y&(P&),X&(P&)+39,Y&(P&)+39,Bachm$
    Put X&(P&),Y&(P&),Ballm$,4
    Put X&(P&),Y&(P&),Ball$(Gz&(P&)),7
    Rc_copy Scr1%,X&(P&),Y&(P&),48,40 To Scr2%,X&(P&),Y&(P&)
  Default
    Goto Weiter1
  Endselect
  Put X&(P&),Y&(P&),Bachm$
  Weiter1:
Return
Procedure Main_krote
  ' Steuerung dieses Monsters!
  If X&(P&)<5
    Monstertyp&(P&)=0
    If X&(P&)>-1
      Rc_copy Scr1%,X&(P&),Y&(P&),40,20 To Scr2%,X&(P&),Y&(P&)
    Endif
    Goto Weiterk1
  Endif
  Select R&(P&)
  Case 1
    If X&(P&) Mod (40)=0
      If C|(Cx&-15+X&(P&)/40+1,Y&(P&)/40+1)=0 Or C|(Cx&-15+X&(P&)/40+1,Y&(P&)/40)>7
        R&(P&)=2
        Goto Weiterk3
      Endif
    Else if X&(P&)=596
      R&(P&)=2
      Goto Weiterk3
    Endif
    X&(P&)=X&(P&)+4
    Weiterk3:
    Gz&(P&)=(Gz&(P&)+1) Mod 16
    Get X&(P&),Y&(P&),X&(P&)+39,Y&(P&)+19,Bachm$
    Put X&(P&),Y&(P&),Krotem$(1,Gz&(P&)/8),4
    Put X&(P&),Y&(P&),Krote$(1,Gz&(P&)/8),7
    Rc_copy Scr1%,X&(P&)-4,Y&(P&),44,20 To Scr2%,X&(P&)-4,Y&(P&)
  Case 2
    If X&(P&) Mod (40)=0
      If C|(Cx&-15+X&(P&)/40-1,Y&(P&)/40+1)=0 Or C|(Cx&-15+(X&(P&))/40-1,Y&(P&)/40)>7
        R&(P&)=1
        Goto Weiterk2
      Endif
    Endif
    X&(P&)=X&(P&)-4
    Weiterk2:
    Gz&(P&)=(Gz&(P&)+1) Mod 16
    Get X&(P&),Y&(P&),X&(P&)+39,Y&(P&)+19,Bachm$
    Put X&(P&),Y&(P&),Krotem$(0,Gz&(P&)/8),4
    Put X&(P&),Y&(P&),Krote$(0,Gz&(P&)/8),7
    Rc_copy Scr1%,X&(P&),Y&(P&),44,20 To Scr2%,X&(P&),Y&(P&)
  Default
    Goto Weiterk1
  Endselect
  Put X&(P&),Y&(P&),Bachm$
  Weiterk1:
Return
Procedure Wabbel
  ' Steuerung dieses Monsters!
  If X&(P&)<6
    Monstertyp&(P&)=0
    If X&(P&)>-1
      Rc_copy Scr1%,X&(P&),Y&(P&),40,25 To Scr2%,X&(P&),Y&(P&)
    Endif
    Goto Weiterka1
  Endif
  Select R&(P&)
  Case 1
    If X&(P&) Mod (40)=0
      If C|(Cx&-15+X&(P&)/40+1,Y&(P&)/40+1)=0 Or C|(Cx&-15+X&(P&)/40+1,Y&(P&)/40)>7
        R&(P&)=2
        Goto Weiterka3
      Endif
    Else if X&(P&)=595
      R&(P&)=2
      Goto Weiterka3
    Endif
    X&(P&)=X&(P&)+5
    Weiterka3:
    Gz&(P&)=(Gz&(P&)+1) Mod 4
    Get X&(P&),Y&(P&),X&(P&)+39,Y&(P&)+20,Bacm$
    Put X&(P&),Y&(P&),Wabbelm$(Gz&(P&)),4
    Put X&(P&),Y&(P&),Wabbel$(Gz&(P&)),7
    Rc_copy Scr1%,X&(P&)-5,Y&(P&),45,21 To Scr2%,X&(P&)-5,Y&(P&)
  Case 2
    If X&(P&) Mod (40)=0
      If C|(Cx&-15+X&(P&)/40-1,Y&(P&)/40+1)=0 Or C|(Cx&-15+(X&(P&))/40-1,Y&(P&)/40)>7
        R&(P&)=1
        Goto Weiterka2
      Endif
    Endif
    X&(P&)=X&(P&)-5
    Weiterka2:
    Gz&(P&)=(Gz&(P&)+1) Mod 4
    Get X&(P&),Y&(P&),X&(P&)+39,Y&(P&)+20,Bacm$
    Put X&(P&),Y&(P&),Wabbelm$(Gz&(P&)),4
    Put X&(P&),Y&(P&),Wabbel$(Gz&(P&)),7
    Rc_copy Scr1%,X&(P&),Y&(P&),45,21 To Scr2%,X&(P&),Y&(P&)
  Default
    Goto Weiterka1
  Endselect
  Put X&(P&),Y&(P&),Bacm$
  Weiterka1:
Return
Procedure Masse
  ' Steuerung dieses Monsters!
  '                                1  2  3
  '                                4  *  5
  '                                6  7  8
  Gz&(P&)=(Gz&(P&)+1) Mod 36
  If Gz&(P&)=0
    R&(P&)=Random(8)+1
    For Imasse&=0 To 6
      Select R&(P&)
      Case 1
        If C|(Cx&-15+X&(P&)/40-1,Y&(P&)/40-1)>0
          R&(P&)=2
        Else
          Exit if 0=0
        Endif
      Case 2
        If C|(Cx&-15+X&(P&)/40,Y&(P&)/40-1)>0
          R&(P&)=3
        Else
          Exit if 0=0
        Endif
      Case 3
        If C|(Cx&-15+X&(P&)/40+1,Y&(P&)/40-1)>0 Or X&(P&)=600
          R&(P&)=4
        Else
          Exit if 0=0
        Endif
      Case 4
        If C|(Cx&-15+X&(P&)/40-1,Y&(P&)/40)>0
          R&(P&)=5
        Else
          Exit if 0=0
        Endif
      Case 5
        If C|(Cx&-15+X&(P&)/40+1,Y&(P&)/40)>0 Or X&(P&)=600
          R&(P&)=6
        Else
          Exit if 0=0
        Endif
      Case 6
        If C|(Cx&-15+X&(P&)/40-1,Y&(P&)/40+1)>0
          R&(P&)=7
        Else
          Exit if 0=0
        Endif
      Case 7
        If C|(Cx&-15+X&(P&)/40,Y&(P&)/40+1)>0
          R&(P&)=8
        Else
          Exit if 0=0
        Endif
      Case 8
        If C|(Cx&-15+X&(P&)/40+1,Y&(P&)/40+1)>0 Or X&(P&)=600
          R&(P&)=1
        Else
          Exit if 0=0
        Endif
      Endselect
    Next Imasse&
    Select R&(P&)
    Case 1
      Sub X&(P&),40
      Sub Y&(P&),40
    Case 2
      Sub Y&(P&),40
    Case 3
      Add X&(P&),40
      Sub Y&(P&),40
    Case 4
      Sub X&(P&),40
    Case 5
      Add X&(P&),40
    Case 6
      Sub X&(P&),40
      Add Y&(P&),40
    Case 7
      Add Y&(P&),40
    Case 8
      Add X&(P&),40
      Add Y&(P&),40
    Endselect
  Endif
  If X&(P&)>=0 And X&(P&)<=600 And Y&(P&)>=40 And Y&(P&)<=360
    Put X&(P&),Y&(P&),Masse$(Gz&(P&) Mod 4)
    C|(Cx&-15+X&(P&)/40,Y&(P&)/40)=17
    Rc_copy Scr1%,X&(P&),Y&(P&),40,40 To Scr2%,X&(P&),Y&(P&)
  Else
    Monstertyp&(P&)=0
  Endif
Return
Procedure Auge
  ' Steuerung dieses Monsters!
  '         1   2
  '           *
  '         3 5 4
  Gz&(P&)=(Gz&(P&)+1) Mod 4
  If Gz&=0
    If X&(P&)=610
      Select R&(P&)
      Case 2
        R&(P&)=1
      Case 4
        R&(P&)=3
      Endselect
    Endif
  Endif
  If X&(P&)>=20 And Y&(P&)<360
    Select R&(P&)
    Case 5
      Add Y&(P&),10
      Get X&(P&),Y&(P&),X&(P&)+19,Y&(P&)+39,Bachm$
      Put X&(P&),Y&(P&),Augem$(0),4
      Put X&(P&),Y&(P&),Auge$(0,Gz&(P&)),7
      Rc_copy Scr1%,X&(P&),Y&(P&)-10,20,50 To Scr2%,X&(P&),Y&(P&)-10
      Put X&(P&),Y&(P&),Bachm$
      If Y&(P&) Mod 40=0 And Y&(P&)<360
        If C|(Cx&-15+X&(P&)/40,Y&(P&)/40+1)>0
          R&(P&)=2
        Endif
      Endif
    Case 4
      Add Y&(P&),10
      Add X&(P&),10
      Get X&(P&),Y&(P&),X&(P&)+19,Y&(P&)+39,Bachm$
      Put X&(P&),Y&(P&),Augem$(Gz&(P&)),4
      Put X&(P&),Y&(P&),Auge$(1,Gz&(P&)),7
      Rc_copy Scr1%,X&(P&)-10,Y&(P&)-10,30,50 To Scr2%,X&(P&)-10,Y&(P&)-10
      Put X&(P&),Y&(P&),Bachm$
      If Y&(P&) Mod 40=0 And Y&(P&)<360
        If C|(Cx&-15+X&(P&)/40,Y&(P&)/40+1)=0
          R&(P&)=5
        Else if C|(Cx&-15+X&(P&)/40+1,Y&(P&)/40-1)>0
          R&(P&)=1
        Else
          R&(P&)=2
        Endif
      Endif
    Case 3
      Add Y&(P&),10
      Sub X&(P&),10
      Get X&(P&),Y&(P&),X&(P&)+19,Y&(P&)+39,Bachm$
      Put X&(P&),Y&(P&),Augem$(Gz&(P&)),4
      Put X&(P&),Y&(P&),Auge$(1,Gz&(P&)),7
      Rc_copy Scr1%,X&(P&),Y&(P&)-10,30,50 To Scr2%,X&(P&),Y&(P&)-10
      Put X&(P&),Y&(P&),Bachm$
      If Y&(P&) Mod 40=0 And Y&(P&)<360
        If C|(Cx&-15+X&(P&)/40,Y&(P&)/40+1)=0
          R&(P&)=5
        Else if C|(Cx&-15+X&(P&)/40-1,Y&(P&)/40-1)>0
          R&(P&)=2
        Else
          R&(P&)=1
        Endif
      Endif
    Case 2
      Sub Y&(P&),10
      Add X&(P&),10
      Get X&(P&),Y&(P&),X&(P&)+19,Y&(P&)+39,Bachm$
      Put X&(P&),Y&(P&),Augem$(Gz&(P&)),4
      Put X&(P&),Y&(P&),Auge$(1,Gz&(P&)),7
      Rc_copy Scr1%,X&(P&)-10,Y&(P&),30,50 To Scr2%,X&(P&)-10,Y&(P&)
      Put X&(P&),Y&(P&),Bachm$
      If Y&(P&) Mod 40=0 And Y&(P&)<360
        If C|(Cx&-15+X&(P&)/40,Y&(P&)/40+1)=0
          R&(P&)=4
          If C|(Cx&-15+X&(P&)/40+1,Y&(P&)/40)>0
            R&(P&)=3
          Endif
        Else if C|(Cx&-15+X&(P&)/40+1,Y&(P&)/40-1)>0
          R&(P&)=1
        Endif
      Endif
    Case 1
      Sub Y&(P&),10
      Sub X&(P&),10
      Get X&(P&),Y&(P&),X&(P&)+19,Y&(P&)+39,Bachm$
      Put X&(P&),Y&(P&),Augem$(Gz&(P&)),4
      Put X&(P&),Y&(P&),Auge$(1,Gz&(P&)),7
      Rc_copy Scr1%,X&(P&),Y&(P&),30,50 To Scr2%,X&(P&),Y&(P&)
      Put X&(P&),Y&(P&),Bachm$
      If Y&(P&) Mod 40=0 And Y&(P&)<360
        If C|(Cx&-15+X&(P&)/40,Y&(P&)/40+1)=0
          R&(P&)=3
          If C|(Cx&-15+X&(P&)/40-1,Y&(P&)/40)>0
            R&(P&)=4
          Endif
        Else if C|(Cx&-15+X&(P&)/40-1,Y&(P&)/40-1)>0
          R&(P&)=2
        Endif
      Endif
    Endselect
  Else
    Monstertyp&(P&)=0
    If X&(P&)>0 And Y&(P&)<361
      Rc_copy Scr1%,X&(P&),Y&(P&),20,40 To Scr2%,X&(P&),Y&(P&)
    Endif
  Endif
Return
Procedure Purzel
  ' Steuerung dieses Monsters!
  If X&(P&)<9 Or Y&(P&)>351
    Monstertyp&(P&)=0
    If X&(P&)>-1 And Y&(P&)<361
      Rc_copy Scr1%,X&(P&),Y&(P&),40,40 To Scr2%,X&(P&),Y&(P&)
    Endif
    Goto Weiter1
  Endif
  Select R&(P&)
    '                3 * 1
    '                  2
  Case 1
    If X&(P&) Mod (40)=0
      If C|(Cx&-15+X&(P&)/40,Y&(P&)/40+1)=0
        R&(P&)=2
        Goto Weit3
      Endif
      If C|(Cx&-15+X&(P&)/40+1,Y&(P&)/40)>0
        R&(P&)=3
        Goto Weit3
      Endif
    Else if X&(P&)=592
      R&(P&)=3
      Goto Weit3
    Endif
    X&(P&)=X&(P&)+8
    Weit3:
    Gz&(P&)=(Gz&(P&)+3) Mod 4
    Get X&(P&),Y&(P&),X&(P&)+39,Y&(P&)+39,Bachm$
    Put X&(P&),Y&(P&),Purzelm$(Gz&(P&)),4
    Put X&(P&),Y&(P&),Purzel$(Gz&(P&)),7
    Rc_copy Scr1%,X&(P&)-8,Y&(P&),48,40 To Scr2%,X&(P&)-8,Y&(P&)
  Case 2
    Y&(P&)=Y&(P&)+8
    If Y&(P&) Mod (40)=0
      If C|(Cx&-15+X&(P&)/40,Y&(P&)/40+1)>0
        R&(P&)=3
      Endif
    Endif
    Gz&(P&)=(Gz&(P&)+1) Mod 4
    Get X&(P&),Y&(P&),X&(P&)+39,Y&(P&)+39,Bachm$
    Put X&(P&),Y&(P&),Purzelm$(Gz&(P&)),4
    Put X&(P&),Y&(P&),Purzel$(Gz&(P&)),7
    Rc_copy Scr1%,X&(P&),Y&(P&)-8,40,48 To Scr2%,X&(P&),Y&(P&)-8
  Case 3
    If X&(P&) Mod (40)=0
      If C|(Cx&-15+X&(P&)/40,Y&(P&)/40+1)=0
        R&(P&)=2
        Goto Weit2
      Endif
      If C|(Cx&-15+(X&(P&))/40-1,Y&(P&)/40)>0
        R&(P&)=1
        Goto Weit2
      Endif
    Endif
    X&(P&)=X&(P&)-8
    Weit2:
    Gz&(P&)=(Gz&(P&)+1) Mod 4
    Get X&(P&),Y&(P&),X&(P&)+39,Y&(P&)+39,Bachm$
    Put X&(P&),Y&(P&),Purzelm$(Gz&(P&)),4
    Put X&(P&),Y&(P&),Purzel$(Gz&(P&)),7
    Rc_copy Scr1%,X&(P&),Y&(P&),48,40 To Scr2%,X&(P&),Y&(P&)
  Default
    Goto Weit1
  Endselect
  Put X&(P&),Y&(P&),Bachm$
  Weit1:
Return
Procedure Kreisel
  ' Steuerung dieses Monsters!
  If X&(P&)<1
    Monstertyp&(P&)=0
    If X&(P&)>-1 And Y&(P&)<361
      Rc_copy Scr1%,X&(P&),Y&(P&),20,20 To Scr2%,X&(P&),Y&(P&)
    Endif
  Else
    Gz&(P&)=(Gz&(P&)+1) Mod 32
    Zahlm&(P&)=(Zahlm&(P&)+1) Mod 20
    X&(P&)=X&(P&)+Kreiselx&(Zahlm&(P&))
    Y&(P&)=Y&(P&)+Kreisely&(Zahlm&(P&))
    If X&(P&)<1
      Monstertyp&(P&)=0
      If X&(P&)>-1 And Y&(P&)<361
        Rc_copy Scr1%,X&(P&),Y&(P&),20,20 To Scr2%,X&(P&),Y&(P&)
      Endif
    Else if X&(P&)<621
      Get X&(P&),Y&(P&),X&(P&)+19,Y&(P&)+19,Bachm$
      Put X&(P&),Y&(P&),Kreiselm$,4
      Put X&(P&),Y&(P&),Kreisel$(Gz&(P&) Mod 4),7
      Rc_copy Scr1%,X&(P&)-Kreiselx&(Zahlm&(P&)),Y&(P&)-Kreisely&(Zahlm&(P&)),20,20 To Scr2%,X&(P&)-Kreiselx&(Zahlm&(P&)),Y&(P&)-Kreisely&(Zahlm&(P&))
      Rc_copy Scr1%,X&(P&),Y&(P&),20,20 To Scr2%,X&(P&),Y&(P&)
      Put X&(P&),Y&(P&),Bachm$
    Endif
  Endif
Return
Procedure Schussstein
  ' Steuerung dieses Monsters!
  '                              2
  '                            1 * 4
  '                              3
  Zahlm&(P&)=(Zahlm&(P&)+1) Mod 2
  Select Gz&(P&)
  Case 1
    Sub X&(P&),20
  Case 2
    Sub Y&(P&),20
  Case 3
    Add Y&(P&),20
  Case 4
    Add X&(P&),20
  Endselect
  If X&(P&)<20 Or Y&(P&)<20 Or Y&(P&)>389
    Monstertyp&(P&)=0
    If X&(P&)>5 And Y&(P&)<381 And Y&(P&)>0
      Rc_copy Scr1%,X&(P&),Y&(P&),10,10 To Scr2%,X&(P&),Y&(P&)
    Endif
  Else if X&(P&)<630
    R&(P&)=Gz&(P&)
    Select R&(P&)
    Case 1
      Rc_copy Scr1%,X&(P&)+20,Y&(P&),10,10 To Scr2%,X&(P&)+20,Y&(P&)
    Case 2
      Rc_copy Scr1%,X&(P&),Y&(P&)+20,10,10 To Scr2%,X&(P&),Y&(P&)+20
    Case 3
      Rc_copy Scr1%,X&(P&),Y&(P&)-20,10,10 To Scr2%,X&(P&),Y&(P&)-20
    Case 4
      Rc_copy Scr1%,X&(P&)-20,Y&(P&),10,10 To Scr2%,X&(P&)-20,Y&(P&)
    Endselect
    Get X&(P&),Y&(P&),X&(P&)+9,Y&(P&)+9,Bacm$
    Put X&(P&),Y&(P&),Schuss2m$,4
    Put X&(P&),Y&(P&),Schuss2$,7
    Rc_copy Scr1%,X&(P&),Y&(P&),10,10 To Scr2%,X&(P&),Y&(P&)
    Put X&(P&),Y&(P&),Bacm$
  Endif
  If Zahlm&(P&)=0
    Select Gz&(P&)!  Reflex?
    Case 1
      If C|(Cx&-15+X&(P&)/40,Y&(P&)/40)>0
        If C|(Cx&-15+X&(P&)/40,Y&(P&)/40)=39
          Gz&(P&)=3
        Else if C|(Cx&-15+X&(P&)/40,Y&(P&)/40)=40
          Gz&(P&)=2
        Else
          Gz&(P&)=4
        Endif
      Endif
    Case 2
      If C|(Cx&-15+X&(P&)/40,Y&(P&)/40)>0
        If C|(Cx&-15+X&(P&)/40,Y&(P&)/40)=38
          Gz&(P&)=1
        Else if C|(Cx&-15+X&(P&)/40,Y&(P&)/40)=39
          Gz&(P&)=4
        Else
          Gz&(P&)=3
        Endif
      Endif
    Case 3
      If C|(Cx&-15+X&(P&)/40,Y&(P&)/40)>0
        If C|(Cx&-15+X&(P&)/40,Y&(P&)/40)=40
          Gz&(P&)=4
        Else if C|(Cx&-15+X&(P&)/40,Y&(P&)/40)=41
          Gz&(P&)=1
        Else
          Gz&(P&)=2
        Endif
      Endif
    Case 4
      If C|(Cx&-15+X&(P&)/40,Y&(P&)/40)>0
        If C|(Cx&-15+X&(P&)/40,Y&(P&)/40)=38
          Gz&(P&)=3
        Else if C|(Cx&-15+X&(P&)/40,Y&(P&)/40)=41
          Gz&(P&)=2
        Else
          Gz&(P&)=1
        Endif
      Endif
    Endselect
  Endif
Return
Procedure Gummi
  ' Steuerung dieses Monsters!
  If X&(P&)<0
    Monstertyp&(P&)=0
    If X&(P&)>-1 And Y&(P&)<361
      Rc_copy Scr1%,X&(P&),Y&(P&),40,40 To Scr2%,X&(P&),Y&(P&)
    Endif
  Else
    Zahlm&(P&)=Zahlm&(P&)+2
    If Zahlm&(P&)=24
      Zahlm&(P&)=-22
    Endif
    Gz&(P&)=(Gz&(P&)+1) Mod 4
    Y&(P&)=Y&(P&)+Zahlm&(P&)
    If Y&(P&)>21
      Get X&(P&),Y&(P&),X&(P&)+39,Y&(P&)+39,Bachm$
      Put X&(P&),Y&(P&),Ballm$,4
      Put X&(P&),Y&(P&),Gummi$(Gz&(P&)),7
      Rc_copy Scr1%,X&(P&),Y&(P&)-22,40,84 To Scr2%,X&(P&),Y&(P&)-22
      Put X&(P&),Y&(P&),Bachm$
    Endif
  Endif
Return
Procedure Schwalbe
  ' Steuerung dieses Monsters!
  If X&(P&)<20
    Monstertyp&(P&)=0
    If X&(P&)>-1 And Y&(P&)<361
      Rc_copy Scr1%,X&(P&),Y&(P&),40,20 To Scr2%,X&(P&),Y&(P&)
    Endif
    Goto Schwalbeend
  Endif
  Select R&(P&)
  Case 0
    If X&(P&) Mod (40)=0
      If C|(Cx&-15+X&(P&)/40+1,Y&(P&)/40)>0 Or X&(P&)=600
        R&(P&)=1
      Else
        X&(P&)=X&(P&)+20
      Endif
    Else
      X&(P&)=X&(P&)+20
    Endif
    Get X&(P&),Y&(P&),X&(P&)+39,Y&(P&)+19,Bachm$
    Put X&(P&),Y&(P&),Schwalbem$(1),4
    Put X&(P&),Y&(P&),Schwalbe$(1),7
    Rc_copy Scr1%,X&(P&)-20,Y&(P&),60,20 To Scr2%,X&(P&)-20,Y&(P&)
  Case 1
    If X&(P&) Mod (40)=0
      If C|(Cx&-15+(X&(P&))/40-1,Y&(P&)/40)>0
        R&(P&)=0
      Else
        X&(P&)=X&(P&)-20
      Endif
    Else
      X&(P&)=X&(P&)-20
    Endif
    Get X&(P&),Y&(P&),X&(P&)+39,Y&(P&)+19,Bachm$
    Put X&(P&),Y&(P&),Schwalbem$(0),4
    Put X&(P&),Y&(P&),Schwalbe$(0),7
    Rc_copy Scr1%,X&(P&),Y&(P&),60,20 To Scr2%,X&(P&),Y&(P&)
  Default
    Goto Schwalbeend
  Endselect
  Put X&(P&),Y&(P&),Bachm$
  Schwalbeend:
Return
Procedure Fisch
  ' Steuerung dieses Monsters!
  If X&(P&)<0
    Monstertyp&(P&)=0
    If X&(P&)>-1 And Y&(P&)<361
      Rc_copy Scr1%,X&(P&),Y&(P&),30,40 To Scr2%,X&(P&),Y&(P&)
    Endif
  Else
    Zahlm&(P&)=Zahlm&(P&)+1
    If Zahlm&(P&)>Hohesprung&*2
      Zahlm&(P&)=-Hohesprung&*2+1
    Endif
    If Zahlm&(P&)>0
      Sub Y&(P&),16
      Frh&=0
    Else
      Add Y&(P&),16
      Frh&=1
    Endif
    Gz&(P&)=(Gz&(P&)+1) Mod 4
    Get X&(P&),Y&(P&),X&(P&)+29,Y&(P&)+39,Bachm$
    Put X&(P&),Y&(P&),Fischm$(Frh&),4
    Put X&(P&),Y&(P&),Fisch$(Frh&,Gz&(P&)),7
    If Zahlm&(P&)>0
      Rc_copy Scr1%,X&(P&),Y&(P&),30,56 To Scr2%,X&(P&),Y&(P&)
    Else
      Rc_copy Scr1%,X&(P&),Y&(P&)-16,30,56 To Scr2%,X&(P&),Y&(P&)-16
    Endif
    Put X&(P&),Y&(P&),Bachm$
  Endif
Return
Procedure Stacheln
  ' Steuerung dieses Monsters!
  If X&(P&)<0
    Monstertyp&(P&)=0
  Else
    Gz&(P&)=(Gz&(P&)+1) Mod 14
    Put X&(P&),Y&(P&),Stachel$(Gz&(P&))
    Rc_copy Scr1%,X&(P&),Y&(P&),40,17 To Scr2%,X&(P&),Y&(P&)
  Endif
Return
Procedure Feuer
  ' Steuerung dieses Monsters!
  If X&(P&)<0
    Monstertyp&(P&)=0
  Else
    Gz&(P&)=(Gz&(P&)+1) Mod 4
    Put X&(P&),Y&(P&),Feuer$(Gz&(P&))
    Rc_copy Scr1%,X&(P&),Y&(P&),32,26 To Scr2%,X&(P&),Y&(P&)
  Endif
Return
Procedure Pfeil
  ' Steuerung dieses Monsters!
  If X&(P&)+Gz&(P&)<10
    R&(P&)=0
  Endif
  If X&(P&)<10
    Monstertyp&(P&)=0
    If X&(P&)>-1 And Y&(P&)<361
      Rc_copy Scr1%,X&(P&),Y&(P&),20,5 To Scr2%,X&(P&),Y&(P&)
    Endif
  Else
    Select R&(P&)
    Case 0
      ' warteposituion
      If Y&+63>Y&(P&) And Y&<Y&(P&)+8
        If A&<X&(P&)
          R&(P&)=1
        Endif
      Endif
    Case 1
      ' Fliegt
      If C|(Cx&-15+(X&(P&)+Gz&(P&))/40-1,Y&(P&)/40)=0
        Sub Gz&(P&),10
        Get X&(P&)+Gz&(P&),Y&(P&),X&(P&)+Gz&(P&)+15,Y&(P&)+8,Bachm$
        Put X&(P&)+Gz&(P&),Y&(P&),Pfeilm$((X&(P&)+Gz&(P&)/40) Mod 2),4
        Put X&(P&)+Gz&(P&),Y&(P&),Pfeil$((X&(P&)+Gz&(P&)/40) Mod 2),7
        Rc_copy Scr1%,X&(P&)+Gz&(P&),Y&(P&),26,9 To Scr2%,X&(P&)+Gz&(P&),Y&(P&)
        Put X&(P&)+Gz&(P&),Y&(P&),Bachm$
      Else
        R&(P&)=0
        Rc_copy Scr1%,X&(P&)+Gz&(P&),Y&(P&),16,9 To Scr2%,X&(P&)+Gz&(P&),Y&(P&)
        Gz&(P&)=0
      Endif
    Endselect
  Endif
Return
Procedure Bombe
  ' Steuerung dieses Monsters!
  If Gz&>X&(P&)
    Sub Gz&(P&),40
  Endif
  If X&(P&)<0
    Monstertyp&(P&)=0
    If X&(P&)>-1 And Y&(P&)<361
      Rc_copy Scr1%,X&(P&),Y&(P&),5,20 To Scr2%,X&(P&),Y&(P&)
    Endif
  Else
    Select Zahlm&(P&)
    Case 0
      ' warteposituion
      If A&+60>X&(P&)
        If A&<X&(P&)+28
          Zahlm&(P&)=1
        Endif
      Endif
    Case 1
      ' f"+Chr$(132)+"llt
      If C|(Cx&-15+(X&(P&)+1)/40,Y&(P&)/40+1)=0
        Add Y&(P&),10
        Get X&(P&),Y&(P&),X&(P&)+8,Y&(P&)+15,Bachm$
        Put X&(P&),Y&(P&),Bombem$((Y&(P&)/40) Mod 2),4
        Put X&(P&),Y&(P&),Bombe$((Y&(P&)/40) Mod 2),7
        Rc_copy Scr1%,X&(P&),Y&(P&)-10,9,26 To Scr2%,X&(P&),Y&(P&)-10
        Put X&(P&),Y&(P&),Bachm$
      Else
        Zahlm&(P&)=0
        Rc_copy Scr1%,X&(P&),Y&(P&),9,16 To Scr2%,X&(P&),Y&(P&)
        Y&(P&)=R&(P&)
      Endif
    Endselect
  Endif
Return
Procedure Qualle
  ' Steuerung dieses Monsters!
  If X&(P&)<8
    Monstertyp&(P&)=0
    If X&(P&)>-1 And Y&(P&)<361
      Rc_copy Scr1%,X&(P&),Y&(P&),40,20 To Scr2%,X&(P&),Y&(P&)
    Endif
    Goto Weiterq1
  Endif
  Select R&(P&)
  Case 1
    If X&(P&) Mod (40)=0
      If C|(Cx&-15+X&(P&)/40+1,Y&(P&)/40+1)=0 Or C|(Cx&-15+X&(P&)/40+1,Y&(P&)/40)>7
        R&(P&)=2
        Goto Weiterq3
      Endif
    Else if X&(P&)>591
      R&(P&)=2
      Goto Weiterq3
    Endif
    X&(P&)=X&(P&)+8
    Weiterq3:
    Gz&(P&)=(Gz&(P&)+1) Mod 5
    Get X&(P&),Y&(P&),X&(P&)+39,Y&(P&)+15,Bachm$
    Put X&(P&),Y&(P&),Quallem$(Gz&(P&)),4
    Put X&(P&),Y&(P&),Qualle$(Gz&(P&)),7
    Rc_copy Scr1%,X&(P&)-8,Y&(P&),48,16 To Scr2%,X&(P&)-8,Y&(P&)
  Case 2
    If X&(P&) Mod (40)=0
      If C|(Cx&-15+X&(P&)/40-1,Y&(P&)/40+1)=0 Or C|(Cx&-15+(X&(P&))/40-1,Y&(P&)/40)>7
        R&(P&)=1
        Goto Weiterq2
      Endif
    Endif
    X&(P&)=X&(P&)-8
    Weiterq2:
    Gz&(P&)=(Gz&(P&)+1) Mod 5
    Get X&(P&),Y&(P&),X&(P&)+39,Y&(P&)+15,Bachm$
    Put X&(P&),Y&(P&),Quallem$(Gz&(P&)),4
    Put X&(P&),Y&(P&),Qualle$(Gz&(P&)),7
    Rc_copy Scr1%,X&(P&),Y&(P&),48,16 To Scr2%,X&(P&),Y&(P&)
  Default
    Goto Weiterq1
  Endselect
  Put X&(P&),Y&(P&),Bachm$
  Weiterq1:
Return
Procedure Schwalbe_mit_sturzflug
  ' Steuerung dieses Monsters!
  '                    1 * 4
  '                    2   3
  If X&(P&)<20
    Monstertyp&(P&)=0
    If X&(P&)>-1 And Y&(P&)<361
      Rc_copy Scr1%,X&(P&),Y&(P&),40,40 To Scr2%,X&(P&),Y&(P&)
    Endif
  Else
    Select R&(P&)
    Case 1
      If C|(Cx&-15+X&(P&)/40-1,Y&(P&)/40)>0
        R&(P&)=4
      Else
        Sub X&(P&),15
      Endif
      If Y&(P&)<Y&
        If X&(P&)<A&
          R&(P&)=3
        Else if X&(P&)>A&
          R&(P&)=2
        Endif
      Endif
      Get X&(P&),Y&(P&),X&(P&)+39,Y&(P&)+19,Backm$
      Put X&(P&),Y&(P&),Schwalbem$(0),4
      Put X&(P&),Y&(P&),Schwalbe$(0),7
      Rc_copy Scr1%,X&(P&),Y&(P&),55,40 To Scr2%,X&(P&),Y&(P&)
      Put X&(P&),Y&(P&),Backm$
    Case 2
      If C|(Cx&-15+(X&(P&))/40-1,Y&(P&)/40)>0
        R&(P&)=4
      Else
        Add Y&(P&),15
        Sub X&(P&),15
      Endif
      If Y&(P&)<Y&
        If X&(P&)<A&
          R&(P&)=3
        Else if X&(P&)>A&
          R&(P&)=2
        Endif
      Else
        R&(P&)=1
      Endif
      Get X&(P&),Y&(P&),X&(P&)+39,Y&(P&)+39,Backm$
      Put X&(P&),Y&(P&),Schwalbesm$(0),4
      Put X&(P&),Y&(P&),Schwalbes$(0),7
      Rc_copy Scr1%,X&(P&),Y&(P&)-15,55,55 To Scr2%,X&(P&),Y&(P&)-15
      Put X&(P&),Y&(P&),Backm$
    Case 3
      If C|(Cx&-15+(X&(P&))/40+1,Y&(P&)/40)>0
        R&(P&)=1
      Else
        Add Y&(P&),15
        Add X&(P&),15
      Endif
      If Y&(P&)<Y&
        If X&(P&)<A&
          R&(P&)=3
        Else if X&(P&)>A&
          R&(P&)=2
        Endif
      Else
        R&(P&)=4
      Endif
      Get X&(P&),Y&(P&),X&(P&)+39,Y&(P&)+39,Backm$
      Put X&(P&),Y&(P&),Schwalbesm$(1),4
      Put X&(P&),Y&(P&),Schwalbes$(1),7
      Rc_copy Scr1%,X&(P&),Y&(P&),55,55 To Scr2%,X&(P&),Y&(P&)
      Put X&(P&),Y&(P&),Backm$
    Case 4
      If C|(Cx&-15+(X&(P&))/40+1,Y&(P&)/40)>0
        R&(P&)=1
      Else if X&(P&)>560
        R&(P&)=1
      Else
        Add X&(P&),15
      Endif
      If Y&(P&)<Y&
        If X&(P&)<A&
          R&(P&)=3
        Else if X&(P&)>A&
          R&(P&)=2
        Endif
      Endif
      Get X&(P&),Y&(P&),X&(P&)+39,Y&(P&)+19,Backm$
      Put X&(P&),Y&(P&),Schwalbem$(1),4
      Put X&(P&),Y&(P&),Schwalbe$(1),7
      Rc_copy Scr1%,X&(P&)-15,Y&(P&),55,40 To Scr2%,X&(P&)-15,Y&(P&)
      Put X&(P&),Y&(P&),Backm$
    Endselect
  Endif
Return
Procedure Platform
  ' Steuerung dieses Monsters!
  Zahlm&(P&)=(Zahlm&(P&)+1) Mod 7
  C|(Cx&-15+X&(P&)/40,Y&(P&)/40)=8          !Vorderer Teil begehbar machen
  C|(Cx&-15+X&(P&)/40+1,Y&(P&)/40)=8        !Hinterer Teil begehbar machen
  Select R&(P&)
  Case 1                                  !Die Plattform bewegt sich nach lings!
    '
    If X&(P&)>-1 And X&(P&)<561           !Ist die Plattform im Sichtbereich?
      '                                   !Wenn Ja
      Get X&(P&),Y&(P&),X&(P&)+79,Y&(P&)+19,Backm$  !Dann Hintergrund retten
      Put X&(P&),Y&(P&),Blatform$                   !Dann Plattform zeichnen
      Rc_copy Scr1%,X&(P&),Y&(P&),120,20 To Scr2%,X&(P&),Y&(P&)
      Put X&(P&),Y&(P&),Backm$                      !Dann Hintergrund Zeichnen
    Endif                                   !**********************************
    If Zahlm&(P&)=0
      If Gz&(P&)=0                          !Hat die Plattform gerade gewendet?
        C|(Cx&-15+X&(P&)/40+2,Y&(P&)/40)=0  !Wenn Nein,dann rechts weg
      Else
        C|(Cx&-15+X&(P&)/40-1,Y&(P&)/40)=0  !Wenn Ja,dann lings weg
        Gz&(P&)=0                           !Es wird gerade nicht gewendet!
      Endif                                 !**********************************
      If C|(Cx&-15+X&(P&)/40-1,Y&(P&)/40)>0 !St"+Chr$(148)+""+Chr$(158)+"t sie gegen etwas?
        Gz&(P&)=1                           !Es wird gewendet werden
        R&(P&)=2                            !Wenn Ja,dann wenden
      Else
        Sub X&(P&),40                       !Wenn Nein,Dann weiter nach lings
      Endif                                 !**********************************
    Endif
  Case 2                                  !Die Platform bewegt sich nach rechts!
    '
    If X&(P&)>39 And X&(P&)<600             !Ist die Platform im Sichtbereich?
      '                                     !Wenn Ja
      Get X&(P&),Y&(P&),X&(P&)+79,Y&(P&)+19,Backm$  !Dann Hintergrund retten
      Put X&(P&),Y&(P&),Blatform$                   !Dann Platform zeichnen
      Rc_copy Scr1%,X&(P&)-40,Y&(P&),120,20 To Scr2%,X&(P&)-40,Y&(P&)
      Put X&(P&),Y&(P&),Backm$                      !Dann Hintergrund Zeichnen
    Endif                                   !**********************************
    If Zahlm&(P&)=0
      If Gz&(P&)=0                          !Hat die Platform gerade gewendet?
        C|(Cx&-15+X&(P&)/40-1,Y&(P&)/40)=0  !Wenn Nein,dann lings weg
      Else
        C|(Cx&-15+X&(P&)/40+2,Y&(P&)/40)=0  !Wenn Ja,dann rechts weg
        Gz&(P&)=0                           !Es wird gerade nicht gewendet!
      Endif                                 !**********************************
      If C|(Cx&-15+X&(P&)/40+2,Y&(P&)/40)>0 Or X&(P&)>540!St"+Chr$(148)+""+Chr$(158)+"t sie gegen etwas?
        Gz&(P&)=2                           !Es wird gewendet werden
        R&(P&)=1                            !Wenn Ja,dann wenden
      Else
        Add X&(P&),40                       !Wenn Nein,dann weiter nach rechts
      Endif                                 !**********************************
    Endif
  Endselect
Return
Procedure Tod_oder_nicht
  ' In dieser Procedure wird gepr"+Chr$(129)+"ft, ob ein Monster dich ber"+Chr$(129)+"hrt und damit t"+Chr$(148)+"tet
  For Tod&=0 To 5
    If Monstertyp&(Tod&)>0
      Select Monstertyp&(Tod&)
      Case 111,96
        Mb&=0
      Case 112
        Mb&=15
        Mh&=8
      Case 113
        Mb&=0
        If Y&+63>Y&(Tod&)
          If Y&<Y&(Tod&)+Mh&
            If A&=>X&(Tod&)+Gz&(Tod&) And A&<X&(Tod&)+Gz&(Tod&)+Mb& Or A&=<X&(Tod&)+Gz&(Tod&)+Mb& And A&+40>X&(Tod&)+Gz&(Tod&)
              @Monsterauflosen
              Monstertyp&(Tod&)=0
              Dec Lebem|(Akt&)
              If Lebem|(Akt&)<4 Or Lebem|(Akt&)>100
                @Figur_selection
              Endif
            Endif
          Endif
        Endif
      Case 94
        Mb&=19
        Mh&=19
      Case 95
        Mb&=9
        Mh&=9
      Case 100,104,98
        Mb&=39
        Mh&=19
      Case 96 To 99,105
        Mb&=39
        Mh&=39
      Case 101,102
        Mb&=29
        Mh&=39
      Case 103
        Mb&=39
        Mh&=15
      Case 106
        Mb&=19
        Mh&=39
      Case 107
        Mb&=39
        Mh&=17
      Case 109
        Mb&=31
        Mh&=25
      Case 114
        Mb&=30
        Mh&=20
      Case 115
        Mb&=0
        If R&(Tod&)=0
          If Gz&(Tod&)>0
            If Y&+63>Y&(Tod&)-Gz&(Tod&)
              If Y&<Y&(Tod&)
                If A&=>X&(Tod&)+8 And A&<X&(Tod&)+32 Or A&=<X&(Tod&)+32 And A&+40>X&(Tod&)+8
                  Monstertyp&(Tod&)=0
                  Dec Lebem|(Akt&)
                  If Lebem|(Akt&)<4 Or Lebem|(Akt&)>100
                    @Figur_selection
                  Endif
                Endif
              Endif
            Endif
          Endif
        Endif
      Endselect
      If Mb&>0
        If Y&+63>Y&(Tod&)
          If Y&<Y&(Tod&)+Mh&
            If A&=>X&(Tod&) And A&<X&(Tod&)+Mb& Or A&=<X&(Tod&)+Mb& And A&+40>X&(Tod&)
              @Monsterauflosen
              Monstertyp&(Tod&)=0
              Dec Lebem|(Akt&)
              If Lebem|(Akt&)<4 Or Lebem|(Akt&)>100
                @Figur_selection
              Endif
            Endif
          Endif
        Endif
      Endif
    Endif
  Next Tod&
Return
Procedure Abfrage_2
  ' In dieser Procedure wird gepr"+Chr$(129)+"ft, ob ein Monster erschossen wurde!
  If Strig(1)=-1 And Schussr&=0 And Y&>7
    Schussx&=Int(A&/8)*8+40
    If Ri&=4
      Schussx&=Int(A&/8)*8-8
    Endif
    Schussh&=1
    Schussy&=Int(Y&/8)*8+40
    Schussr&=Ri&
  Endif
  If Schussx&<2
    Schuss_weg
  Endif
  If Schussr&>0
    For Tod&=0 To 5
      Select Monstertyp&(Tod&)
      Case 98
        Mb&=40
        Mh&=40
        Mp&=49
      Case 99
        Mb&=40
        Mh&=40
        Mp&=98
      Case 94
        Mb&=20
        Mh&=20
        Mp&=49*7
      Case 100
        Mb&=40
        Mh&=20
        Mp&=28
      Default
        Mh&=0
      Endselect
      If Mh&>0
        If Schussy&+1>Y&(Tod&) And Schussy&+1<Y&(Tod&)+Mh&
          If Schussx&+1>X&(Tod&) And Schussx&+1<X&(Tod&)+Mb&
            @Monsterauflosen
            Monstertyp&(Tod&)=0
            Schuss_weg
            Add Punkte%,Mp&
            Aktanzeigen
          Endif
        Endif
      Endif
    Next Tod&
  Endif
  @Schussreflect
Return
Procedure Schussreflect
  ' In dieser Procedure werden die Reflektionen des Schusses an den Steinen
  ' gesteuert
  If Schussr&>0
    If Schussy&>=384 Or Schussx&>=624 Or Schussx&<=8 Or Schussy&<=8
      @Schuss_weg
    Endif
  Endif
  Select Schussr&
    '  1   2
    '    z
    '  4   3
  Case 1
    If C|(Cx&-15+(Schussx&)/40,Schussy&/40-0.2)>0
      Schussr&=4
      If C|(Cx&-15+(Schussx&)/40,Schussy&/40-0.2)=35
        @Schuss_weg
      Endif
    Else if C|(Cx&-15+(Schussx&)/40-0.2,Schussy&/40)>0
      Schussr&=2
      If C|(Cx&-15+(Schussx&)/40-0.2,Schussy&/40)=35
        @Schuss_weg
      Endif
    Else
      Sub Schussx&,8
      Sub Schussy&,8
      Get Schussx&,Schussy&,Schussx&+7,Schussy&+7,Schussb$
    Endif
    Put Schussx&,Schussy&,Schuss$
    Rc_copy Scr1%,Schussx&,Schussy&,16,16 To Scr2%,Schussx&,Schussy&
    Put Schussx&,Schussy&,Schussb$
  Case 2
    If C|(Cx&-15+Schussx&/40,Schussy&/40-0.2)>0
      Schussr&=3
      If C|(Cx&-15+Schussx&/40,Schussy&/40-0.2)=35
        @Schuss_weg
      Endif
    Else if C|(Cx&-15+Schussx&/40+0.3,Schussy&/40-0.2)>0
      Schussr&=1
      If C|(Cx&-15+Schussx&/40+0.3,Schussy&/40-0.2)=35
        Schuss_weg
      Endif
    Else
      Add Schussx&,8
      Sub Schussy&,8
      Get Schussx&,Schussy&,Schussx&+7,Schussy&+7,Schussb$
    Endif
    Put Schussx&,Schussy&,Schuss$
    Rc_copy Scr1%,Schussx&-8,Schussy&,16,16 To Scr2%,Schussx&-8,Schussy&
    Put Schussx&,Schussy&,Schussb$
  Case 3
    If C|(Cx&-15+Schussx&/40,Schussy&/40+0.3)>0
      Schussr&=2
      If C|(Cx&-15+Schussx&/40,Schussy&/40+0.3)=35
        @Schuss_weg
      Endif
    Else if C|(Cx&-15+Schussx&/40+0.3,Schussy&/40)>0
      Schussr&=4
      If C|(Cx&-15+Schussx&/40+0.3,Schussy&/40)=35
        @Schuss_weg
      Endif
    Else
      Add Schussx&,8
      Add Schussy&,8
      Get Schussx&,Schussy&,Schussx&+7,Schussy&+7,Schussb$
    Endif
    Put Schussx&,Schussy&,Schuss$
    Rc_copy Scr1%,Schussx&-8,Schussy&-8,16,16 To Scr2%,Schussx&-8,Schussy&-8
    Put Schussx&,Schussy&,Schussb$
  Case 4
    If C|(Cx&-15+Schussx&/40,Schussy&/40+0.3)>0
      Schussr&=1
      If C|(Cx&-15+Schussx&/40,Schussy&/40+0.3)=35
        @Schuss_weg
      Endif
    Else if C|(Cx&-15+Schussx&/40-0.2,Schussy&/40)>0
      Schussr&=3
      If C|(Cx&-15+Schussx&/40-0.2,Schussy&/40)=35
        @Schuss_weg
      Endif
    Else
      Sub Schussx&,8
      Add Schussy&,8
      Get Schussx&,Schussy&,Schussx&+7,Schussy&+7,Schussb$
    Endif
    Put Schussx&,Schussy&,Schuss$
    Rc_copy Scr1%,Schussx&,Schussy&-8,16,16 To Scr2%,Schussx&,Schussy&-8
    Put Schussx&,Schussy&,Schussb$
  Endselect
Return
Procedure Rutsch_stein
  ' hier werden die Daten f"+Chr$(129)+"r das Rutschen bearbeitet!
  If Hbew&=4
    @Rutsch_zur
  Else if Hbew&=8
    @Rutsch_vor
  Else if Hbew&=10
    If Hhbew&=4
      @Rutsch_zur
    Else if Hhbew&=8
      @Rutsch_vor
    Else if Hhbew&=10
      If Hhhbew&=4
        @Rutsch_zur
      Else if Hhhbew&=8
        @Rutsch_vor
      Else if Hhhbew&=10
        If Hhhhbew&=4
          @Rutsch_zur
        Else if Hhhhbew&=8
          @Rutsch_vor
        Endif
      Endif
    Endif
  Endif
Return
Procedure Rutsch_vor
  ' Diese Procedure l"+Chr$(132)+""+Chr$(158)+"t dich nach rechts schliddern (Eis)
  Put A&,Y&,Back$
  If A& Mod 40=0
    If C|(Cx&-15+(A&-1)/40+2,Y&/40+1)+C|(Cx&-15+(A&-1)/40+2,Y&/40)=0 Or C|(Cx&-15+(A&-1)/40+2,Y&/40)=85
      A&=A&+8
    Endif
  Else
    A&=A&+8
  Endif
  Get A&,Y&,A&+39,Y&+62,Back$
  Put A&,Y&,S$(1,Zu&+Skeletti&),4
  Put A&,Y&,Fig$(1,Zu&+Skeletti&),7
  Rc_copy Scr1%,A&-8,Y&,48,63 To Scr2%,A&-8,Y&
  Put A&,Y&,Back$
Return
Procedure Rutsch_zur
  ' Diese Procedure l"+Chr$(132)+""+Chr$(158)+"t dich nach links schliddern (Eis)
  Put A&,Y&,Back$
  If A& Mod 40=0
    If C|(Cx&-15+(A&-1)/40,Y&/40+1)+C|(Cx&-15+(A&-1)/40,Y&/40)=0
      A&=A&-8
    Endif
  Else
    A&=A&-8
  Endif
  If A&<0
    A&=0
  Endif
  Get A&,Y&,A&+39,Y&+62,Back$
  Put A&,Y&,S$(3,Zu&+Skeletti&),4
  Put A&,Y&,Fig$(3,Zu&+Skeletti&),7
  Rc_copy Scr1%,A&,Y&,48,63 To Scr2%,A&,Y&
  Put A&,Y&,Back$
Return
Procedure Schalter
  ' Der Schalterstein hat auswirkungen, wenn dieser benutzt wird. Diese werden Hier
  ' ausgewertet.
  ' Die Informationen dazu kommen aus einem Feld Schalter$() dem die
  ' x-Koordinate/40 "+Chr$(129)+"bergeben wird.
  ' Die "+Chr$(142)+"nderung von einem Stein ben"+Chr$(148)+"tigt 4Bytes
  ' 2Bytes f"+Chr$(129)+"r die X-Koordinate im Feld
  ' 1Byte  f"+Chr$(129)+"r die Y-Koordinate im Feld
  ' 1Byte  f"+Chr$(129)+"r die Nummer des neuen Steins
  For I&=0 To Len(Schalt$(Cx&-14+A&/40))/4
    H$=Mid$(Schalt$(Cx&-14+A&/40),I&*4+1,4)
    Xschalt&=Cvi(H$)
    Yschalt&=Asc(Mid$(H$,3))
    Steinart&=Asc(Mid$(H$,4))
    C|(Xschalt&,Yschalt&)=Steinart&
    If Xschalt&<Cx&+1 And Xschalt&>Cx&-16
      Put (Xschalt&-Cx&+15)*40,Yschalt&*40,B$(Steinart&)
      Rc_copy Scr1%,(Xschalt&-Cx&+15)*40,Yschalt&*40,40,40 To Scr2%,(Xschalt&-Cx&+15)*40,Yschalt&*40
    Endif
  Next I&
Return
Procedure New_level_start
  ' Wenn ein weiteres Level gespielt werden soll, werden von hier die n"+Chr$(148)+"tigen
  ' Vorbereitungen erledigt!
  @Werte3
  @Level
  @Anf_b_aufbau
  Get A&,Y&,A&+39,Y&+63,Back$
  @Main
Return
Procedure New_start
  ' wenn Sie sich f"+Chr$(129)+"r ein weiteres Spiel entschieden haben sollten, dann kommt
  ' diese Procedure zum Einsatz!
  @Werte2
  Void Xbios(5,L:Scr1%,L:Scr2%,-1)
  Deffill 1,1,1
  Pbox 0,0,639,399
  Put 244,152,Inp$
  Put 230,220,Ianthr$
  Put 154,39,Brisk$
  @Name_input
  @Level
  @Anf_b_aufbau
  @Main
Return
Procedure Wscroll
  ' In dieser Procedure wird tzusammen mit der Procedure Hinter der Hintergrund
  ' um 40 Pixel(5 Bytes) nach links geschoben!
  Repeat
  Until Inkey$=""
  Scrollstop&=0
  Repeat
    @Hinter
    Y&=Scrolly&*40-63
    A&=400
  Until Scrollstop&=1
  Get A&,Y&,A&+39,Y&+63,Back$
Return
Procedure Keyselect
  ' In dieser Procedure wird ein eventueller Tasdtendruck w"+Chr$(132)+"hrend des Siels
  ' selektiert!
  Select Inp(2)
  Case 226 !HELP
    @Hilfe
  Case 196 !F 10 : SELBSTMORD
    Dec Lebem|(Akt&)
    @Wscroll
    If Lebem|(Akt&)<4 Or Lebem|(Akt&)>100
      @Figur_selection
    Endif
  Case 27
    For I&=0 To 3
      Lebem|(I&)=3
    Next I&
    @Ende
    End
  Endselect
Return
PROCEDURE Prufen
  ' In dieser Procedure werden die  zum Programm geh"+Chr$(148)+"renden Dateien auf Fehler
  ' untersucht!
  If Exist("brisk.dat")
    Open "i",#1,"brisk.dat"
    If Lof(#1)=107046
      B%=Cvl(Input$(4,#1))
      For I&=0 To 26759                    !Geheim:      (107046/4)-2=26759
        B%=Xor(B%,Cvl(Input$(4,#1)))
      Next I&
      If B%=-490501012
        Pr&=1
      Else
        Fehler$="Daten in Brisk.dat sind nicht korrekt!"
        @Fehler
      Endif
    Else
      Fehler$="Brisk.dat hat die faltsche L"+Chr$(132)+"nge!"
      @Fehler
    Endif
    Close
  Else
    Fehler$="Brisk.dat ist nicht auf der Diskette!"
    @Fehler
  Endif
  If Exist("B__DRUCK.PRG")
    Open "i",#1,"B__DRUCK.PRG"
    If Lof(#1)<>15935
      Fehler$="B__Druck.prg hat die faltsche l"+Chr$(132)+"nge!"
      @Fehler
    Endif
    Close
  Else
    Fehler$="B__Druck.prg ist nicht auf dieser Diskette!"
    @Fehler
  Endif
  If Exist("Liesmich.prg")
    Open "i",#1,"liesmich.prg"
    If Lof(#1)<>13223
      Fehler$="LiesMich.prg hat die faltsche l"+Chr$(132)+"nge!"
      @Fehler
    Endif
    Close
  Else
    Fehler$="LiesMich.prg ist nicht auf dieser Diskette!"
    @Fehler
  Endif
  If Exist("b_Dekomp.prg")
    Open "i",#1,"b_Dekomp.prg"
    If Lof(#1)<>11110
      Fehler$="B_Dekomp.prg hat die faltsche l"+Chr$(132)+"nge!"
      @Fehler
    Endif
    Close
  Else
    Fehler$="B_Dekomp.prg ist nicht auf dieser Diskette!"
    @Fehler
  Endif
  For I&=1 To 4
    If Exist("levels\level00"+Str$(I&)+".lev")
    Else
      Fehler$="Level00"+Str$(I&)+".lev ist nicht auf dieser Diskette!"
      @Fehler
    Endif
  Next I&
  For I&=1 To 38
    Void$="b___info\info__"+Right$("0"+Str$(I&),2)+".pic"
    If Exist(Void$)
      Read Infolang&
      Open "i",#1,Void$
      If Lof(#1)<>Infolang&
        Fehler$=Right$(Void$,12)+" hat die faltsche L"+Chr$(132)+"ange!"
        @Fehler
      Endif
      Close
    Else
      Fehler$=Right$(Void$,12)+" ist nicht auf der Diskette!"
      @Fehler
    Endif
  Next I&
  If Exist("brisk1_1.prg")
    Open "i",#1,"brisk1_1.prg"
    If Lof(#1)<>129067
      Fehler$="Brisk1_1.prg hat die faltsche L"+Chr$(132)+"nge!"
      @Fehler
    Endif
    Close
  Endif
Return
Procedure Anfangs
  ' In dieser Procedure werden alle Graphicelemente(Bilder) eingeladen!
  Open "i",#1,"brisk.dat"
  Fa&=0
  F&=0
  For I3&=0 To 7
    Fa&=0
    For I4&=0 To 5
      Fig$(Fa&,F&)=Input$(384,#1)
      S$(Fa&,F&)=Input$(384,#1)
      Inc Fa&
    Next I4&
    Inc F&
  Next I3&
  Scroll$=Input$(2310,#1)
  Auflos$=Input$(132,#1)
  Hil$=Input$(3206,#1)
  Schuss$=Input$(22,#1)
  D&=3
  F&=1
  For I&=0 To 59
    B$(F&)=Input$(246,#1)
    Inc F&
  Next I&
  For I&=0 To 14
    B$(90-I&)=Input$(486,#1)
  Next I&
  For I&=0 To 14
    B$(75-I&)=Input$(486,#1)
  Next I&
  F&=0
  For I&=0 To 3
    Ball$(I&)=Input$(246,#1)
  Next I&
  Ballm$=Input$(246,#1)
  For I&=0 To 3
    Gummi$(I&)=Input$(246,#1)
  Next I&
  For I&=0 To 3
    Kreisel$(I&)=Input$(86,#1)
  Next I&
  Kreiselm$=Input$(86,#1)
  For I&=0 To 3
    Fisch$(0,I&)=Input$(166,#1)
  Next I&
  For I&=0 To 3
    Fisch$(1,I&)=Input$(166,#1)
  Next I&
  Fischm$(0)=Input$(166,#1)
  Fischm$(1)=Input$(166,#1)
  Schwalbe$(0)=Input$(126,#1)
  Schwalbe$(1)=Input$(126,#1)
  Schwalbem$(0)=Input$(126,#1)
  Schwalbem$(1)=Input$(126,#1)
  Schuss2$=Input$(26,#1)
  Schuss2m$=Input$(26,#1)
  For I&=0 To 3
    Feuer$(I&)=Input$(110,#1)
  Next I&
  For I&=0 To 13
    Stachel$(I&)=Input$(108,#1)
  Next I&
  For I&=0 To 3
    Auge$(0,I&)=Input$(166,#1)
    Auge$(1,I&)=Input$(166,#1)
    Augem$(I&)=Input$(166,#1)
  Next I&
  For I&=0 To 3
    Masse$(I&)=Input$(246,#1)
  Next I&
  For I&=0 To 1
    Krote$(0,I&)=Input$(126,#1)
  Next I&
  For I&=2 To 3
    Krote$(1,I&-2)=Input$(126,#1)
  Next I&
  For I&=0 To 3
    Wabbel$(I&)=Input$(132,#1)
    Wabbelm$(I&)=Input$(132,#1)
  Next I&
  For I&=0 To 3
    Purzel$(I&)=Input$(246,#1)
    Purzelm$(I&)=Input$(246,#1)
  Next I&
  For I&=0 To 1
    Krotem$(0,I&)=Input$(126,#1)
  Next I&
  For I&=2 To 3
    Krotem$(1,I&-2)=Input$(126,#1)
  Next I&
  For I&=0 To 4
    Qualle$(I&)=Input$(102,#1)
    Quallem$(I&)=Input$(102,#1)
  Next I&
  For I&=0 To 1
    Bombe$(I&)=Input$(38,#1)
    Bombem$(I&)=Input$(38,#1)
  Next I&
  For I&=0 To 1
    Pfeil$(I&)=Input$(24,#1)
    Pfeilm$(I&)=Input$(24,#1)
  Next I&
  For I&=0 To 1
    Schwalbes$(I&)=Input$(246,#1)
    Schwalbesm$(I&)=Input$(246,#1)
  Next I&
  Brisk$=Input$(2646,#1)
  Briskb$=Input$(2646,#1)
  Inp$=Input$(798,#1)
  Ianthr$=Input$(732,#1)
  Blatform$=Input$(206,#1)
  For I&=0 To 3
    Demofigur$(I&)=Input$(396,#1)
  Next I&
  Auswahlpfeil$=Input$(74,#1)
  Ende$=Input$(510,#1)
  For I&=0 To 13
    Auftauch$(I&)=Input$(246,#1)
  Next I&
  For I&=0 To 4
    Zerstampf$(I&)=Input$(246,#1)
  Next I&
  For I&=O& To 1
    Wachs1$(I&)=Input$(246,#1)
  Next I&
  Wachs2$(0)=Input$(246,#1)
  Wachs2$(1)=Input$(306,#1)
  Wachs2$(2)=Input$(366,#1)
  Wachs2$(3)=Input$(426,#1)
  Wachs2$(4)=Input$(246,#1)
  Wachs2$(5)=Input$(306,#1)
  Wachs2$(6)=Input$(366,#1)
  Wachs2$(7)=Input$(426,#1)
  For I&=0 To 8
    Bluete$(I&)=Input$(144,#1)
  Next I&
  Titel$=Input$(678,#1)
  Pfeilr$=Input$(38,#1)
  Pfeill$=Input$(38,#1)
  Close
Return
PROCEDURE Figur_selection
  ' In dieser Procedure k"+Chr$(148)+"nnen Sie zwischen den verschiedenen Fr"+Chr$(129)+"chten w"+Chr$(132)+"hlen!
  Void Xbios(5,L:Scr2%,L:Scr2%,-1)
  Deffill 1,1,1
  Pbox 0,0,639,399
  Put 244,152,Inp$
  Put 230,220,Ianthr$
  Put 203,265,Ende$
  Put 154,39,Brisk$
  Print At(32,12);Player$
  Figna&=0
  Figsez&=0
  For I&=3 To 0 Step -1
    Put 30,I&*13*8,Demofigur$(I&)
    Deffill 0,0,0
    Pbox 80,I&*104+63,90,I&*104+63-(Lebem|(I&)-3)*5
    If Lebem|(I&)>3
      Figna&=Fign&
      Fign&=I&
      Put 113,Figna&*8*13+20,Auswahlpfeil$,15
      Put 113,Fign&*8*13+20,Auswahlpfeil$
    Endif
  Next I&
  If Lebem|(0)<4 And Lebem|(1)<4 And Lebem|(2)<4 And Lebem|(3)<4 Or Lebem|(0)>100 Or Lebem|(1)>100 Or Lebem|(2)>100 Or Lebem|(3)>100
    @Ende
    End
  Endif
  If Figsez&<3
    Repeat
      If Levels&=0
        A$=Inkey$
        If Val(A$)>0
          Levels&=Val(A$)-1
          Kein_highscore&=1
        Endif
      Endif
      Select Stick(1)
      Case 1
        Figsez&=0
        Repeat
          Figna&=Fign&
          Fign&=(Fign&+3) Mod 4
          Put 113,Figna&*8*13+20,Auswahlpfeil$,15
          Put 113,Fign&*8*13+20,Auswahlpfeil$
          Inc Figsez&
        Until Lebem|(Fign&)>3 Or Figsez&=4
        Pause 15
      Case 2
        Figsez&=0
        Repeat
          Figna&=Fign&
          Fign&=(Fign&+1) Mod 4
          Put 113,Figna&*8*13+20,Auswahlpfeil$,15
          Put 113,Fign&*8*13+20,Auswahlpfeil$
          Inc Figsez&
        Until Lebem|(Fign&)>3 Or Figsez&=4
        Pause 15
      Endselect
      If Strig(1)=True
        Ret&=1
      Endif
    Until Ret&=1 Or Figsez&=4
  Endif
  Ret&=0
  Bmove Scr1%,Scr2%,32000
  Void Xbios(5,L:Scr1%,L:Scr2%,-1)
  Akt&=Fign&
  Zu&=Akt&*2
Return
Procedure Name_input
  ' in dieser Procedure geben Sie ihren Namen ein!
  Repeat
  Until Inkey$=""
  Graphmode 3
  Deffill 1,1
  Player$=String$(16,"_")
  Print At(32,12);Player$
  Pbox (Xposition&+31)*8,11*16,(Xposition&+32)*8-1,12*16-1
  Bmove Scr1%,Scr2%,32000
  Do
    If Inp(-2)
      Taste&=Inp(2)
      Select Taste&
      Case 226
        @Hilfe_name_input
      Case 212 To 221
        Pname$(221-Taste&)=Player$
      Case 187 To 196
        Player$=Pname$(196-Taste&)
      Case 8
        If Xposition&>0
          Player$=Left$(Player$,Xposition&-1)+Right$(Player$,16-Xposition&)+"_"
          Dec Xposition&
        Endif
      Case 127
        If Xposition&<17
          Player$=Left$(Player$,Xposition&)+Right$(Player$,15-Xposition&)+"_"
        Endif
      Case 199
        Player$=String$(16,"_")
        Xposition&=0
      Case 203
        If Xposition&>0
          Dec Xposition&
        Endif
      Case 205
        If Xposition&<15
          Inc Xposition&
        Endif
      Case 210
        Player$=Left$(Player$,Xposition&)+"_"+Mid$(Player$,Xposition&+1)
        Player$=Left$(Player$,16)
      Case 13
        Exit if True
      Default
        Mid$(Player$,Xposition&+1,1)=Chr$(Taste&)
        If Xposition&<15
          Inc Xposition&
        Endif
      Endselect
      Print At(32,12);Player$
      Pbox (Xposition&+31)*8,11*16,(Xposition&+32)*8-1,12*16-1
    Endif
    Bmove Scr1%,Scr2%,32000
  Loop
  While Instr(Player$,"_")>0
    Mid$(Player$,Instr(Player$,"_"))=" "
  Wend
  If Player$="                "
    Player$="Mister X"
  Endif
  Player$=Trim$(Player$)
  Player$=Left$(Space$((16-Len(Player$))/2)+Player$+"         ",16)
  W&=112
  Put 203,265,Ende$
  Pbox 202+W&,264,202+107+W&,265+18
  Bmove Scr1%,Scr2%,32000
  Hilfsel&=1
  Repeat
    Select Stick(1)
    Case 4 !links
      If Hilfsel&=1
        Hilfsel&=0
        Pbox 202+W&,264,202+W&+107,265+18
        Pbox 202,264,202+107,265+18
      Endif
    Case 8 !rechts
      If Hilfsel&=0
        Hilfsel&=1
        Pbox 202+W&,264,202+W&+107,265+18
        Pbox 202,264,202+107,265+18
      Endif
    Endselect
    Bmove Scr1%+264*80,Scr2%+264*80,1600
  Until Strig(1)<>0
  Repeat
  Until Strig(1)=0
  Pause 10
  If Hilfsel&=0
    @Highscor_schreiben
    Showm
    Stick 0
    Void Xbios(5,L:Scr1%,L:Scr1%,-1)
    End
  Endif
  Graphmode 1
Return
Procedure Hilfe_name_input
  ' Diese Schrift k"+Chr$(148)+"nnen Sie bewundern, fals Sie w"+Chr$(132)+"hrend der Eingabe Ihres
  ' Namens Help dr"+Chr$(129)+"cken!
  Void Xbios(5,L:Scr2%,L:Scr2%,-1)
  Cls
  Print
  Print "   Hilfe zur Tastenbelegung :"
  Print
  Print " - Insert  :  Durch den Druck dieser Taste wird an der Position des Kursors"
  Print "              ein Leerzeichen (_) einger"+Chr$(129)+"ckt !"
  Print
  Print " - Clr Home:  Durch den Druck dieser Taste wird der momentane Name gel"+Chr$(148)+"scht !"
  Print
  Print " - Pfeile  :  (rechts\links)Durch diese beiden Tasten kann auf die Position "
  Print "              des Kursors einflu"+Chr$(158)+" genommen werden !"
  Print
  Print " - Delete  :  Diese Taste bewirkt , da"+Chr$(158)+" das Zeichen , welches sich unter dem"
  Print "              Kursor befindet gel"+Chr$(148)+"scht und der Rest des Namens aufger"+Chr$(129)+"ckt"
  Print "              wird !"
  Print
  Print " - Backspace: Diese Taste erm"+Chr$(148)+"glicht es dem User das Zeichen links vom Kursor"
  Print "              zu l"+Chr$(148)+"schen und gleichzeitig den Rest der Zeichenkette aufr"+Chr$(129)+"cken"
  Print "              zu lassen !"
  Print
  Print " - F1 - F10:  Mit diesen Tasten kann man einen gespeicherten Namen aufrufen !"
  Print
  Print " - Schift und F1 - F10 : Diese Tastenkombination speichert den momentanen "
  Print "        Namen auf der entsprechenden F-Taste !(Geeignet bei nehreren Spielern)"
  Print "        (Am anfang befinden sich "+Chr$(129)+"brigens auch schon Namen im Speicher!)"
  Void Inp(2)
  Bmove Scr1%,Scr2%,32000
  Void Xbios(5,L:Scr1%,L:Scr2%,-1)
Return
Procedure Hilfe
  ' Diese Schrift k"+Chr$(148)+"nnen Sie bewundern, fals Sie w"+Chr$(132)+"hrend des Spiels Help dr"+Chr$(129)+"cken!
  Void Xbios(5,L:Scr2%,L:Scr2%,-1)
  Cls
  Print
  Print "   Hilfe:"
  Print
  Print " - Die Funktionsweisen der Steine zu erkl"+Chr$(132)+"ren w"+Chr$(132)+"re zu komplex.Deshalb m"+Chr$(129)+"ssen"
  Print "   Sie sich selber durchprobieren.(Oder in die Anleitung gucken!)"
  Print
  Print " - Wenn sie nicht in der Lage sind das momentane Hindernis zu "+Chr$(129)+"berwinden,"
  Print "   dann k"+Chr$(148)+"nnen sie sich durch den Druck auf die F-10 Taste weiter scrollen"
  Print "   lassen.Diese L"+Chr$(148)+"sung kostet sie allerdings einen Lebenspunkt."
  Print
  Print " - Ist nach ihrer Meinung ein Fehler aufgetaucht,dann schreiben sie mir bitte."
  Print "   Beschreiben sie,welche beweglichen Dinge auf dem Spielfeld sind oder es"
  Print "   geradeeben noch waren."
  Print
  Print " - Auch f"+Chr$(129)+"r Vorschl"+Chr$(132)+"ge zur Erweiterung/Verbesserung habe ich immer ein offenes"
  Print "   Ohr."
  Print
  Print "   Schreiben sie an:"
  Print "                          Folke Rinneberg"
  Print "                          Uhlandstra"+Chr$(158)+"e 78"
  Print "                          2105 Seevetal 1"
  Print
  Print "                    Dieses Programm ist Public Domain(Frei weiterkopierbar)"
  Void Inp(2)
  Bmove Scr1%,Scr2%,32000
  Void Xbios(5,L:Scr1%,L:Scr2%,-1)
Return
Procedure Ende
  ' Wenn das Spiel zu ende ist(entweder Sie haben alle Level geschaft oder
  ' Sie haben keine Leben mehr)bekommen Sie f"+Chr$(129)+"r jedes Verblibene Leben 350
  ' Punkte.
  For I&=0 To 3          ! 1 Figuren 0 bis 3 durchlaufen lassen
    While Lebem|(I&)>3   ! 2 Solange die momentane Figur noch Leben besitzt
      Add Punkte%,350   !   Restleben werden zu Punkten(1Leben=350 Punkte)
      Dec Lebem|(I&)     !   Leben um 1 ernidrigen
    Wend                ! 2 Ende
  Next I&                ! 1 Ende
  @Besten_liste
  Levels&=0
  Void Xbios(5,L:Scr1%,L:Scr2%,-1)
  @New_start
Return
Procedure Vorspann
  ' Diese Procedure steuert die bescheidene Demo, welche Sie am Anfang
  ' bewundern d"+Chr$(129)+"rfen
  Put 244,152,Inp$
  Put 230,220,Ianthr$
  Put 203,265,Ende$
  For I&=1 To 200
    Put 154,39,Briskb$
    Put I&,39,Brisk$,7
    Vsync
    Bmove Scr1%,Scr2%,8800
  Next I&
  For I&=200 To 154 Step -1
    Put 154,39,Briskb$
    Put I&,39,Brisk$,7
    Vsync
    Bmove Scr1%,Scr2%,8800
  Next I&
  @Name_input
Return
Procedure Besten_liste
  ' In diese Procedure wird dein Name in die Bestenliste einsortiert und
  ' die Bestenliste angezeigt!
  Void Xbios(5,L:Scr2%,L:Scr2%,-1)
  Deffill 1,1,1
  Wplatz&=0
  Pbox 0,0,639,399
  Put 174,30,Titel$
  Lpoke Xbios(14,1)+6,0
  Platz&=100
  If Kein_highscore&=0
    For J&=99 Downto 0
      If Punkte%>Score%(J&)
        Platz&=J&
      Endif
    Next J&
    If Platz&<100
      Anz&=0
      For I&=0 To 99
        If Mid$(Score$,I&*16+1,16)=Player$
          Inc Anz&
          Void2&=I&
        Endif
      Next I&
      If Anz&=3 And Platz&=<Void2&
        Score$=Left$(Score$,Void2&*16)+Mid$(Score$,Void2&*16+17)
        Delete Score%(Void2&)
        Insert Score%(Platz&)=Punkte%
        Score$=Left$(Score$,Platz&*16)+Player$+Mid$(Score$,Platz&*16+1,(99-Platz&)*16)
        Wplatz&=Platz&
      Else
        If Anz&<3
          Insert Score%(Platz&)=Punkte%
          Score$=Left$(Score$,Platz&*16)+Player$+Mid$(Score$,Platz&*16+1,(99-Platz&)*16)
          Wplatz&=Platz&
        Endif
      Endif
    Endif
  Endif
  Kein_highscore&=0
  Print ""+Chr$(27)+"p";
  Repeat
    If Platz&>6 And Platz&<93
      J2&=Platz&-6
    Else if Platz&>92
      J2&=87
    Else
      J2&=0
      Platz&=6
    Endif
    For J&=J2& To J2&+12
      Inc Hi&
      H2$=Mid$(Score$,J&*16+1,16)
      Print At(20,Hi&+5);Using "###",J&+1
      Print At(24,Hi&+5);H2$
      Print At(41,Hi&+5);Using "##########",Score%(J&)
      If Wplatz&>0
        Void&=Wplatz&-J2&
        Deffill 1,1,1
        If Void&<13 And Void&>-1
          Pbox 120,80,160,288
          Pbox 402,80,442,288
          Put 128,80+Void&*16,Pfeill$
          Put 402,80+Void&*16,Pfeilr$
        Else if Void&<14 And Void&>-2
          Pbox 120,80,160,288
          Pbox 402,80,442,288
        Endif
      Endif
    Next J&
    Hi&=0
    Lpoke Xbios(14,1)+6,0
    A&=Inp(2)
    If A&=200
      Platz&=(Platz&+1)
      If Platz&>93
        Platz&=93
      Endif
    Else if A&=208
      Dec Platz&
    Endif
  Until A&=13
  Print ""+Chr$(27)+"q";
  Bmove Scr1%,Scr2%,32000
  Void Xbios(5,L:Scr1%,L:Scr2%,-1)
Return
Procedure Score_bak
  ' Wenn die Datei B__SCORE.DAT nicht in ordnung ist und man sich daf"+Chr$(129)+"r entschieden
  ' hat das Backuk einzuladen, dann kommt man in diese Procedure, welche
  ' B_SCORE.BAK einlie"+Chr$(158)+"t!
  Close
  If Exist("run_jump\b__score.bak")
    Open "i",#1,"run_jump\b__score.bak"
    If Lof(#1)=2004
      Scorec%=Cvl(Input$(4,#1))
      Score$=Input$(1600,#1)
      B%=Cvl(Mid$(Score$,0,4))
      For I&=0 To 398
        B%=B% Xor Cvl(Mid$(Score$,4+I&*4,4))
      Next I&
      For I&=0 To 99
        Score%(I&)=Cvl(Input$(4,#1))
        B%=B% Xor Score%(I&)
      Next I&
      If B%<>Scorec%
        Fehler$="Die Daten in B__Score.bak sind nicht korrekt!"
        @Fehler
      Endif
    Else
      Fehler$="B__Score.bak hat die faltsche L"+Chr$(132)+"nge!"
      @Fehler
    Endif
    Close
  Else
    Fehler$="B__Score.bak ist nicht auf dieser Diskette!"
    @Fehler
  Endif
Return
Procedure Highscor_einlesen
  ' Hier wird der Highscore am Anfang des Sieles eingeladen!
  If Exist("run_jump\b__score.dat")
    Open "i",#1,"run_jump\b__score.dat"
    If Lof(#1)=2004
      Scorec%=Cvl(Input$(4,#1))
      Score$=Input$(1600,#1)
      B%=Cvl(Mid$(Score$,0,4))
      For I&=0 To 398
        B%=B% Xor Cvl(Mid$(Score$,4+I&*4,4))
      Next I&
      For I&=0 To 99
        Score%(I&)=Cvl(Input$(4,#1))
        B%=B% Xor Score%(I&)
      Next I&
      If B%<>Scorec%
        Fehler$="Die Daten in B__Score.dat sind nicht korrekt!"
        @Fehler
        Score_bak
      Endif
    Else
      Fehler$="B__Score.dat hat die faltsche L"+Chr$(132)+"nge!"
      @Fehler
      Score_bak
    Endif
    Close
  Else
    Fehler$="B__Score.dat ist nicht auf dieser Diskette!"
    @Fehler
    Score_bak
  Endif
Return
Procedure Highscor_schreiben
  ' in dieser Procedure wird der momentan auf der Diskette existierende Highscore
  ' mit der Extension ".BAK" vesehen und der neue mit der Extention ".DAT"
  ' gespeichert!
  B%=Cvl(Left$(Score$,4))
  For I&=0 To 398
    B%=Xor(B%,Cvl(Mid$(Score$,I&*4+4,4)))
  Next I&
  For I&=0 To 99
    B%=B% Xor Score%(I&)
  Next I&
  If Exist("run_jump\b__score.dat")
    Open "i",#1,"run_jump\b__score.dat"
    I&=Lof(#1)
    Close
    If I&=2004
      If Exist("run_jump\b__score.bak")
        Kill "run_jump\b__score.bak"
      Endif
      Rename "run_jump\b__score.dat" As "run_jump\b__score.bak"
    Endif
  Endif
  Open "o",#1,"run_jump\b__score.dat"
  Print #1,Mkl$(B%);
  Print #1,Score$;
  For I&=0 To 99
    Print #1,Mkl$(Score%(I&));
  Next I&
  Close
Return
Procedure Neuer_levelrekord
  ' wenn deine Punkte in dem momentanen Level h"+Chr$(148)+"her waren, als der Levelrekord,
  ' dann speichert diese Procedure den neuen Levelrekord!
  Hik&=0
  ' ersten 41 Bytes aktualisieren (auch xor-Code neu bestimmen)
  A$=Right$("000"+Str$(Levels&),3)                  !3-Stellig machen
  Open "i",#1,"levels\level"+A$+".lev"  !
  Void Cvl(Input$(4,#1))
  For I&=0 To 9
    Code%=Code% Xor Cvl(Input$(4,#1))
  Next I&
  Close
  Open "u",#1,"levels\level"+A$+".lev"  !Datei "+Chr$(148)+"ffnen
  Print #1,Mkl$(0);
  Print #1,Erbauer$;
  Print #1,Mkl$(Maxpunkte%);
  Print #1,Maxpunktename$;
  Print #1,Chr$(Lebenverlust&+128);
  Close
  Open "i",#1,"levels\level"+A$+".lev"  !Datei "+Chr$(148)+"ffnen
  Void Cvl(Input$(4,#1))
  For I&=0 To 9
    Code%=Code% Xor Cvl(Input$(4,#1))
  Next I&
  Close
  Open "u",#1,"levels\level"+A$+".lev"  !Datei "+Chr$(148)+"ffnen
  Print #1,Mkl$(Code%);
  Close
Return
Procedure Fehler
  ' wenn ein Fehler in einer der Dateien dieses Programms entdeckt wird,
  ' dann wird in dieser Procedure eine Ausgabe auf dem Bildschirm gemacht!
  Void Xbios(5,L:Scr2%,L:Scr2%,-1)
  Cls
  Print At(1+(80-Len(Fehler$))/2,5);Fehler$ ! Ausgabe von fehler$ auf dem Bildschirm
  Print Space$((78-Len(Fehler$))/2)+String$(Len(Fehler$)+2,"*")
  Print Space$((76-Len(Fehler$))/2)+String$(Len(Fehler$)+6,"*")
  Print
  Print
  Print
  Print "        Wenn Sie nicht verstehen,wie dieser Fehler auftauchen konnte"
  Print "        und/oder sie ihn nicht beseitigen k"+Chr$(148)+"nnen,dann schicken Sie"
  Print "        mir ihre Diskette mit adressierten und frankiertem R"+Chr$(129)+"ckumschlag."
  Print "        Ich werde dann die defekte Datei durch die Orginaldatei ersetzen!"
  Print
  Print "                                Folke Rinneberg"
  Print "                                Uhlandstra"+Chr$(158)+"e 78"
  Print "                                2105 Seevetal 1"
  Print "                                Geb.am29.6.1973"
  Print
  Print
  Print "        Sie haben doch nicht etwa versucht die Datei zu ver"+Chr$(132)+"ndern?"
  Print
  Print "                               ( Taste dr"+Chr$(129)+"cken! )"
  Void Inp(2)
  If Instr(Fehler$,"B__Score.dat",1)>0
    Cls
    Stick 0
    Lpoke Xbios(14,1)+6,0
    Alert 0,"Soll das Backub|eingeladen werden?  ",1,"  Ja  | Nein ",Alert&
    Stick 1
    If Alert&=2
      End
    Else
      Bmove Scr1%,Scr2%,32000
      Void Xbios(5,L:Scr1%,L:Scr2%,-1)
    Endif
  Else
    End
  Endif
Return
Procedure Monsterauflosen
  ' Wenn ein Monter dich ber"+Chr$(129)+"hrt oder du ein Monster abschie"+Chr$(158)+"t, dann mu"+Chr$(158)+" es
  ' vom Bildschirm gel"+Chr$(148)+"scht werden (Hintergrund restaurieren)
  ' mb :Die Breite des Monsters (wenn mb=0 wird der Hintergrund nicht restauriert)
  ' mh :Die H"+Chr$(148)+"he des Monsters
  Select Monstertyp&(Tod&)
  Case 111,96
    Mb&=0
  Case 112
    Mb&=15
    Mh&=8
  Case 94
    Mb&=19
    Mh&=19
  Case 95
    Mb&=9
    Mh&=9
  Case 100,98
    Mb&=39
    Mh&=19
  Case 104
    Mb&=39
    Mh&=20
  Case 96 To 99,105,114
    Mb&=39
    Mh&=39
  Case 101,102
    Mb&=29
    Mh&=39
  Case 103
    Mb&=39
    Mh&=15
  Case 106
    Mb&=19
    Mh&=39
  Case 107
    Mb&=39
    Mh&=17
  Case 109
    Mb&=31
    Mh&=25
  Case 115
    Mb&=0
  Endselect
  If X&(Tod&)>=0
    If X&(Tod&)+Mb&+1<=640
      If Y&(Tod&)>=0
        If Y&(Tod&)+Mh&+1<=400
          ' Monster befindet sich vollst"+Chr$(132)+"ndig auf dem Bildschirm
          Rc_copy Scr1%,X&(Tod&),Y&(Tod&),Mb&+1,Mh&+1 To Scr2%,X&(Tod&),Y&(Tod&)!Leeren Hintergrund r"+Chr$(129)+"ber kopieren
        Endif
      Endif
    Endif
  Endif
Return
Procedure Schuss_weg
  ' Wenn dein Schuss den Sichtbereich verl"+Chr$(132)+""+Chr$(158)+"t ist er nicht mehr aktiv (Es kann wieder geschossen werden!)
  If Schussr&>0
    If Schussx&>-1
      If Schussx&<640
        If Schussy&>-1
          If Schussy&<400
            Rc_copy Scr1%,Schussx&,Schussy&,8,8 To Scr2%,Schussx&,Schussy&
          Endif
        Endif
      Endif
    Endif
    Schussr&=0
  Endif
Return
Data 11073,14730,11980,12414,12172,7257,7572,5127,5732,5810,5902,6204,4007,6608
Data 5202,7387,8530,5095,5045,4539,4155,4372,4999,6623,5023,7209,8016,5661,5968
Data 3994,3171,2858,10772,10164,8124,7421,8177,8759
Data "   Der Looser   "," Jemand anderes "," Wer bin ich ?? "
Data "Ich bleib Anonym"," Namen sind egal","  Uninteressant "
Data "     Niemand    ","     Nobody     "," Gunnar Zarncke "
Data " * Thin Rinni * "



Legende:
Ä ersetzt durch "Chr$(142)"
ß ersetzt durch "Chr$(158)"
ä ersetzt durch "Chr$(132)"
ö ersetzt durch "Chr$(148)"
ü ersetzt durch "Chr$(129)"
nicht-ASCII 27 ersetzt durch "Chr$(27)"



legend:
Ä replaced by "Chr$(142)"
ß replaced by "Chr$(158)"
ä replaced by "Chr$(132)"
ö replaced by "Chr$(148)"
ü replaced by "Chr$(129)"
non-ASCII 27 replaced by "Chr$(27)"

zurück zur GFA-BASIC-Seite des Folkes
zurück zur Programmier-Seite des Folkes
zurück zur Startseite des Folkes
Lage dieser Seite:"http://www.Rinneberg.de/programming/gfa.htm"
"http://www.Folke-Rinneberg.de/programming/gfa.htm"

Ende des deutschsprachigen Abschnitts
german-line

 
english-line
Start of the English translated part
english banner
Portait-Photo
about myself

Home
Links/Bookmarkslinks
programming
   - CodeOptimisation
   - CodeConventions
   - GFA-basic

Atari
hardware-
modifications

jokes
quotations
patter
braille
art
book-tip
E-Mail an Folke_R@gmx.de
history
imprint


Sorry there is no, and will never be, a translation of the source code.



back to Folke's GFA-Basic page
back to Folke's programming page
back to Folke's homepage
Location of this page: "http://www.Rinneberg.de/programming/gfa.htm"
"http://www.Folke-Rinneberg.de/programming/gfa.htm"
Help to improve this web page:

Because I am no native English speaker, it is likely that there can be made a lot of improvements to my translation. I am very interested in every proposal how to improve the English part of this web page.