Advertisement
Guest User

Untitled

a guest
May 23rd, 2017
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. $large
  2. $sim
  3. $eeprom
  4.  
  5. Deflcdchar 0 , 12 , 4 , 6 , 12 , 4 , 4 , 14 , 32            
  6. Deflcdchar 1 , 2 , 4 , 14 , 16 , 14 , 1 , 30 , 32          
  7. Deflcdchar 2 , 2 , 4 , 14 , 16 , 16 , 17 , 14 , 32          
  8. Deflcdchar 3 , 32 , 32 , 14 , 17 , 31 , 16 , 14 , 4        
  9. Deflcdchar 4 , 32 , 32 , 15 , 17 , 17 , 15 , 1 , 14         'g
  10. Deflcdchar 5 , 2 , 4 , 31 , 2 , 4 , 8 , 31 , 32            
  11. Deflcdchar 6 , 2 , 4 , 14 , 17 , 17 , 17 , 14 , 32          
  12. Deflcdchar 7 , 4 , 32 , 31 , 2 , 4 , 8 , 31 , 32            
  13. 'Deflcdchar ? , 32 , 32 , 14 , 1 , 15 , 17 , 15 , 2            'ą
  14.  
  15. Config Porta = Input
  16. Config Portb = Output
  17.  
  18. Config Lcd = 16 * 2
  19. 'Config Lcdpin = Pin , Db4 = P3.4 , Db5 = P3.5 , Db6 = P3.6 , Db7 = P3.7 , E = P3.3 , Rs = P3.1   'konfig z zajec
  20. Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portb.2 , Rs = Portb.0
  21.  
  22. 'Set Porta
  23.  
  24. Dim Dlugosc As Byte
  25. Dim Stan As Byte
  26. Dim Flaga As Bit
  27. Dim I As Byte
  28. Dim J As Byte
  29. Dim Tajnyszyfriterator As Byte
  30.  
  31. Dim Szyfr(9) As Byte
  32. Dim Szyfruser(9) As Byte
  33. Dim Tajnyszyfr(16) As Byte
  34. Dim Tajnyszyfruser(16) As Byte
  35. '-------------------------------------------
  36. Const Wsk_flaga = &H00
  37. Const Wsk_1 = &H01
  38. Const Wsk_2 = &H02
  39. Const Wsk_3 = &H03
  40. Const Wsk_4 = &H04
  41. Const Wsk_5 = &H05
  42. Const Wsk_6 = &H06
  43. Const Wsk_7 = &H07
  44. Const Wsk_8 = &H08
  45. Const Wsk_9 = &H09
  46.  
  47. Dim Szyfr_pamiec(9) As Byte
  48. Szyfr_pamiec(1) = Wsk_1
  49. Szyfr_pamiec(2) = Wsk_2
  50. Szyfr_pamiec(3) = Wsk_3
  51. Szyfr_pamiec(4) = Wsk_4
  52. Szyfr_pamiec(5) = Wsk_5
  53. Szyfr_pamiec(6) = Wsk_6
  54. Szyfr_pamiec(7) = Wsk_7
  55. Szyfr_pamiec(8) = Wsk_8
  56. Szyfr_pamiec(9) = Wsk_9
  57.  
  58. Dim Flaga_eprom As Byte
  59. Flaga_eprom = 1
  60.  
  61. '--------------------------------------------
  62.  
  63. Tajnyszyfr(1) = 1
  64. Tajnyszyfr(2) = 2
  65. Tajnyszyfr(3) = 3
  66. Tajnyszyfr(4) = 4
  67. Tajnyszyfr(5) = 5
  68. Tajnyszyfr(6) = 6
  69. Tajnyszyfr(7) = 7
  70. Tajnyszyfr(8) = 8
  71. Tajnyszyfr(9) = 1
  72. Tajnyszyfr(10) = 2
  73. Tajnyszyfr(11) = 3
  74. Tajnyszyfr(12) = 4
  75. Tajnyszyfr(13) = 5
  76. Tajnyszyfr(14) = 6
  77. Tajnyszyfr(15) = 7
  78. Tajnyszyfr(16) = 8
  79.  
  80. Stan = 0
  81. Dlugosc = 0
  82. Flaga = 0
  83. ' tablice w bascomie zaczynają się od 1 xDDD
  84. I = 1
  85. Tajnyszyfriterator = 1
  86.  
  87. Declare Sub Wprowadz_dlugosc
  88. Declare Sub Wprowadz_szyfr1
  89. Declare Sub Wprowadz_szyfr2
  90. Declare Sub Sprawdz_szyfr
  91. Declare Sub Wprowadz_szyfr_otwieranie
  92. Declare Sub Sprawdz_szyfr_otwieranie
  93. Declare Sub Zmiana_szyfru
  94.  
  95. Dim Pom As Byte
  96. Dim Pom2 As Byte
  97. Pom2 = 16
  98. '-----------------------------------------------------
  99. ' if eprom == 0 to stan = 0
  100. ' jezeli w epromie cos jest to stan = 3 i uzupelniamy tablice "szyfr" zawartoscia epromu
  101.  
  102.  
  103. 'zapisane_halo to flaga z adresu pamieci w ktorym trzymam info o tym czy haslojest zapisane w pamieci,
  104. ' jesli 1 to zapisane
  105.  
  106. Dim Zapisane_haslo As Byte
  107. Readeeprom Zapisane_haslo , Wsk_flaga
  108.  
  109. If Zapisane_haslo = 1 Then
  110.    Stan = 3
  111.    Tajnyszyfriterator = 2 + Rnd(16)
  112.    For I = 1 To 9
  113.       Readeeprom Szyfr(i) , Szyfr_pamiec(i)
  114.    Next
  115. Else
  116.    Stan = 0
  117. End If
  118. '-------------------------------------------------------
  119.  
  120. ' aby zmienic haslo nalezy najpierw podac poprawny szyfr, a nastepnie podac tajny szyfr
  121.  
  122. ' main
  123. Do
  124.    Main:
  125.    Pom = Dlugosc + 1
  126.  
  127.    If Tajnyszyfriterator = 17 Then Call Zmiana_szyfru
  128.  
  129.    If Stan = 0 Then Call Wprowadz_dlugosc
  130.    If Stan = 1 Then Call Wprowadz_szyfr1
  131.    If Stan = 2 Then Call Wprowadz_szyfr2
  132.    If Stan = 3 Then Call Wprowadz_szyfr_otwieranie
  133.  
  134.    Print "dlugosc=" ; Dlugosc ; " i=" ; I ; " TajnySzyfrIterator=" ; Tajnyszyfriterator
  135.  
  136. Loop
  137. End
  138.  
  139. ' wprowadzanie dlugosci
  140. Sub Wprowadz_dlugosc
  141.  
  142.    If Flaga = 0 Then
  143.       Cls
  144.       Lcd "Jak d" ; Chr(0) ; "u" ; Chr(4) ; "i szyfr?"
  145.       Lowerline
  146.       Lcd "  D" ; Chr(0) ; "u" ; Chr(4) ; "o" ; Chr(1) ; Chr(2) ; ": "
  147.       Flaga = 1
  148.    End If
  149.  
  150.    If Porta.0 = 1 Then
  151.       Bitwait Porta.0 , Reset
  152.       Cls
  153.       Lcd " D" ; Chr(0) ; "u" ; Chr(4) ; "o" ; Chr(1) ; Chr(2) ; " szyfru "
  154.       Lowerline
  155.       Lcd " Pomi" ; Chr(3) ; "dzy 4 a 8 "
  156.       Wait 5
  157.       Flaga = 0
  158.       Goto Main
  159.    End If
  160.  
  161.    If Porta.1 = 1 Then
  162.       Bitwait Porta.1 , Reset
  163.       Cls
  164.       Lcd " D" ; Chr(0) ; "u" ; Chr(4) ; "o" ; Chr(1) ; Chr(2) ; " szyfru "
  165.       Lowerline
  166.       Lcd " Pomi" ; Chr(3) ; "dzy 4 a 8 "
  167.       Wait 5
  168.       Flaga = 0
  169.       Goto Main
  170.    End If
  171.  
  172.    If Porta.2 = 1 Then
  173.       Bitwait Porta.2 , Reset
  174.       Cls
  175.       Lcd " D" ; Chr(0) ; "u" ; Chr(4) ; "o" ; Chr(1) ; Chr(2) ; " szyfru "
  176.       Lowerline
  177.       Lcd " Pomi" ; Chr(3) ; "dzy 4 a 8 "
  178.       Wait 5
  179.       Flaga = 0
  180.       Goto Main
  181.    End If
  182.  
  183.    If Porta.3 = 1 Then
  184.       Bitwait Porta.3 , Reset
  185.       Lcd "4"
  186.       Dlugosc = 5
  187.       Stan = 1
  188.       Flaga = 0
  189.    End If
  190.  
  191.    If Porta.4 = 1 Then
  192.       Bitwait Porta.4 , Reset
  193.       Lcd "5"
  194.       Dlugosc = 6
  195.       Stan = 1
  196.       Flaga = 0
  197.    End If
  198.  
  199.    If Porta.5 = 1 Then
  200.       Bitwait Porta.5 , Reset
  201.       Lcd "6"
  202.       Dlugosc = 7
  203.       Stan = 1
  204.       Flaga = 0
  205.    End If
  206.  
  207.    If Porta.6 = 1 Then
  208.       Bitwait Porta.6 , Reset
  209.       Lcd "7"
  210.       Dlugosc = 8
  211.       Stan = 1
  212.       Flaga = 0
  213.    End If
  214.  
  215.    If Porta.7 = 1 Then
  216.       Bitwait Porta.7 , Reset
  217.       Lcd "8"
  218.       Dlugosc = 9
  219.       Stan = 1
  220.       Flaga = 0
  221.    End If
  222.  
  223.  
  224. End Sub
  225.  
  226. ' wprowadzanie szyfru
  227. Sub Wprowadz_szyfr1
  228.  
  229.    If Flaga = 0 Then
  230.       Cls
  231.       Lcd "  Podaj szyfr"
  232.       Lowerline
  233.       Lcd "Szyfr: "
  234.       Flaga = 1
  235.    End If
  236.  
  237.    If I = Dlugosc Then
  238.  
  239.       ' sprawdzanie czy podany przez uzytkownika szyfr przypadkiem
  240.       ' nie pokrywa się z tajnymszyfrem
  241.       ' jakby się pokrywał to zmiana hasła byłaby niemożliwa
  242.  
  243.       ' jeden
  244.  
  245.       Dim Spr2 As Bit
  246.       Dim Jedenkrotszyoddlugosc As Byte
  247.       Jedenkrotszyoddlugosc = Dlugosc - 1
  248.  
  249.       Spr2 = 0
  250.  
  251.       For J = 1 To Jedenkrotszyoddlugosc
  252.          If Tajnyszyfr(j) <> Szyfr(j) Then
  253.             Spr2 = 1
  254.             Exit For
  255.          Else
  256.             Spr2 = 0
  257.          End If
  258.       Next J
  259.  
  260.       'For J = 1 To Jedenkrotszyoddlugosc
  261.       '   Print "szyfr: " ; Szyfr(j) ; " tajny szyfr: " ; Tajnyszyfr(j)
  262.       'Next J
  263.       'Print "spr2: " ; Spr2
  264.  
  265.       ' dwa
  266.  
  267.       Dim Dlugosc2 As Byte
  268.       Dlugosc2 = Jedenkrotszyoddlugosc * 2
  269.  
  270.       Dim J2 As Byte
  271.       J2 = Dlugosc
  272.  
  273.       If Dlugosc2 <= 16 And Spr2 <> 0 Then
  274.          Spr2 = 0
  275.          For J = 1 To Jedenkrotszyoddlugosc
  276.             If Tajnyszyfr(j2) <> Szyfr(j) Then
  277.                Spr2 = 1
  278.             Else
  279.                Spr2 = 0
  280.             End If
  281.             Incr J2
  282.          Next J
  283.       End If
  284.  
  285.       'J2 = Dlugosc
  286.       'For J = 1 To Jedenkrotszyoddlugosc
  287.       '   Print "szyfr: " ; Szyfr(j) ; " tajny szyfr: " ; Tajnyszyfr(j2)
  288.       '   Incr J2
  289.       'Next J
  290.       'Print "spr2: " ; Spr2
  291.  
  292.       ' trzy
  293.  
  294.       Dlugosc2 = Jedenkrotszyoddlugosc * 3
  295.       J2 = Dlugosc * 2
  296.  
  297.       If Dlugosc2 <= 16 And Spr2 <> 0 Then
  298.          Spr2 = 0
  299.          For J = 1 To Jedenkrotszyoddlugosc
  300.             If Tajnyszyfr(j2) <> Szyfr(j) Then
  301.                Spr2 = 1
  302.                Exit For
  303.             Else
  304.                Spr2 = 0
  305.             End If
  306.             Incr J2
  307.          Next J
  308.       End If
  309.  
  310.       'J2 = Dlugosc * 2
  311.       'J2 = J2 - 1
  312.       'For J = 1 To Jedenkrotszyoddlugosc
  313.       '   Print "szyfr: " ; Szyfr(j) ; " tajny szyfr: " ; Tajnyszyfr(j2)
  314.       '   Incr J2
  315.       'Next J
  316.       'Print "spr2: " ; Spr2
  317.  
  318.       ' cztery
  319.  
  320.       Dlugosc2 = Jedenkrotszyoddlugosc * 4
  321.       J2 = Dlugosc * 3
  322.  
  323.       If Dlugosc2 <= 16 And Spr2 <> 0 Then
  324.          Spr2 = 0
  325.          For J = 1 To Jedenkrotszyoddlugosc
  326.             If Tajnyszyfr(j2) <> Szyfr(j) Then
  327.                Spr2 = 1
  328.                Exit For
  329.             Else
  330.                Spr2 = 0
  331.             End If
  332.             Incr J2
  333.          Next J
  334.       End If
  335.  
  336.       'J2 = Dlugosc * 3
  337.       'J2 = J2 - 1
  338.       'For J = 1 To Jedenkrotszyoddlugosc
  339.       '   Print "szyfr: " ; Szyfr(j) ; " tajny szyfr: " ; Tajnyszyfr(j2)
  340.       '   Incr J2
  341.       'Next J
  342.       'Print "spr2: " ; Spr2
  343.  
  344.  
  345.       ' jezeli nie pokrywają się to idz do potwierdzenia
  346.       If Spr2 = 1 Then
  347.          Stan = 2
  348.          Flaga = 0
  349.          I = 1
  350.          Goto Main
  351.       ' jezeli pokrywają się to wróć to ustawiania długosci
  352.       Else
  353.          Stan = 0
  354.          Flaga = 0
  355.          I = 1
  356.          Wait 5
  357.          Lcd "  wprowadzono   "
  358.          Lowerline
  359.          Lcd "  zajety szyfr  "
  360.          Goto Main
  361.       End If
  362.  
  363.    End If
  364.  
  365.    If Porta.0 = 1 Then
  366.       Bitwait Porta.0 , Reset
  367.       Lcd "#"
  368.       Szyfr(i) = 1
  369.       Incr I
  370.    End If
  371.  
  372.    If Porta.1 = 1 Then
  373.       Bitwait Porta.1 , Reset
  374.       Lcd "#"
  375.       Szyfr(i) = 2
  376.       Incr I
  377.    End If
  378.  
  379.    If Porta.2 = 1 Then
  380.       Bitwait Porta.2 , Reset
  381.       Lcd "#"
  382.       Szyfr(i) = 3
  383.       Incr I
  384.    End If
  385.  
  386.    If Porta.3 = 1 Then
  387.       Bitwait Porta.3 , Reset
  388.       Lcd "#"
  389.       Szyfr(i) = 4
  390.       Incr I
  391.    End If
  392.  
  393.    If Porta.4 = 1 Then
  394.       Bitwait Porta.4 , Reset
  395.       Lcd "#"
  396.       Szyfr(i) = 5
  397.       Incr I
  398.    End If
  399.  
  400.    If Porta.5 = 1 Then
  401.       Bitwait Porta.5 , Reset
  402.       Lcd "#"
  403.       Szyfr(i) = 6
  404.       Incr I
  405.    End If
  406.  
  407.    If Porta.6 = 1 Then
  408.       Bitwait Porta.6 , Reset
  409.       Lcd "#"
  410.       Szyfr(i) = 7
  411.       Incr I
  412.    End If
  413.  
  414.    If Porta.7 = 1 Then
  415.       Bitwait Porta.7 , Reset
  416.       Lcd "#"
  417.       Szyfr(i) = 8
  418.       Incr I
  419.    End If
  420.  
  421.  
  422. End Sub
  423.  
  424. ' potwierdzanie szyfru
  425. Sub Wprowadz_szyfr2
  426.  
  427.    If Flaga = 0 Then
  428.       Flaga = 1
  429.       Cls
  430.       Lcd " Potwierd" ; Chr(5) ; " szyfr"
  431.       Lowerline
  432.       Lcd "Szyfr: "
  433.       Flaga = 1
  434.    End If
  435.  
  436.    If I = Dlugosc Then
  437.       Stan = 2
  438.       Flaga = 0
  439.       I = 1
  440.       Call Sprawdz_szyfr
  441.    End If
  442.  
  443.    If Porta.0 = 1 Then
  444.       Bitwait Porta.0 , Reset
  445.       Lcd "#"
  446.       Szyfruser(i) = 1
  447.       Incr I
  448.    End If
  449.  
  450.    If Porta.1 = 1 Then
  451.       Bitwait Porta.1 , Reset
  452.       Lcd "#"
  453.       Szyfruser(i) = 2
  454.       Incr I
  455.    End If
  456.  
  457.    If Porta.2 = 1 Then
  458.       Bitwait Porta.2 , Reset
  459.       Lcd "#"
  460.       Szyfruser(i) = 3
  461.       Incr I
  462.    End If
  463.  
  464.    If Porta.3 = 1 Then
  465.       Bitwait Porta.3 , Reset
  466.       Lcd "#"
  467.       Szyfruser(i) = 4
  468.       Incr I
  469.    End If
  470.  
  471.    If Porta.4 = 1 Then
  472.       Bitwait Porta.4 , Reset
  473.       Lcd "#"
  474.       Szyfruser(i) = 5
  475.       Incr I
  476.    End If
  477.  
  478.    If Porta.5 = 1 Then
  479.       Bitwait Porta.5 , Reset
  480.       Lcd "#"
  481.       Szyfruser(i) = 6
  482.       Incr I
  483.    End If
  484.  
  485.    If Porta.6 = 1 Then
  486.       Bitwait Porta.6 , Reset
  487.       Lcd "#"
  488.       Szyfruser(i) = 7
  489.       Incr I
  490.    End If
  491.  
  492.    If Porta.7 = 1 Then
  493.       Bitwait Porta.7 , Reset
  494.       Lcd "#"
  495.       Szyfruser(i) = 8
  496.       Incr I
  497.    End If
  498.  
  499. End Sub
  500.  
  501. ' sprawdzanie czy podany szyfr zgadza sie z jego potwierdzeniem
  502. Sub Sprawdz_szyfr
  503.  
  504.    Flaga = 0
  505.  
  506.    For J = 1 To Dlugosc
  507.       If Szyfr(j) <> Szyfruser(j) Then
  508.          Flaga = 0
  509.          Exit For
  510.       Else
  511.          Flaga = 1
  512.       End If
  513.       'Print "J=" ; J ; " " ; Szyfr(j) ; " " ; Szyfruser(j) ; " flaga= " ; Flaga
  514.    Next J
  515.  
  516.    'Print "flaga=" ; Flaga
  517.  
  518.    If Flaga = 0 Then
  519.       Cls
  520.       Lcd " Podano r" ; Chr(6) ; Chr(7) ; "ne "
  521.       Lowerline
  522.       Lcd "     szyfry!    "
  523.       Wait 5
  524.       Stan = 0
  525.       Flaga = 0
  526.       I = 1
  527.    Else
  528.       Cls
  529.       Lcd "  Szyfr zosta" ; Chr(0) ; "  "
  530.       Lowerline
  531.       Lcd "   ustawiony!   "
  532.       '------------------------------------------------------------------
  533.       ' Tutaj zrobić zapis tablicy "Szyfr" do EPROM!!!'
  534.  
  535.       Tajnyszyfriterator = 2 + Rnd(16)
  536.  
  537.       For I = 1 To 9
  538.          Writeeeprom Szyfr(i) , Szyfr_pamiec(i)
  539.       Next
  540.  
  541.       Writeeeprom Flaga_eprom , Wsk_flaga
  542.  
  543.       '-----------------------------------------------------------------
  544.       Wait 5
  545.       Stan = 3
  546.       Flaga = 0
  547.       I = 1
  548.    End If
  549.  
  550. End Sub
  551.  
  552. ' domyslny tryb pracy (otwieranie sejfu jezeli szyfr jest poprawny)
  553. Sub Wprowadz_szyfr_otwieranie
  554.  
  555.    If Flaga = 0 Then
  556.       Cls
  557.       Lcd "  Podaj szyfr"
  558.       Lowerline
  559.       Lcd "Szyfr: "
  560.       Flaga = 1
  561.    End If
  562.  
  563.    If I = Dlugosc Then
  564.       Stan = 2
  565.       Flaga = 0
  566.       I = 1
  567.       Call Sprawdz_szyfr_otwieranie
  568.    End If
  569.  
  570.    If Porta.0 = 1 Then
  571.       Bitwait Porta.0 , Reset
  572.       Lcd "#"
  573.       Szyfruser(i) = 1
  574.       Incr I
  575.       Tajnyszyfruser(tajnyszyfriterator) = 1
  576.       Incr Tajnyszyfriterator
  577.    End If
  578.  
  579.    If Porta.1 = 1 Then
  580.       Bitwait Porta.1 , Reset
  581.       Lcd "#"
  582.       Szyfruser(i) = 2
  583.       Incr I
  584.       Tajnyszyfruser(tajnyszyfriterator) = 2
  585.       Incr Tajnyszyfriterator
  586.    End If
  587.  
  588.    If Porta.2 = 1 Then
  589.       Bitwait Porta.2 , Reset
  590.       Lcd "#"
  591.       Szyfruser(i) = 3
  592.       Incr I
  593.       Tajnyszyfruser(tajnyszyfriterator) = 3
  594.       Incr Tajnyszyfriterator
  595.    End If
  596.  
  597.    If Porta.3 = 1 Then
  598.       Bitwait Porta.3 , Reset
  599.       Lcd "#"
  600.       Szyfruser(i) = 4
  601.       Incr I
  602.       Tajnyszyfruser(tajnyszyfriterator) = 4
  603.       Incr Tajnyszyfriterator
  604.    End If
  605.  
  606.    If Porta.4 = 1 Then
  607.       Bitwait Porta.4 , Reset
  608.       Lcd "#"
  609.       Szyfruser(i) = 5
  610.       Incr I
  611.       Tajnyszyfruser(tajnyszyfriterator) = 5
  612.       Incr Tajnyszyfriterator
  613.    End If
  614.  
  615.    If Porta.5 = 1 Then
  616.       Bitwait Porta.5 , Reset
  617.       Lcd "#"
  618.       Szyfruser(i) = 6
  619.       Incr I
  620.       Tajnyszyfruser(tajnyszyfriterator) = 6
  621.       Incr Tajnyszyfriterator
  622.    End If
  623.  
  624.    If Porta.6 = 1 Then
  625.       Bitwait Porta.6 , Reset
  626.       Lcd "#"
  627.       Szyfruser(i) = 7
  628.       Incr I
  629.       Tajnyszyfruser(tajnyszyfriterator) = 7
  630.       Incr Tajnyszyfriterator
  631.    End If
  632.  
  633.    If Porta.7 = 1 Then
  634.       Bitwait Porta.7 , Reset
  635.       Lcd "#"
  636.       Szyfruser(i) = 8
  637.       Incr I
  638.       Tajnyszyfruser(tajnyszyfriterator) = 8
  639.       Incr Tajnyszyfriterator
  640.    End If
  641.  
  642. End Sub
  643.  
  644. ' sprawdzanie czy podany przez uzytkownika szyfr jest poprawny
  645. Sub Sprawdz_szyfr_otwieranie
  646.  
  647.    Flaga = 0
  648.  
  649.    For J = 1 To Dlugosc
  650.       If Szyfr(j) <> Szyfruser(j) Then
  651.          Flaga = 0
  652.          Exit For
  653.       Else
  654.          Flaga = 1
  655.       End If
  656.    Next J
  657.  
  658.    If Flaga = 1 Then
  659.       Cls
  660.       Lcd "   Otwarte :)   "
  661.       Wait 60
  662.       Stan = 3
  663.       Flaga = 0
  664.       I = 1
  665.       Tajnyszyfriterator = 1
  666.    Else
  667.       'SEBA: doisac sprawdzanie czy tajny szyfr jest poprawnie wprowadzany jesli nie to losowac liczbe
  668.  
  669.       Dim Spr As Bit
  670.       Dim Jedenmniej As Byte
  671.       Jedenmniej = Tajnyszyfriterator - 1
  672.  
  673.       For J = 1 To Jedenmniej
  674.          Print "tajnyszyfr: " ; Tajnyszyfr(j) ; " tajny szyfr user: " ; Tajnyszyfruser(j)
  675.          If Tajnyszyfruser(j) <> Tajnyszyfr(j) Then
  676.             Spr = 0
  677.             Exit For
  678.          Else
  679.             Spr = 1
  680.          End If
  681.       Next J
  682.  
  683.       If Spr = 0 Then
  684.          Tajnyszyfriterator = 1
  685.       End If
  686.  
  687.       Cls
  688.       Lcd "  Podano b" ; Chr(0) ; Chr(3) ; "dny  "
  689.       Lowerline
  690.       Lcd "     szyfr!   "
  691.       Wait 5
  692.       Stan = 3
  693.       Flaga = 0
  694.       I = 1
  695.    End If
  696.  
  697. End Sub
  698.  
  699. ' sprawdzanie czy ukryty szyfr jest poprawny
  700. Sub Zmiana_szyfru
  701.  
  702.    Tajnyszyfriterator = 1
  703.    Flaga = 0
  704.    'Break
  705.  
  706.    For J = 1 To Pom2
  707.       If Tajnyszyfr(j) <> Tajnyszyfruser(j) Then
  708.          Flaga = 0
  709.          Exit For
  710.       Else
  711.          Flaga = 1
  712.       End If
  713.       'Print Tajnyszyfr(j) ; " " ; Tajnyszyfruser(j)
  714.    Next J
  715.  
  716.    For J = 1 To Pom2
  717.       'Print "TajnySzyfr= " ; Tajnyszyfr(j) ; " " ; "TajnySzyfrUser= " ; Tajnyszyfruser(j)
  718.    Next J
  719.  
  720.    If Flaga = 1 Then
  721.       Cls
  722.       Lcd "  wprowadzono   "
  723.       Lowerline
  724.       Lcd "  tajny szyfr   "
  725.       Wait 4
  726.       Flaga = 0
  727.       I = 1
  728.       Stan = 0
  729.       Goto Main
  730.    End If
  731.  
  732. End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement