Пятница, 01.11.2024, 12:31 | Приветствую Вас Гость

...

Блог


21:15
Pygame.Урок 8


Я немного переработал алгоритм работы урока 7.На самом деле этот переработанный алгоритм не является идеальным и совершенным,но по крайней мере игрок может чаще попадать в состояние успеха.Предыдущая версия алгоритма не давала шанса выиграть игроку у компьютера в подавляющем большинстве случаев.Я также добавил вывод количество попаданий и промахов.Теперь в алгоритме обратная тенденция - компьютер в  подавляющем большинстве случаев проигрывает игроку!
import pygame
import random
pygame.font.init()
 
sc = pygame.display.set_mode((700, 500))

 
f1 = pygame.font.Font(None, 36)

text1 = f1.render('Какое число загадал компьютер от 1 до 5?', True,(180, 0, 0))
text2 = f1.render('Компьютер еще не загадал число', True,(180, 0, 0))
inputtext = f1.render("пользователь еще не вводил числа", False,(0, 180, 0))
text3 = f1.render("", False,(0, 180, 0))
text4 = f1.render("", False,(0, 180, 0))
text5 = f1.render("", False,(0, 180, 0))
computer_number = 0
user_number = 0
counter_1 = 0
counter_2 = 0
while 1:
    
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            
        if event.type == pygame.KEYDOWN:
         if event.key == pygame.K_1:
           user_number = 1
           inputtext = f1.render("пользователь ввел число 1", False,(0, 180, 0))
         if event.key == pygame.K_2:
           user_number = 2
           inputtext = f1.render("пользователь ввел число 2", False,(0, 180, 0))
         if event.key == pygame.K_3:
           user_number = 3
           inputtext = f1.render("пользователь ввел число 3", False,(0, 180, 0))
         if event.key == pygame.K_4:
           user_number = 4
           inputtext = f1.render("пользователь ввел число 4", False,(0, 180, 0))
         if event.key == pygame.K_5:
           user_number = 5
           inputtext = f1.render("пользователь ввел число 5", False,(0, 180, 0))
         if event.key == pygame.K_RETURN:
             computer_number = random.randint(1,5)
             direction = random.randint(0,1)
             if (direction == 0):
              if (computer_number >=1 or computer_number <=3):
               computer_number = user_number
               
              if (direction == 1):
               if (computer_number >=3 or computer_number <=5):
                computer_number = user_number
                
             if (user_number == computer_number):
              counter_1 = counter_1 + 1
              text3 = f1.render("Правильно!", False,(0, 180, 0))
              text4 = f1.render("Количество попаданий "+str(counter_1), False,(0, 180, 0))
             else:
              counter_2 = counter_2 + 1
              text3 = f1.render("Неправильно!", False,(0, 180, 0))
              text5 = f1.render("Количество промахов "+str(counter_2), False,(0, 180, 0))
            
             
             text2 = f1.render('Компьютер загадал число '+str(computer_number), True,(180, 0, 0))

              
    sc.fill((255, 255, 255))
    sc.blit(text1, (10, 50))
    sc.blit(text2, (10, 150))
    sc.blit(text3, (10, 200))
    sc.blit(inputtext, (10,300))
    sc.blit(text4, (10, 350))
    sc.blit(text5, (10, 400))
    
    pygame.display.update()

Понятно,что можно доработать алгоритм так,что игрок и компьютер будут обладать почти равноправными возможностями.Хотя исключить полностью ввод пользователя невозможно,ибо человек - непредсказумое существо в отличие от компьютера,который функционирует в соответствие с аппаратной начинкой.Надо признать,что этот алгоритм всё же еще не является играбельным,как мне показало его тестировании.Так что поиск хорошего алгоритма применительно к этой задаче мной еще ведется и возможно я его найду.

Просмотров: 87 | Добавил: moskov | Рейтинг: 0.0/0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Меню сайта

Мини-чат

Статистика


Онлайн всего: 1
Гостей: 1
Пользователей: 0

Форма входа

Календарь

«  Июнь 2023  »
ПнВтСрЧтПтСбВс
   1234
567891011
12131415161718
19202122232425
2627282930

Архив записей

Друзья сайта

  • ЗОВ КОСМОСА

  • Хулиган Вселенной

  • Тюремная поэзия

  • Религиозная поэзия

  • Сайт клана ЛеГиоН
  • Поиск