Главная » 2015 » Апрель » 29 » Пишем игры. Урок1
23:00
Пишем игры. Урок1


Урок 1   Создаём простое игровое окно.

И так первый урок программирования предлагаю начать с написания и разбора программы простого игрового окна.В уроке есть видео демонстрирующее процесс записи и запуска программы на исполнение.

Для начала и знакомства программирования на Питоне удобно использовать сайт http://programarcadegames.com. В русской версии не плохо описаны операторы циклов и варианты использования элементарных прямоугольников. Но примеры программ можно использовать лишь в качестве простых конструкторов для полноценных  прикладных программ. Первая программа с движущимися частицами может быть использована как элемент создания футажей  с перемещающимися частицами по определенному закону. В видео можно посмотреть какие примеры кодов описываются на сайте http://programarcadegames.com.Ссылок на страницы кодов данного сайта не даю, так как процесс поиска интересующего вас материала позволит больше прочесть , а следовательно больше узнать о питоне.

 

Возможно создавать звёзды, снег, дождь, используя случайные числа. Самый простой способ: начать с цикла for для рисования кружков в случайных x,y позициях. Особенность кода в том ,что мы создаем снежинки(вернее их координаты -х и у) при помощи функции random до  основного цикла while.И заносим все снежинки в список.

 
for i in range(50):
x=random.randrange(0,400)
y=random.randrange(0,400)
star_list.append([x,y])

 

 
 

Внутри главного цикла while, программа может использовать цикл for для рисования каждой снежинки.

 
 
 
 

Копируем код программы в редактор и запускаем на исполнение.

попробуем разобрать простое игровое окно.

Код представляет собой окно черного цвета с падающим снегом белых точек.

значение каждой строки подписано, изменяем и удаляем элементы для закрепления практических навыков.

#!/usr/bin/env python
# -*- coding: utf-8 -*-

# СОЗДАЁМ ИГРОВОЕ ПОЛЕ рандомный снег



import pygame # импортируем библиотеку
import random # импортируем модуль генератора случайных чисел
window = pygame.display.set_mode((700,600))# создаём окно
pygame.display.set_caption('hello pygame') # титул строка

screen = pygame.Surface((700,600)) # создаем игровое поле

  
snow_list = [] # создаем пустой список
for i in range(50):#      создаем 50 точек
        x = random.randrange(0,700) # координате присвоить случайное значение от 0 до 700
        y = random.randrange(0,600) # координате присвоить случайное значение от 0 до 600
        snow_list.append([x, y])#  заносим в список


done = True# некая переменная
while done:# условие существования игрового цикла
    for e in pygame.event.get():# для любого события
   
        if e.type == pygame.QUIT:# если было закрытие окна
            done = False # цикл будет закончен(меняем значение условия жизни цикла)
    screen.fill((0,0,0)) # экран закрашиваем черным
    for item in snow_list:   # для каждого элемента из списка snow_list
        item[1] += 1         # текущей координате у прибавляам 1
        pygame.draw.circle(screen,(255,255,255),item,2)  # рисуем окружность(на экране (черным цветом),в х.у,радиусом 2)
        pygame.time.delay(1) # системная задержка(мили сек.)-умен
       
        if item[1]>600:      # если координата у элемента больше600 то
            item[1] = 0      # координате у элемента присвоить значение 0
            item[0] = random.randrange(700) # координате х присвоить случайное значение до 700       
          
    window.blit(screen,(0,0))# на окне прорисовываем поле игры
 
    pygame.display.flip()# отображаем полностью дисплей(окно)

Добавляем эффект ветра - наклон падения снега:

 

#!/usr/bin/env python
# -*- coding: utf-8 -*-

# СОЗДАЁМ ИГРОВОЕ ПОЛЕ рандомный снег


import os
import pygame # импортируем библиотеку
import random # импортируем модуль генератора случайных чисел
window = pygame.display.set_mode((600,600))# создаём окно
pygame.display.set_caption('hello pygame') # титул строка

screen = pygame.Surface((600,600)) # создаем игровое поле

 
snow_list = [] # создаем пустой список
for i in range(150):#      создаем 150 точек
    x = random.randrange(0,600) # координате присвоить случайное значение от 0 до 600
    y = random.randrange(0,600) # координате присвоить случайное значение от 0 до 600
    snow_list.append([x, y])#  заносим в список


done = True# некая переменная
while done:# условие существования игрового цикла
    for e in pygame.event.get():# для любого события
   
        if e.type == pygame.QUIT:# если было закрытие окна
            done = False # цикл будет закончен(меняем значение условия жизни цикла)
   
    
        
    screen.fill((0,0,0)) # экран закрашиваем черным
    for item in snow_list:   # для каждого элемента из списка snow_list
        item[0] -=1
        item[1] +=1        # текущей координате у прибавляам 1
       
        pygame.draw.circle(screen,(255,255,255),item,2)  # рисуем окружность(на экране (,белым цветом),в х.у,радиусом 2)
        #pygame.time.delay(1) # системная задержка(мили сек.)-умен
       
        if item[1]>600 :      # если координата у элемента больше600 то
            item[1] = 0      # координате у элемента присвоить значение 0
            item[0] = random.randrange(600) # координате х присвоить случайное значение до 600       
       
        if item[0]<0 :      # если координата х элемента меньше 0, то
            item[0] = 600      # координате х элемента присвоить значение 600
            item[1] = random.randrange(600)
    window.blit(screen,(0,0))# на окне прорисовываем поле игры
    pygame.time.delay(2) # системная задержка(мили сек.)-умен
    pygame.display.flip()# отображаем полностью дисплей(окно)

Просмотров: 865 | Добавил: kuzma | Рейтинг: 5.0/1
Всего комментариев: 0
avatar

Сайт создан для помощи тем, кто делает первые шаги в программировании.

- автор идеи Кузьма Кузин

Возможность бесплатного доступа ко всем материалам и скриптам.

-совместная работа с группой молодых программистов

Срипты для автоматического заработка на SEO сайтах.

- для всех пользователей всё по цене в 1 EUR