Advertisement
OtsoSilver

Untitled

Nov 6th, 2021
897
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 7.20 KB | None | 0 0
  1. #pgzero
  2. WIDTH = 800
  3. HEIGHT = 800
  4. TITLE = "КАК"
  5. lvl = 0
  6. a = Actor("а",(45,557))
  7. b = Actor("б_ненужная",(85,557))
  8. v = Actor("в",(141,557))
  9. g = Actor("г",(183,557))
  10. d = Actor("д",(233,557))
  11. e = Actor("е",(293,557))
  12. io = Actor("ё",(341,557))
  13. gh = Actor("ж",(385,557))
  14. zh = Actor("з",(433,557))
  15. i = Actor("и",(481,557))
  16. iy = Actor("й",(531,557))
  17. k = Actor("к",(579,557))
  18. l = Actor("л",(625,557))
  19. m = Actor("м",(681,557))
  20. n = Actor("н",(731,557))
  21. o = Actor("о",(41,621))
  22. p = Actor("п",(89,621))
  23. r = Actor("р",(129,621))
  24. s = Actor("с",(183,621))
  25. t = Actor("т",(223,621))
  26. u = Actor("у",(287,621))
  27. ph = Actor("ф",(343,621))
  28. h = Actor("х",(391,621))
  29. ch = Actor("ц",(457,621))
  30. cht = Actor("ч",(521,621))
  31. shh = Actor("ш",(569,621))
  32. sHh = Actor("щ",(621,621))
  33. tv_zn = Actor("ъ",(655,621))
  34. tv_i = Actor("ы",(709,621))
  35. mh_zn = Actor("ь",(757,621))
  36. E = Actor("э",(51,691))
  37. yu = Actor("ю",(97,691))
  38. ya = Actor("я",(167,691))
  39. nol = Actor("0",(49,753))
  40. odin = Actor("1",(99,753))
  41. dwa = Actor("2",(151,753))
  42. tri = Actor("3",(191,753))
  43. chetsre = Actor("4",(241,753))
  44. pyat = Actor("5",(291,753))
  45. shest = Actor("6",(341,753))
  46. sem = Actor("7",(391,753))
  47. vosem = Actor("8",(441,753))
  48. devyat = Actor("9",(491,753))
  49. ng_podch = Actor("подчёркивание",(237,691))
  50. strelka = Actor("стрелка",(307,691))
  51. slash = Actor("слэш",(377,691))
  52. reshit = Actor("решить",(500,691))
  53. fon = Actor("фон")
  54. tochka = Actor("точка")
  55. bukvi = [a, b, v, g, d, e, io, gh, zh, i, iy, k, l, m, n, o, p, r, s, t, u, ph, h, ch, cht, shh, sHh, tv_zn, tv_i, mh_zn, E, yu, ya, slash , ng_podch]
  56. cifri = [nol, odin, dwa,tri , chetsre , pyat , shest , sem , vosem , devyat]
  57. bukvi_0 = []
  58. cifri_0 = []
  59. bukva_0 = []
  60. cifra_0 = []
  61. player_answer = []
  62. nado = [bukvi, cifri]
  63. ng_podchiya = []
  64. ver_otvet_0 = [shest]
  65. ver_otvet_1 = [p, i, r, a, t]
  66. ver_otvet_2 = [ch,e,zh,a,r,mh_zn]
  67. ver_otvet_3 = [chetsre]
  68. ver_otvet_4 = [gh, o, p, o, iy, ng_podch,o,b,ng_podch,k,o,s,ya,k]
  69. ver_otveti = [ver_otvet_0,ver_otvet_1, ver_otvet_2, ver_otvet_3, ver_otvet_4]
  70. vopros = []
  71. ver_otvet = []
  72. vopros_0 = ["2+2*2"]
  73. vopros_1 = ["0_*"]
  74. vopros_2 = ["Камень + мертвец"]
  75. vopros_3 = ["Миста"]
  76. vopros_4 = ["Как?"]
  77. voprosi = [vopros_0 , vopros_1 , vopros_2 , vopros_3 , vopros_4 ]
  78. for_mode0 = [voprosi[0], ver_otveti[0]]
  79. mode0 = 'lvl1'
  80. for_mode1 = [voprosi[1], ver_otveti[1]]
  81. mode1 = 'lvl2'
  82. for_mode2 = [voprosi[2], ver_otveti[2]]
  83. mode2 = 'lvl3'
  84. for_mode3 = [voprosi[3], ver_otveti[3]]
  85. mode3 = 'lvl4'
  86. for_mode4 = [voprosi[4], ver_otveti[4]]
  87. mode4 = 'lvl5'
  88. end = "end"
  89. for_modes = [for_mode0 , for_mode1 , for_mode2, for_mode3 , for_mode4]
  90. modes = [mode0, mode1 , mode2 , mode3 , mode4, end]
  91. mode = modes[0]
  92.  
  93. aboba = 200
  94. boba = 500
  95. otvet=[]
  96. ver_otvet = []
  97. def first_lvl():
  98.     vopros = for_modes[0][0][0]
  99.     ver_otvet = for_modes[0][1]
  100. def second_lvl():
  101.     vopros = for_modes[1][0][0]
  102.     ver_otvet = for_modes[1][1]
  103. def third_lvl():
  104.     vopros = for_modes[2][0]
  105.     ver_otvet = for_modes[2][1]
  106. def fourth_lvl():
  107.     vopros = for_modes[3][0][0]
  108.     ver_otvet = for_modes[3][1]
  109. def fifth_lvl():
  110.     vopros = for_modes[4][0][0]
  111.     ver_otvet = for_modes[4][1]
  112. def end():
  113.     screen.draw.text("Конец", center=(300, 400), color = 'white', fontsize = 36)
  114.  
  115. def obj_to_img(answ_list):
  116.     img_list = []
  117.     for i in answ_list:
  118.         img_list.append(i.image)
  119.     return img_list
  120. def on_mouse_down(button,pos):
  121.     tochka.pos = pos
  122.     nado_index = tochka.collidelist(nado[0])
  123.     if nado_index != -1:
  124.         nd = (nado[0])[nado_index]
  125.         if button == mouse.LEFT and nd.collidepoint(pos):
  126.             nd.animate
  127.             if player_answer:
  128.                 buk = Actor(nd.image, center=(player_answer[-1].x+25,450))
  129.             else:
  130.                 buk = Actor(nd.image, center=(300,450))
  131.             player_answer.append(buk)
  132.     nado_index = tochka.collidelist(nado[1])
  133.     if nado_index != -1:
  134.         nd = (nado[1])[nado_index]
  135.         if button == mouse.LEFT and nd.collidepoint(pos):
  136.             if player_answer:
  137.                 num = Actor(nd.image, center=(player_answer[-1].x+25,450))
  138.             else:
  139.                 num = Actor(nd.image, center=(300,450))
  140.             player_answer.append(num)
  141.     if button == mouse.LEFT:
  142.         if reshit.collidepoint(pos):
  143.             global mode
  144.             print('qw')
  145.             tochka.pos = pos
  146.             if mode == modes[0]:
  147.                 if obj_to_img([shest])== obj_to_img(player_answer):
  148.                     mode = modes[0+1]
  149.                     print('res1')
  150.             if mode == modes[1]:    
  151.                 if obj_to_img([p, i, r, a, t]) == obj_to_img(player_answer):
  152.                     mode = modes[1+1]
  153.             if mode == modes[2]:    
  154.                 if obj_to_img([ch,e,zh,a,r,mh_zn]) == obj_to_img(player_answer):
  155.                     mode = modes[2+1]
  156.             if mode == modes[3]:    
  157.                 if obj_to_img([chetsre]) == obj_to_img(player_answer):
  158.                     mode = modes[3+1]
  159.             if mode == modes[4]:    
  160.                 if obj_to_img([gh, o, p, o, iy, ng_podch,o,b,ng_podch,k,o,s,ya,k]) == obj_to_img(player_answer):
  161.                     mode = modes[4+1]
  162.     if button == mouse.LEFT and strelka.collidepoint(pos):
  163.         tochka.pos = pos
  164.         player_answer.pop(-1)
  165.            
  166. def abobus(nado, ver_otvet):
  167.     for i in range(min(len(nado[0]), len(ver_otvet))):
  168.         if nado[0][i] != ver_otvet[i]:
  169.             return False
  170.     return len(nado[0]) == len(ver_otvet)
  171.     for i in range(min(len(nado[1]), len(ver_otvet))):
  172.         if nado[1][i] != ver_otvet[i]:
  173.             return False
  174.     return len(nado[1]) == len(ver_otvet)
  175. def draw():
  176.     fon.draw()
  177.     dl_podch = Actor("длинная_палка(1)", center=(400,500))
  178.     dl_podch.draw()
  179.     for i in range(len(bukvi)):
  180.         bukvi[i].draw()
  181.     for i in range(len(cifri)):
  182.         cifri[i].draw()
  183.     for p_a in player_answer:
  184.         p_a.draw()
  185.     strelka.draw()
  186.     reshit.draw()
  187.     slash.draw()
  188.     if mode == modes[0]:
  189.         screen.draw.text(voprosi[0], center=(400, 300), color = 'white', fontsize = 36)
  190.     if mode == modes[1]:
  191.         screen.draw.text(voprosi[1], center=(400, 300), color = 'white', fontsize = 36)
  192.     if mode == modes[2]:
  193.         screen.draw.text(voprosi[2], center=(400, 300), color = 'white', fontsize = 36)
  194.     if mode == modes[3]:
  195.         screen.draw.text(voprosi[3], center=(400, 300), color = 'white', fontsize = 36)
  196.     if mode == modes[4]:
  197.         screen.draw.text(voprosi[4], center=(400, 300), color = 'white', fontsize = 36)
  198.     if mode == modes[5]:
  199.         screen.draw.text("Конец", center=(400, 300), color = 'white', fontsize = 36)
  200. def update(dt):
  201.     if mode == modes[0]:
  202.         first_lvl()
  203.         abobus(nado, ver_otvet)
  204.        
  205.     if mode == modes[1]:
  206.         second_lvl()
  207.         abobus(nado, ver_otvet)
  208.        
  209.     if mode == modes[2]:
  210.         third_lvl()
  211.         abobus(nado, ver_otvet)
  212.        
  213.     if mode == modes[3]:
  214.         fourth_lvl()
  215.         abobus(nado, ver_otvet)
  216.        
  217.     if mode == modes[4]:
  218.         fifth_lvl()
  219.         abobus(nado, ver_otvet)
  220.        
  221.     if mode == modes[5]:
  222.         end()
  223.    
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement