1. VisualBasic / Говнокод #4372

    −99

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    10 DEFM 13:VAC
    20 PRINT " Генератор."
    30 FOR N=0 TO 6:Z$(N)="00000":NEXT N
    40 CSR 0,:FOR N=6 TO 0 STEP -1:FOR M=1 TO 5
    50 IF GETC(Z$(N),M)="1";DRAW M-1,N
    60 NEXT M:NEXT N
    70 DRAW X,Y:K$=KEY
    80 DRAWC X,Y:IF K$="" THEN 70
    90 IF GETC(Z$(Y),X+1)="1";DRAW X,Y
    100 IF K$="8";IF Y<6;Y=Y+1:GOTO 70
    110 IF K$="2";IF Y>0;Y=Y-1:GOTO 70
    120 IF K$="4";IF X>0;X=X-1:GOTO 70
    130 IF K$="6";IF X<4;X=X+1:GOTO 70
    140 IF K$=" " THEN 200
    150 IF K$="I" THEN 270
    160 IF K$="C" THEN 30
    170 IF K$="D" THEN 300
    175 IF K$="U" THEN 350
    180 IF K$="P" THEN 400
    185 IF K$=CHR 123 THEN 450
    190 GOTO 70
    200 A$="1"
    210 IF GETC(Z$(Y),X+1)="1";A$="0"
    220 $=Z$(Y)
    230 B$=MID(1,X)
    240 C$=MID(X+2,4-X)
    250 Z$(Y)=B$+A$+C$
    260 GOTO 70
    270 FOR N=0 TO 6:B$="":FOR M=1 TO 5
    280 IF GETC(Z$(N),M)="0";B$=B$+"1":GOTO 290
    285 B$=B$+"0"
    290 NEXT M:Z$(N)=B$:NEXT N:GOTO 40
    300 B$=Z$
    310 FOR N=0 TO 5
    320 Z$(N)=Z$(N+1)
    330 NEXT N
    340 Z$(6)=B$
    345 GOTO 40
    350 B$=Z$(6)
    360 FOR N=6 TO 1 STEP -1
    370 Z$(N)=Z$(N-1)
    380 NEXT N:Z$=B$
    390 GOTO 40
    400 FOR N=0 TO 6
    410 Z$(N+7)=Z$(N)
    420 NEXT N
    430 FOR N=0 TO 6
    440 Z$(N)=Z$(13-N)
    445 NEXT N:GOTO 40
    450 B$="":FOR N=6 TO 0 STEP -1:S=0:L=1
    460 FOR M=5 TO 1 STEP -1
    470 S=S+VAL GETC(Z$(N),M)*L
    475 L=L*2
    480 NEXT M
    490 IF S<10; B$=B$+CHR(48+S):GOTO 510
    500 B$=B$+CHR(55+S)
    510 NEXT N
    520 CSR 2:PRINT "C=";B$;
    530 GOTO 70

    Не VisualBasic, но тоже Бейсик. Программа для микрокомпьютера Электроника МК-85М. Писал ее (и еще много других) лет 10 назад.
    Подробнее о назначении программы в комментарии.

    Запостил: Arigato, 16 Октября 2010

    Комментарии (16) RSS

    • Программа "Генератор"
      Специальная утилита "Генератор" предназначена для создания псевдографических символов. Она позволяет в графическом режиме нарисовать требуемый символ по точкам, а затем получить его код для оператора LETC.
      Напомню, что оператор LETC позволяет из программы задать внешний вид символа с кодом 96. В дальнейшем этот символ может быть выведен на экран через обращение CHR 96.
      Рисование символа проходит в первом знакоместе экрана. Для обозначения позиции навигации используется мерцающая точка экрана. Перемещать ее можно с помощью следующих клавиш:
      8 - вверх;
      2 - вниз;
      4 - влево;
      6 - вправо.
      Рисование происходит при помощи клавиши SPC. Если в текущей позиции (помечаемой мигающей точкой) пиксель белый, то он меняется на черный, а если черный - на белый.
      Кроме того можно использовать дополнительные функциональные клавиши:
      C - очистить все пиксели символа;
      I - инвертировать все пиксели символа (черные становятся белыми, а белые - черными);
      U - сдвинуть символ вверх на 1 пиксель, при этом самая верхняя строчка символа перейдет в нижнюю;
      D - сдвинуть символ вниз на 1 пиксель, при этом самая нижняя строчка символа перейдет в верхнюю;
      P - перевернуть символ.
      Когда проработка символа закончена и он принял нужный вид, можно нажать клавишу EE и на экране высветится код для оператора LETC. При этом сам символ не пропадет и можно продолжить его редактирование.
      Ответить
    • Ностальжи, оно, конечно, такое ностальжи, но всё же лучше постить что-нибудь современное :)
      Ответить
    • тут люди интересуются, а где говно? народ требует говна, много говна, редкого и неожиданного!
      Ответить
      • Думаю, говно кроется в самом Бейсике. А то как из говна сделать конфетку?
        Ответить
        • предлагаете переписать на ассемблере? = ) в те годы выбор языков был очень скуден.
          Ответить
          • 10 лет назад был охуенный выбор языков
            Ответить
            • но они часто привязывались к платформе. хочешь изменить язык - покупай другой комп. Лучше PC.
              Ответить
          • Вы шутите?!!
            10 лет назад к Вашим услугами были:
            1) borland pascal
            2) delphi (почти тоже)
            3) борланлд си
            4) микрософт вижал си
            5) жаба
            6) перл
            7) питон
            что мало?
            Ответить
            • И все это работало на микрокомпьютере Электроника МК-85М? :)
              Ответить
              • а
                да
                врядли)

                погодите! это же клон спектурма (на z80), да?
                Тогда конечно бейсик или асм
                Ответить
                • ну вот я про то же
                  Ответить
                • Это не клон Спектрума, это КПК.
                  Вот тут его эмулятор: http://www.pisi.com.pl/piotr433/mk85emue.htm
                  Ответить
                  • "тетрисы", "питоны" и "ксониксы" :)) без них ни один компьютер - не компьютер... :)
                    Ответить
                  • аа)
                    так это калькулятор был
                    Ответить
                    • Ну зачем же его так унижать, не калькулятор, а микрокомпьютер :)
                      Ответить
    • Ну нормальная такая среднестатистическая программа на бейсике.
      Ответить

    Добавить комментарий