zercalo.BAS

{* Зеркало *}

REM basic

' Зеркало


  DEFSTR Z {зеркало
}        SCREEN 9
        WIDTH 40
        CLS
        SLEEP 2
        stroka = 2
        stolb = 6
        z = {PERSONAL{' COMPUTER'
}
}       
        regim = 1
        For i = 1 To LEN(z)
        stolb = stolb + 1
        Select Case regim
           Case 1
        For stroka = 2 To 7 Step 1
        LOCATE stroka, stolb
        COLOR 0
        PRINT Mid$(z, i, 1)
        LOCATE stroka + 1, stolb
        COLOR 13{INT(I / 3) + 1
}        PRINT Mid$(z, i, 1)
        For y = 1 To 20000
        Next y{SOUND INT(4000 * RND) + 300, 2
}        Next stroka
           Case 2
        For col = 30 To stolb Step -1
        LOCATE stroka, col + 1
        COLOR 0
        PRINT Mid$(z, i, 1)
        LOCATE stroka, col
        COLOR 13{INT(I / 3) + 9
}        PRINT Mid$(z, i, 1): For y = 1 To 20000: Next y{: SOUND 166 * I, 1
}        Next col
           Case 3
        For stroka = 16 To 9 Step -1
        LOCATE stroka, stolb
        COLOR 0
        PRINT Mid$(z, i, 1)
        LOCATE stroka - 1, stolb
        COLOR 13{INT(I / 3) + 1
}        PRINT Mid$(z, i, 1)
        For y = 1 To 20000{SOUND INT(4000 * RND) + 300, 2
}        Next y
        Next stroka
         End Select
        {regim = INT(1 + 3 * RND)
}        regim = regim + 1
        If regim > 3 Then regim = 1
        Next i
      
        {LINE (1, 1)-(600, 70), 15, , 2
}        os1 = 90 {goriz
}       
        {LINE (1, os)-(600, os), 14{goriz
}
}        {LINE (os, 1)-(os, 150), 14{vert
}
}        For xx1 = 1 To 200{600{
goriz
}
}        For yy1 = 1 To 150{goriz
}        flower1 = POINT(xx1, yy1)
        PSET (xx1, 2 * os1 - yy1), flower1 {goriz
}        Next yy1
        Next xx1
      
        os = 140 {vert
}        For xx = 1 To 150
        For yy = 1 To 170
        flower = POINT(xx, yy)
        PSET (2 * os - xx, yy), flower {vert
}        Next yy
        Next xx
        End