Advertisement
InsanE_ChilD

loto

Mar 22nd, 2018
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.55 KB | None | 0 0
  1. #!/usr/bin/python3
  2.  
  3. """
  4. == Лото ==
  5.  
  6. Правила игры в лото.
  7.  
  8. Игра ведется с помощью специальных карточек, на которых отмечены числа,
  9. и фишек (бочонков) с цифрами.
  10.  
  11. Количество бочонков — 90 штук (с цифрами от 1 до 90).
  12.  
  13. Каждая карточка содержит 3 строки по 9 клеток. В каждой строке по 5 случайных цифр,
  14. расположенных по возрастанию. Все цифры в карточке уникальны. Пример карточки:
  15.  
  16. --------------------------
  17. 9 43 62 74 90
  18. 2 27 75 78 82
  19. 41 56 63 76 86
  20. --------------------------
  21.  
  22. В игре 2 игрока: пользователь и компьютер. Каждому в начале выдается
  23. случайная карточка.
  24.  
  25. Каждый ход выбирается один случайный бочонок и выводится на экран.
  26. Также выводятся карточка игрока и карточка компьютера.
  27.  
  28. Пользователю предлагается зачеркнуть цифру на карточке или продолжить.
  29. Если игрок выбрал "зачеркнуть":
  30. Если цифра есть на карточке - она зачеркивается и игра продолжается.
  31. Если цифры на карточке нет - игрок проигрывает и игра завершается.
  32. Если игрок выбрал "продолжить":
  33. Если цифра есть на карточке - игрок проигрывает и игра завершается.
  34. Если цифры на карточке нет - игра продолжается.
  35.  
  36. Побеждает тот, кто первый закроет все числа на своей карточке.
  37.  
  38. Пример одного хода:
  39.  
  40. Новый бочонок: 70 (осталось 76)
  41. ------ Ваша карточка -----
  42. 6 7 49 57 58
  43. 14 26 - 78 85
  44. 23 33 38 48 71
  45. --------------------------
  46. -- Карточка компьютера ---
  47. 7 87 - 14 11
  48. 16 49 55 88 77
  49. 15 20 - 76 -
  50. --------------------------
  51. Зачеркнуть цифру? (y/n)
  52.  
  53. Подсказка: каждый следующий случайный бочонок из мешка удобно получать
  54. с помощью функции-генератора.
  55.  
  56. Подсказка: для работы с псевдослучайными числами удобно использовать
  57. модуль random: http://docs.python.org/3/library/random.html
  58.  
  59. """
  60. import random
  61. # r1 = range(1,10)
  62. # r3 = range(20,30)
  63. # a = 1
  64. # b = 10
  65. # d = random.randrange(a,b)
  66. # any_list = []
  67. # print(d)
  68. # while len(any_list) < 9:
  69. # any_list.append(random.randrange(a,b))
  70. # a = b
  71. # b +=10
  72. # if len(any_list) == 7:
  73. # any_list.append(random.randrange(a,b))
  74. # a = b
  75. # b +=11
  76. # print(any_list)
  77.  
  78. # while any_list.count(' ') != 4:
  79. # a = random.choice(any_list)
  80. # print(a)
  81. # ind = any_list.index(a)
  82. # print(ind)
  83. # any_list.remove(a)
  84. # any_list.insert(ind, ' ')
  85. # for i in any_list:
  86. # print(i, end = ' ')
  87.  
  88.  
  89. class Cards:
  90. def __init__(self):
  91. self.card = [[],[],[]]
  92.  
  93. def make_kard(self, lst):
  94. for i in lst:
  95. k = 0
  96. first = 1
  97. last = 10
  98. while len(i) < 9:
  99. a = random.randrange(first,last)
  100. print(a)
  101. print(k)
  102. while k < 3:
  103. if a not in lst[k]:
  104. print(lst[k])
  105. k += 1
  106. else:
  107. a = random.randrange(first, last)
  108. k = 0
  109. i.append(a)
  110. first = last
  111. last += 1
  112. if len(i) == 7:
  113. k=0
  114. a = random.randrange(first,last)
  115. while k < 3:
  116. if a not in lst[k]:
  117. k += 1
  118. else:
  119. a = random.randrange(first, last)
  120. k = 0
  121. i.append(a)
  122. first = last
  123. last += 11
  124. k = 0
  125.  
  126. k = Cards()
  127. k.make_kard(k.card)
  128. print(k.card)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement