Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...
Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьшения длины пробега и улучшения маневрирования ВС при...
Топ:
Методика измерений сопротивления растеканию тока анодного заземления: Анодный заземлитель (анод) – проводник, погруженный в электролитическую среду (грунт, раствор электролита) и подключенный к положительному...
Когда производится ограждение поезда, остановившегося на перегоне: Во всех случаях немедленно должно быть ограждено место препятствия для движения поездов на смежном пути двухпутного...
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного...
Интересное:
Искусственное повышение поверхности территории: Варианты искусственного повышения поверхности территории необходимо выбирать на основе анализа следующих характеристик защищаемой территории...
Наиболее распространенные виды рака: Раковая опухоль — это самостоятельное новообразование, которое может возникнуть и от повышенного давления...
Влияние предпринимательской среды на эффективное функционирование предприятия: Предпринимательская среда – это совокупность внешних и внутренних факторов, оказывающих влияние на функционирование фирмы...
Дисциплины:
|
из
5.00
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
|
|
Библиотека Matplotlib гибким, легко конфигурируемый пакет, который вместе с NumPy, SciPy и IPython предоставляет возможности, подобные MATLAB.
# -*- coding: UTF-8 -*-
# Импортируем библиотеку Math
import math
# Импортируем один из пакетов Matplotlib
import pylab
# Импортируем пакет со вспомогательными функциями
from matplotlib import mlab
def Cos(x):
return math.cos(x)
minmax = 20.0
dx = 0.01 # Шаг между точками
# Создадим список координат по оси X на отрезке [-minmax; minmax]
xlist = mlab.frange(-minmax, minmax, dx)
# Вычислим значение cOS X в заданных точках
ylist = [Cos(x) for x in xlist]
pylab.plot(xlist, ylist) # прорисовка графика
pylab.show() # Показ графика

Библиотека pygame для создание игровых программ
Библиотека pygame – модуль Python с открытым исходным кодом для разработки игр и мультимедийных приложений. Pygame, основанный на импортируемой библиотеке SDL, который может работать на многих платформах и операционных системах.
| Инициализация PyGame |
| Инициализация ресурсов |
| Установка флага главного цикла отображения кадров |
| Проверка флага цикла |
| Отображение кадра |
| Формирование кадра бработка события |
| Обработка события |
| Освобождение ресурсов |
| Выход |
Обзор модулей Pygame
· cursors – загрузка изображений курсора, включает стандартные курсоры
· display – управление окном или экраном
· draw – рисование графических примитивов на поверхности (класс Surface)
· event – управление событиями и очередью событий
· font – создание и отображение шрифтов TrueType
· image – сохранение и загрузка изображений
· key – управление клавиатурой
· mouse – управление мышью
· movie – проигрывание mpeg клипов
· sndarray – управление звуками с помощью класса Numeric
· surfarray – управление изображениями с помощью класса Numeric
· time – управление таймерами
· transform – изменение размеров, вращение и изменение ориентации изображений
pygame.display.set_mode((500, 400), 0, 32) – устанавливает размеры игрового окна 500х400.
pygame.display.set_caption('Уен') – устанавливает заголовок.
screen.fill((0,0,0)) – заливка фона.
pygame.image.load('ТУР.png') – загрузка рисунка в переменную
pygame.image.save('ТУР.png') – сохраняет изображение на диск.
Библиотека pygame может работать с графическими форматами JPG, PNG, GIF (без анимации), BMP, PCX, TGA (без компрессии), TIF, LBM (PBM),, PBM (PGM, PPM), XPM.
Метод screen.blit(tup, tuprect) размещает рисунок в переменной tup на окне с координатами tuprect.
Примитивы
Метод pygame.draw имеет следующие функции для изображения графических примитивов:
· rect((x1,y1),(x2,y2)) – прямоугольник
· polygon – многоугольника
· circle – круг
· ellipse – эллипс
· arc – дуга
· line – отрезок
· lines – отрезки
· anti-aliased line – сглаженный отрезок
· anti-aliased lines – сглаженные отрезки
Пример №1 Рассмотрим пример рисунка
import pygame, sys
from pygame. locals import *
pygame. init()
RASEM = pygame. display. set_ mode((350, 350), 0, 32)
pygame. display. set_ caption(' Drawing')
RASEM. fill((255, 255, 150))
pygame. draw. polygon(RASEM, (0,150,0), ((20,20),(330,20),(330,330),(20,330)))
pygame. draw. line(RASEM, (0,0,0), (70, 60), (130, 60), 4)
pygame. draw. circle(RASEM, (0,0,255), (100, 100), 20, 0)
pygame. draw. line(RASEM, (0,0,0), (220, 60), (280, 60), 4)
pygame. draw. circle(RASEM, (0,0,255), (250, 100), 20, 0)
pygame. draw. ellipse(RASEM, (200,100,0), (160, 100, 40, 110), 0)
pygame. draw. rect(RASEM, (255,100,0), (120, 250, 110, 20))
while True:
for event in pygame. event. get():
if event. type == QUIT:
pygame. quit()
sys. exit()
pygame. display. update()

Пример №2
import pygame, sys
from pygame.locals import *
pygame.init()
DISPLAYSURF = pygame.display.set_mode((400, 300), 0, 32) # окно
pygame.display.set_caption(' РИСУНОК ' )
КАРА = (0, 0, 0) # определение цветов
АК = (255, 255, 255)
КЫЗЫЛ = (255, 0, 0)
ЯШЕЛ = (0, 255, 0)
ЗӘҢГӘР = (0, 0, 255)
DISPLAYSURF.fill(АК) # рисование
pygame.draw.polygon(DISPLAYSURF, КАРА, ((146, 0), (291, 106), (236, 277),
(56, 277), (0, 106)))
pygame.draw.line(DISPLAYSURF, ЯШЕЛ, (60, 60), (120, 60), 4)
pygame.draw.line(DISPLAYSURF, ЯШЕЛ, (120, 60), (60, 120))
pygame.draw.line(DISPLAYSURF, ЯШЕЛ, (60, 120), (120, 120), 4)
pygame.draw.circle(DISPLAYSURF, ЗӘҢГӘР, (300, 50), 20, 0)
pygame.draw.ellipse(DISPLAYSURF, КЫЗЫЛ, (300, 200, 40, 80), 1)
pygame.draw.rect(DISPLAYSURF, КЫЗЫЛ, (200, 150, 100, 50))
while True: # основной цикл обработки событий
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit()
pygame.display.update()
Программа изобразит

Работа с событиями
Рассмотрим фрагмент программы отражающей элемент управления в играх.
import pygame
from pygame.locals import *
pygame.init()
width = 800
height = 600
screen = pygame.screen.set_mode((width, height))
pygame.screen.update()
while True: # while 1:
for event in pygame.event.get():
print(event)
pygame.quit()
quit()
Для выхода из игры на pygame используются событие pygame.QUIT.
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
Дальше предполагается, что мы уже проходимся по событиям в цикле for event in pygame.event.get:
Нажатие на кнопки
if event. type == pygame. KEYDOWN:
if event.key == pygame.K_UP:
v_y -= 10
if event.key == pyga*me.K_DOWN:
v_y += 10
Это проверка события нажатия клавиши и смены значения v_y только 1 раз. Реакция на постоянно нажатую кнопку реализуется иначе.
pygame.KEYDOWN – это тип события (нажатие на кнопку)
pygame.K_DOWN, pygame.K_UP – "ключи" события (event.key)
Коды кнопок:
K_UP, K_DOWN, K_RIGHT, K_LEFT – стрелки,
K_SPACE – пробел,
K_w, K_a, K_s, K_d – кнопки w a s d.
Клик мышкой
if event.type == pygame.MOUSEBUTTONDOWN:
if event.button == 1: # левая кнопка мыши
bird_pos = event.pos
if event.button == 3: # правая кнопка мыши
bird_image = new_image
#event.button – код нажатой кнопки мышки
# 1 – левая кнопка
# 2 – центральная кнопка
# 3 – правая кнопка
# 4 – прокрутка вверх
# 5 – прокрутка вниз
# event.pos - координаты нажатия кнопки мыши
|
|
|
Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьшения длины пробега и улучшения маневрирования ВС при...
Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...
© cyberpedia.su 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!