Воскресенье, 24.11.2024, 14:55 | Приветствую Вас Гость

...

Блог


19:37
Pygame.Урок 10

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

Данная программа считывает от пользователя только ввод цифр.Если ввести с клавиатуры что-то отличное от цифр,то этот ввод отбрасывается.Функция pygame.key.name возвращает идентификатор нажатой клавиши,для цифры в pygame этот идентификатор является строкой,которую легко преобразовать в её числовой эквивалент.

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

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

Меню сайта

Мини-чат

Статистика


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

Форма входа

Календарь

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

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

Друзья сайта

  • ЗОВ КОСМОСА

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

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

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

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