Pygame. Урок 10

Конечно создание угадайки - это довольно простое задание.Но в данном уроке используется несколько преобразований из строки в число и из числа в строку.Также реализовано принятие только числовых данных от пользователя.Таким образом создано играбельное игровое приложение.Естественно оно не очень затягивает на долгое время,но является работоспособным вариантом идеи,знакомой всем игроделам.

import pygame
import random
pygame.init()
 
sc = pygame.display.set_mode((700, 500))

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

text1 = f1.render('Какое число загадал компьютер от 1 до 100?', 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 = random.randint(1,100)
print(computer_number)
user_number = ""
user_num_enter = 0
while 1:
   
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            
        if event.type == pygame.KEYDOWN:
         key=pygame.key.name(event.key)
         if (key.isdigit()):
          user_number += str(key)
       
         inputtext = f1.render("пользователь ввёл число "+str(user_number), False,(0, 180, 0))
         
         
         if event.key == pygame.K_RETURN:
             if (len(user_number) > 0):
              user_num_enter = int(user_number)
             user_number = ""
             if (user_num_enter > computer_number):
              text3 = f1.render("Число игрока больше", False,(0, 180, 0))
             
             if (user_num_enter < computer_number):
              text3 = f1.render("Число игрока меньше", False,(0, 180, 0))
            
             if (user_num_enter == computer_number):
               
              text2 = f1.render('Компьютер загадал число '+str(computer_number), True,(180, 0, 0))
              text3 = f1.render("Вы угадали число", False,(0, 180, 0))
              computer_number = random.randint(1,100)
              print(computer_number)

             
    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))

   
    pygame.display.update()


Рецензии