Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.10.2015, 22:39   #1
kvitaliy
Участник клуба
 
Регистрация: 17.05.2011
Сообщений: 1,660
По умолчанию Basic Donkey.bas - код от соучредителей Микрософт Bill Gates и Neil Konzen

Donkey.bas - код от соучредителей Микрософт Bill Gates и Neil Konzen

Код:
940 REM The IBM Personal Computer Donkey
950 REM Version 1.10 (C)Copyright IBM Corp 1981, 1982
960 REM Licensed Material - Program Property of IBM
975 DEF SEG: POKE 106,0
980 SAMPLES$="NO"
990 GOTO 1010
1000 SAMPLES$="YES"
1010 KEY OFF:SCREEN 0,1:COLOR 15,0,0:WIDTH 40:CLS:LOCATE 5,19:PRINT "IBM"
1020 LOCATE 7,12,0:PRINT "Personal Computer"
1030 COLOR 10,0:LOCATE 10,9,0:PRINT CHR$(213)+STRING$(21,205)+CHR$(184)
1040 LOCATE 11,9,0:PRINT CHR$(179)+"       DONKEY        "+CHR$(179)
1050 LOCATE 12,9,0:PRINT CHR$(179)+STRING$(21,32)+CHR$(179)
1060 LOCATE 13,9,0:PRINT CHR$(179)+"    Version 1.1O     "+CHR$(179)
1070 LOCATE 14,9,0:PRINT CHR$(212)+STRING$(21,205)+CHR$(190)
1080 COLOR 15,0:LOCATE 17,4,0:PRINT "(C) Copyright IBM Corp 1981, 1982"
1090 COLOR 14,0:LOCATE 23,7,0:PRINT "Press space bar to continue"
1100 IF INKEY$<>"" THEN GOTO 1100
1110 CMD$ = INKEY$
1120 IF CMD$ = "" THEN GOTO 1110
1130 IF CMD$ = CHR$(27) THEN GOTO 1298
1140 IF CMD$ = " " THEN GOTO 1160
1150 GOTO 1110
1160 DEF SEG=0
1170 IF (PEEK(&H410) AND &H30)<>&H30 THEN DEF SEG:GOTO 1291
1180 WIDTH 80:CLS:LOCATE 3,1
1190 PRINT "HOLD IT!"
1200 PRINT "YOU'RE NOT USING THE COLOR/GRAPHICS MONITOR ADAPTER!"
1210 PRINT "THIS PROGRAM USES GRAPHICS AND REQUIRES THAT ADAPTER."
1220 PRINT "PRESS THE SPACE BAR TO CONTINUE."
1230 DEF SEG
1240 IF INKEY$<>"" THEN GOTO 1240
1250 CMD$ = INKEY$
1260 IF CMD$ = "" THEN GOTO 1250
1270 IF CMD$ = CHR$(27) THEN GOTO 1298
1280 IF CMD$ = " " THEN GOTO 1298
1290 GOTO 1250
1291 KEY OFF
1292 ON ERROR GOTO 1295
1293 PLAY "p16"
1294 GOTO 1300
1295 COLOR 31,0,0
1296 PRINT "THIS PROGRAM REQUIRES ADVANCED BASIC -- USE COMMAND 'BASICA'":COLOR 15,0,0:FOR I=1 TO 9000:NEXT: RESUME 1298
1298 ON ERROR GOTO 0
1299 SCREEN 0,1:IF SAMPLES$="YES" THEN CHAIN"samples",1000 ELSE COLOR 7,0,0:CLS:END
1300 REM
1410 COLOR 0
1420 DEFINT A-Y
1440 SCREEN 1,0:COLOR 8,1
1450 DIM Q%(500)
1460 DIM D1%(150),D2%(150),C1%(200),C2%(200)
1470 DIM DNK%(300)
1480 GOSUB 1940
1490 GOSUB 1780
1500 CLS
1510 DIM B%(300)
1520 FOR I=2 TO 300:B%(I)=-16384+192:NEXT
1530 B%(0)=2:B%(1)=193
1540 REM
1550 CX=110:CLS
1590 LINE (0,0)-(305,199),,B
1600 LINE (6,6)-(97,195),1,BF
1610 LINE (183,6)-(305,195),1,BF
1620 LOCATE 3,5:PRINT "Donkey"
1630 LOCATE 3,29:PRINT "Driver"
1631 LOCATE 19,25:PRINT"Press Space  ";
1632 LOCATE 20,25:PRINT"Bar to switch";
1633 LOCATE 21,25:PRINT"lanes        ";
1635 LOCATE 23,25:PRINT"Press ESC    ";
1636 LOCATE 24,25:PRINT"to exit      ";
1640 FOR Y=4 TO 199 STEP 20:LINE(140,Y)-(140,Y+10):NEXT
1650 CY=105:CX=105
1660 LINE (100,0)-(100,199):LINE(180,0)-(180,199)
1670 LOCATE 5,6:PRINT SD:LOCATE 5,31:PRINT SM
1680 CY=CY-4:IF CY<60 THEN 2230
1690 PUT (CX,CY),CAR%,PRESET
1700 DX=105+42*INT(RND*2)
1710 FOR Y=(RND*-4)*8 TO 124 STEP 6
1720 SOUND 20000,1
1730 A$=INKEY$:IF A$=CHR$(27) THEN 1298 ELSE POKE 106,0:IF LEN(A$)>0 THEN LINE (CX,CY)-(CX+28,CY+44),0,BF:CX=252-CX:PUT (CX,CY),CAR%,PRESET:SOUND 200,1
1740 IF Y=>3 THEN PUT (DX,Y),DNK%,PSET
1750 IF CX=DX AND Y+25>=CY THEN 2060
1760 IF Y AND 3 THEN PUT (140,6),B%
1770 NEXT:LINE (DX,124)-(DX+32,149),0,BF:GOTO 1670
1780 CLS
1790 DRAW "S8C3"
1800 DRAW"BM12,1r3m+1,3d2R1ND2u1r2d4l2u1l1"
1810 DRAW"d7R1nd2u2r3d6l3u2l1d3m-1,1l3"
1820 DRAW"m-1,-1u3l1d2l3u6r3d2nd2r1u7l1d1l2"
1830 DRAW"u4r2d1nd2R1U2"
1840 DRAW"M+1,-3"
1850 DRAW"BD10D2R3U2M-1,-1L1M-1,1"
1860 DRAW"BD3D1R1U1L1BR2R1D1L1U1
1870 DRAW"BD2BL2D1R1U1L1BR2R1D1L1U1
1880 DRAW"BD2BL2D1R1U1L1BR2R1D1L1U1
1890 LINE(0,0)-(40,60),,B
1900 PAINT (1,1)
1910 DIM CAR%(900)
1920 GET(1,1)-(29,45),CAR%
1930 RETURN
1940 CLS
1950 DRAW"S08"
1960 DRAW "BM14,18"
1970 DRAW"M+2,-4R8M+1,-1U1M+1,+1M+2,-1
1980 DRAW"M-1,1M+1,3M-1,1M-1,-2M-1,2"
1990 DRAW"D3L1U3M-1,1D2L1U2L3D2L1U2M-1,-1"
2000 DRAW"D3L1U5M-2,3U1"
2010 PAINT (21,14),3
2020 PRESET (37,10):PRESET (40,10)
2030 PRESET (37,11):PRESET (40,11)
2040 GET (13,0)-(45,25),DNK%
2050 RETURN
2060 SD=SD+1:LOCATE 14,6:PRINT "BOOM!"
2070 GET (DX,Y)-(DX+16,Y+25),D1%
2080 D1X=DX:D1Y=Y:D2X=DX+17
2090 GET (DX+17,Y)-(DX+31,Y+25),D2%
2100 GET (CX,CY)-(CX+14,CY+44),C1%
2110 GET (CX+15,CY)-(CX+28,CY+44),C2%
2120 C1X=CX:C1Y=CY:C2X=CX+15
2130 FOR P=6 TO 0 STEP -1:Z=1/(2^P):Z1=1-Z
2140 PUT (C1X,C1Y),C1%:PUT(C2X,C1Y),C2%
2150 PUT (D1X,D1Y),D1%:PUT(D2X,D1Y),D2%
2160 C1X=CX*Z1:D1Y=Y*Z1:C2X=C2X+(291-C2X)*Z
2170 D1X=DX*Z1:C1Y=C1Y+(155-C1Y)*Z:D2X=D2X+(294-D2X)*Z
2180 PUT (C1X,C1Y),C1%:PUT(C2X,C1Y),C2%
2190 PUT (D1X,D1Y),D1%:PUT(D2X,D1Y),D2%
2200 SOUND 37+RND*200,4:NEXT
2210 FOR Y=1 TO 2000:NEXT
2220 CLS:GOTO 1540
2230 SM=SM+1:LOCATE 7,25:PRINT "Donkey loses!"
2240 FOR Y=1 TO 1000:NEXT
2250 CLS:GOTO 1540
На современных WIN системах можно скомпилировать в QBasic, который запущен из под DOSBox.
kvitaliy вне форума Ответить с цитированием
Старый 23.03.2016, 19:40   #2
jura_k
gamer
Участник клуба
 
Аватар для jura_k
 
Регистрация: 09.05.2015
Сообщений: 1,529
По умолчанию

Построил график функции z = x / y.
Скачать программу, её текст и скриншот: https://yadi.sk/d/BpCajMpwqRPvp
Системные требования: Win32. Но вы всё равно не сможете её запустить, потому что еq требуется dll-библиотека, а у вас её нет.
Скриншот программы под Windows 95:

Код:
Rem   p8
Rem   p8 - task 3 - book 1
Rem   Язык Visual Basic 5.0

Option Explicit

Rem   ba - координата x, bb - координата y, bc - ширина графика
Rem   bd - масштаб графика
Dim ba, bb, bc, bd As Integer
Rem   Координаты линии в 3D: (ea, eb, ec) - (ed, ee, ef)
Dim ea, eb, ec, ed, ee, ef As Single

Rem   Рисование системы координат
Function ga()
    Cls
    Line (ba, bb)-(ba - bc, bb - bc / 2), QBColor(8)
    Line (ba, bb)-(ba + bc, bb - bc / 2), QBColor(8)
    Line (ba, bb)-(ba, bb - bc), QBColor(15)
    Line (ba, bb)-(ba - bc, bb + bc / 2), QBColor(15)
    Line (ba, bb)-(ba + bc, bb + bc / 2), QBColor(15)
End Function

Rem   Рисование линии в 3D-координатах
Function gb()
    Line (ba - ea + eb, bb + (ea + eb) / 2# - ec)- _
        (ba - ed + ee, bb + (ed + ee) / 2# - ef), QBColor(14)
End Function

Rem   Функция, график которой надо построить
Function ha(a As Single, b As Single)
    ha = a / b
End Function

Private Sub Form_Load()
    ba = 400: bb = 400: bc = 380: bd = 50
End Sub

Private Sub Form_Paint()
    Dim a, b As Integer
    Dim c, d As Single
    
    ga
    For a = -bc To bc Step 10
        For b = -bc To bc
            If b = 0 Then GoTo aaa
            c = ha(a / CSng(bd), b / CSng(bd)) * bd
            If b > -bc And b <> 1 Then
                ea = a: eb = b: ec = c: ed = a: ee = b - 1: ef = d
                gb
            End If
            d = c
aaa:
        Next
    Next
End Sub
мой канал на Ютубе: youtube.com/@games-zz3ju/videos/
мой канал на Рутубе: rutube.ru/channel/31423139/videos/
В ожидании Кеши...
jura_k вне форума Ответить с цитированием
Старый 24.03.2016, 13:23   #3
kvitaliy
Участник клуба
 
Регистрация: 17.05.2011
Сообщений: 1,660
По умолчанию

Цитата:
Сообщение от jura_k Посмотреть сообщение
Но вы всё равно не сможете её запустить, потому что еq требуется dll-библиотека, а у вас её нет.
У нас лучше. Есть VB6, который работает даже на Win10!

Под winXP, код даже не переделывал, всё работает сразу.
kvitaliy вне форума Ответить с цитированием
Старый 24.03.2016, 17:45   #4
jura_k
gamer
Участник клуба
 
Аватар для jura_k
 
Регистрация: 09.05.2015
Сообщений: 1,529
По умолчанию

У меня книжка по Visual Basic 6, но пишу я на Visual Basic 5.
Я так понял, до Windows XP эта dll-библиотека есть, а в более поздних версиях Windows её выбросили за ненадобностью.
И то не всегда. Если установить Visual Basic, dll-библиотека, конечно, будет. Но только у разработчика.
мой канал на Ютубе: youtube.com/@games-zz3ju/videos/
мой канал на Рутубе: rutube.ru/channel/31423139/videos/
В ожидании Кеши...
jura_k вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Объясните код Visual Basic MaXgo Помощь студентам 2 17.12.2012 00:38
Упростить код(Visual Basic) MaXgo Помощь студентам 1 16.12.2012 01:55
Проблема с кодировкой файла расширения .BAS TheDer Помощь студентам 3 21.04.2011 10:22
импортирование из одной таблицы в другую микрософт аксесс Lord_Termit Помощь студентам 2 02.04.2010 11:10
перевести код с basic на delphi Kigmatig Помощь студентам 1 08.02.2010 09:46