Created
October 13, 2017 10:33
-
-
Save laurent22/2826941c5468e00433cc156273ebd426 to your computer and use it in GitHub Desktop.
LABY2.BAS
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
80 Position: | |
'Dessin du premier plan | |
IF dir = 1 THEN pos$ = LEFT$(piece$, 3) | |
IF dir = 2 THEN pos$ = RIGHT$(piece$, 3) | |
IF dir = 3 THEN pos$ = RIGHT$(piece$, 2) + LEFT$(piece$, 1) | |
IF dir = 4 THEN pos$ = RIGHT$(piece$, 1) + LEFT$(piece$, 2) | |
IF LEFT$(pos$, 1) = "1" THEN | |
LINE (10, 10)-(134, 76) | |
LINE -(134, 274) | |
LINE -(10, 340) | |
ELSE | |
LINE (10, 76)-(134, 274), , B | |
END IF | |
IF MID$(pos$, 2, 1) = "1" THEN LINE (134, 76)-(506, 274), , B | |
IF RIGHT$(pos$, 1) = "1" THEN | |
LINE (630, 10)-(506, 76) | |
LINE -(506, 274) | |
LINE -(630, 340) | |
ELSE | |
LINE (506, 76)-(630, 274), , B | |
END IF | |
'Dessin du second plan | |
IF MID$(pos$, 2, 1) = "0" THEN | |
IF dir = 1 THEN F = x - 8 | |
IF dir = 2 THEN F = x + 1 | |
IF dir = 3 THEN F = x + 8 | |
IF dir = 4 THEN F = x - 1 | |
i = INT(lab(F) / 1000) | |
j = INT(10 * ((lab(F) / 1000) - INT(lab(F) / 1000))) | |
k = INT(10 * ((lab(F) / 100) - (INT(lab(F) / 100)))) | |
l = INT(10 * ((.1 * lab(F)) - (INT(.1 * lab(F))))) | |
IF i = 1 THEN i$ = "1" ELSE i$ = "0" | |
IF j = 1 THEN j$ = "1" ELSE j$ = "0" | |
IF k = 1 THEN k$ = "1" ELSE k$ = "0" | |
IF l = 1 THEN l$ = "1" ELSE l$ = "0" | |
piece$ = i$ + j$ + k$ + l$ | |
IF dir = 1 THEN pos2$ = LEFT$(piece$, 3) | |
IF dir = 2 THEN pos2$ = RIGHT$(piece$, 3) | |
IF dir = 3 THEN pos2$ = RIGHT$(piece$, 2) + LEFT$(piece$, 1) | |
IF dir = 4 THEN pos2$ = RIGHT$(piece$, 1) + LEFT$(piece$, 2) | |
IF LEFT$(pos2$, 1) = "1" THEN | |
LINE (134, 76)-(258, 142) | |
LINE -(258, 208) | |
LINE -(134, 274) | |
ELSE | |
LINE (134, 76)-(196, 108) | |
LINE -(196, 242) | |
LINE -(134, 274) | |
LINE (196, 142)-(258, 208), , B | |
END IF | |
IF MID$(pos2$, 2, 1) = "1" THEN LINE (258, 142)-(382, 208), , B | |
IF RIGHT$(pos2$, 1) = "1" THEN | |
LINE (506, 76)-(382, 142) | |
LINE -(382, 208) | |
LINE -(506, 274) | |
ELSE | |
LINE (506, 76)-(444, 108) | |
LINE -(444, 242) | |
LINE -(506, 274) | |
LINE (382, 142)-(444, 208), , B | |
END IF | |
END IF | |
'Dessin du troisiŠme plan | |
IF MID$(pos$, 2, 1) = "0" AND MID$(pos2$, 2, 1) = "0" THEN | |
IF dir = 1 THEN F = x - 16 | |
IF dir = 2 THEN F = x + 2 | |
IF dir = 3 THEN F = x + 16 | |
IF dir = 4 THEN F = x - 2 | |
i = INT(lab(F) / 1000) | |
j = INT(10 * ((lab(F) / 1000) - INT(lab(F) / 1000))) | |
k = INT(10 * ((lab(F) / 100) - (INT(lab(F) / 100)))) | |
l = INT(10 * ((.1 * lab(F)) - (INT(.1 * lab(F))))) | |
IF i = 1 THEN i$ = "1" ELSE i$ = "0" | |
IF j = 1 THEN j$ = "1" ELSE j$ = "0" | |
IF k = 1 THEN k$ = "1" ELSE k$ = "0" | |
IF l = 1 THEN l$ = "1" ELSE l$ = "0" | |
piece$ = i$ + j$ + k$ + l$ | |
IF dir = 1 THEN pos2$ = LEFT$(piece$, 3) | |
IF dir = 2 THEN pos2$ = RIGHT$(piece$, 3) | |
IF dir = 3 THEN pos2$ = RIGHT$(piece$, 2) + LEFT$(piece$, 1) | |
IF dir = 4 THEN pos2$ = RIGHT$(piece$, 1) + LEFT$(piece$, 2) | |
IF LEFT$(pos2$, 1) = "1" THEN | |
LINE (258, 142)-(290, 159) | |
LINE -(290, 191) | |
LINE -(258, 208) | |
ELSE | |
LINE (258, 142)-(274, 151) | |
LINE -(274, 199) | |
LINE -(258, 208) | |
LINE (274, 191)-(290, 159), , B | |
END IF | |
IF MID$(pos2$, 2, 1) = "1" THEN LINE (350, 159)-(290, 191), , B | |
IF RIGHT$(pos2$, 1) = "1" THEN | |
LINE (382, 142)-(350, 159) | |
LINE -(350, 191) | |
LINE -(382, 208) | |
ELSE | |
LINE (382, 142)-(366, 151) | |
LINE -(366, 199) | |
LINE -(382, 208) | |
LINE (366, 191)-(350, 159), , B | |
END IF | |
END IF | |
'Dessin du quatriŠme plan | |
IF MID$(pos$, 2, 1) = "0" AND MID$(pos2$, 2, 1) = "0" THEN | |
IF dir = 1 THEN F = x - 24 | |
IF dir = 2 THEN F = x + 3 | |
IF dir = 3 THEN F = x + 24 | |
IF dir = 4 THEN F = x - 3 | |
i = INT(lab(F) / 1000) | |
j = INT(10 * ((lab(F) / 1000) - INT(lab(F) / 1000))) | |
k = INT(10 * ((lab(F) / 100) - (INT(lab(F) / 100)))) | |
l = INT(10 * ((.1 * lab(F)) - (INT(.1 * lab(F))))) | |
IF i = 1 THEN i$ = "1" ELSE i$ = "0" | |
IF j = 1 THEN j$ = "1" ELSE j$ = "0" | |
IF k = 1 THEN k$ = "1" ELSE k$ = "0" | |
IF l = 1 THEN l$ = "1" ELSE l$ = "0" | |
piece$ = i$ + j$ + k$ + l$ | |
IF dir = 1 THEN pos2$ = LEFT$(piece$, 3) | |
IF dir = 2 THEN pos2$ = RIGHT$(piece$, 3) | |
IF dir = 3 THEN pos2$ = RIGHT$(piece$, 2) + LEFT$(piece$, 1) | |
IF dir = 4 THEN pos2$ = RIGHT$(piece$, 1) + LEFT$(piece$, 2) | |
IF LEFT$(pos2$, 1) = "1" THEN | |
LINE (290, 159)-(308, 169) | |
LINE -(308, 181) | |
LINE -(290, 191) | |
ELSE | |
LINE (290, 159)-(299, 164) | |
LINE -(299, 185) | |
LINE -(290, 191) | |
LINE (299, 181)-(308, 169), , B | |
END IF | |
IF MID$(pos2$, 2, 1) = "1" THEN LINE (308, 169)-(332, 181), , B | |
IF RIGHT$(pos2$, 1) = "1" THEN | |
LINE (350, 159)-(332, 169) | |
LINE -(332, 181) | |
LINE -(350, 191) | |
ELSE | |
LINE (350, 159)-(341, 164) | |
LINE -(341, 185) | |
LINE -(350, 191) | |
LINE (341, 181)-(332, 169), , B | |
END IF | |
END IF | |
'Dessin du cinquiŠme plan | |
IF MID$(pos$, 2, 1) = "0" AND MID$(pos2$, 2, 1) = "0" THEN | |
IF dir = 1 THEN F = x - 32 | |
IF dir = 2 THEN F = x + 4 | |
IF dir = 3 THEN F = x + 32 | |
IF dir = 4 THEN F = x - 4 | |
i = INT(lab(F) / 1000) | |
j = INT(10 * ((lab(F) / 1000) - INT(lab(F) / 1000))) | |
k = INT(10 * ((lab(F) / 100) - (INT(lab(F) / 100)))) | |
l = INT(10 * ((.1 * lab(F)) - (INT(.1 * lab(F))))) | |
IF i = 1 THEN i$ = "1" ELSE i$ = "0" | |
IF j = 1 THEN j$ = "1" ELSE j$ = "0" | |
IF k = 1 THEN k$ = "1" ELSE k$ = "0" | |
IF l = 1 THEN l$ = "1" ELSE l$ = "0" | |
piece$ = i$ + j$ + k$ + l$ | |
IF dir = 1 THEN pos2$ = LEFT$(piece$, 3) | |
IF dir = 2 THEN pos2$ = RIGHT$(piece$, 3) | |
IF dir = 3 THEN pos2$ = RIGHT$(piece$, 2) + LEFT$(piece$, 1) | |
IF dir = 4 THEN pos2$ = RIGHT$(piece$, 1) + LEFT$(piece$, 2) | |
IF LEFT$(pos2$, 1) = "1" THEN | |
LINE (308, 169)-(316, 174) | |
LINE -(316, 176) | |
LINE -(308, 181) | |
ELSE | |
LINE (308, 169)-(312, 171) | |
LINE -(312, 179) | |
LINE -(308, 181) | |
LINE (312, 174)-(316, 176), , B | |
END IF | |
IF MID$(pos2$, 2, 1) = "1" THEN LINE (316, 174)-(324, 176), , B | |
IF RIGHT$(pos2$, 1) = "1" THEN | |
LINE (332, 169)-(324, 174) | |
LINE -(324, 176) | |
LINE -(332, 181) | |
ELSE | |
LINE (332, 169)-(328, 171) | |
LINE -(328, 179) | |
LINE -(332, 181) | |
LINE (328, 174)-(324, 176), , B | |
END IF | |
END IF | |
RETURN |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment