Форум программистов, компьютерный форум, киберфорум
Python: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 0
Регистрация: 18.05.2017
Сообщений: 5

Графическое приложение

18.05.2017, 20:02. Показов 1144. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите решить задачу,преподаватель задал в универе,не пойму как это делать....Задача называется гусеница.
"Гусеница, состоящая из 7 маленьких кружков, ползет по горизонтальной плоскости, на которой лежат препятствия в виде прямоугольников. Гусеница должна перелезать через них. (Подсказка: движение моделировать добавлением кружка в головную часть и удалением кружка из хвостовой части)"
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.05.2017, 20:02
Ответы с готовыми решениями:

Графическое приложение
Здравствуйте, я новичок. Как сделать чтобы при нажатии кнопки открывалась другое меню(не дополнительное окно, а просто менялись одни конпки...

Простое графическое приложение
Напишите программу по описанию. Размеры многострочного текстового поля определяются значениями, введенными в однострочные текстовые поля....

Запустить графическое приложение
Добрый вечер. Такой вопрос: У меня есть скрипт.ру в автозагрузке При нажатие на определенную клавишу ------ Нужно чтобы...

7
9933 / 2936 / 494
Регистрация: 05.10.2013
Сообщений: 7,969
Записей в блоге: 233
18.05.2017, 20:34
Перед началом нужно выбрать, как рисовать кружки и прямоугольники. Предлагаю вариант pySFML

Должно поставиться без проблем. Сначала скачиваете и ставите Python 3, если не установлен. Далее, запускаете консоль от администратора и вводите команду:
pip install pySFML
Запустите этот скрипт, который создаёт окно, выводит круг и прямоугольник:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
from sfml import sf
 
# create the main window
window = sf.RenderWindow(sf.VideoMode(640, 480), "Caterpillar")
 
rect = sf.RectangleShape()
rect.size = sf.Vector2(100, 50)
rect.position = sf.Vector2(50, 50)
rect.fill_color = sf.Color(100, 100, 255)
 
circle = sf.CircleShape()
circle.radius = 50
circle.position = (200, 50)
circle.fill_color = sf.Color(100, 255, 100)
 
# start the game loop
while window.is_open:
   # process events
   for event in window.events:
      # close window: exit
      if event == sf.Event.CLOSED:
         window.close()
 
   window.clear() # clear screen
 
   window.draw(rect)
   window.draw(circle)
 
   window.display() # update the window
0
0 / 0 / 0
Регистрация: 18.05.2017
Сообщений: 5
18.05.2017, 20:57  [ТС]
а возможно сделать код для приложения проще?)у меня начало такое
from graphics import *
import math
from random import randrange

class partCPillar():
def __init__(self,win,size,pc,r,color):
self.xc=pc.getX()
self.yc=pc.getY()
self.r = r
self.kr=(Circle(Point(self.xc,self.yc),r ))
self.kr.setFill(color)
self.kr.draw(win)
0
9933 / 2936 / 494
Регистрация: 05.10.2013
Сообщений: 7,969
Записей в блоге: 233
18.05.2017, 21:51
Цитата Сообщение от yuliyasheyn Посмотреть сообщение
у меня начало такое
Вы не могли бы скопировать весь код?

Добавлено через 12 минут
Цитата Сообщение от yuliyasheyn Посмотреть сообщение
from graphics import *
Какой командой вы установили модуль graphics?

Цитата Сообщение от yuliyasheyn Посмотреть сообщение
а возможно сделать код для приложения проще?)
Особой разницы нет. Везде будет примерно одинаково.

Добавлено через 6 минут
По-моему, я нашёл, где скачать: http://mcsp.wartburg.edu/zelle/python/

Цитата Сообщение от yuliyasheyn Посмотреть сообщение
Подсказка: движение моделировать добавлением кружка в головную часть и удалением кружка из хвостовой части
Это алгоритм движения применяется в каждом туториале (или примере) классической змейки, который мне попадался.
0
0 / 0 / 0
Регистрация: 18.05.2017
Сообщений: 5
22.05.2017, 20:10  [ТС]
модуль graphics мы импортировали с файла на флешке,нам дал его препод.
вот весь код,но тут не все.
from graphics import *
import math
from random import randrange

class partCPillar():
def __init__(self,win,size,pc,r,color):
self.xc=pc.getX()
self.yc=pc.getY()
self.r = r
self.kr=(Circle(Point(self.xc,self.yc),r ))
self.kr.setFill(color)
self.kr.draw(win)
def movepart(self,dx,dy):
n=50
for i in range(n):
self.kr.move(dx/n,dy/n)
time.sleep(0.000001)
class WholeCPillar(partCPillar):
def __init__(self,win,size,k,pc,r,color):
partCPillar.__init__(self,win, size, pc, r, color)
self.whole=[[self.xc,self.yc,r,self.kr]]
for i in range(k):
pc=Point((self.xc-2*r*i),(self.yc))
part=partCPillar(win,size,pc,r,color)
self.whole.append([part.xc,part.yc,r,part.kr])


size=300
win=GraphWin("My Circle",size, size)
pc=Point(200,50)
r=10
k=6
hd=WholeCPillar(win,size,k,pc,r,'green')

win.getMouse()
0
9933 / 2936 / 494
Регистрация: 05.10.2013
Сообщений: 7,969
Записей в блоге: 233
22.05.2017, 20:41
Цитата Сообщение от yuliyasheyn Посмотреть сообщение
вот весь код,но тут не все.
Тут противоречие, так не бывает. Скопируйте, пожалуйста, весь код с тегом для Python (кнопочка на панели, где вы пишите сообщение). Тот форумчанин, который захочет вам помочь он же не будет писать весь код с нуля за вас. Он скопирует ваш код и он не должен тратить время на расстановку отступов. А если код у вас написан и он неверно работает, либо вы зашли в тупик, то тем более нужно скопировать весь код на форум, а то вдруг проблема как раз в том коде, который вы не скопировали.
0
0 / 0 / 0
Регистрация: 18.05.2017
Сообщений: 5
23.05.2017, 18:43  [ТС]
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
from graphics import *
import math
from random import randrange
 
class partCPillar():
def __init__(self,win,size,pc,r,color):
self.xc=pc.getX()
self.yc=pc.getY()
self.r = r 
self.kr=(Circle(Point(self.xc,self.yc),r))
self.kr.setFill(color)
self.kr.draw(win)
def movepart(self,dx,dy):
n=50
for i in range(n):
self.kr.move(dx/n,dy/n)
time.sleep(0.000001)
class WholeCPillar(partCPillar):
def __init__(self,win,size,k,pc,r,color):
partCPillar.__init__(self,win, size, pc, r, color)
self.whole=[[self.xc,self.yc,r,self.kr]]
for i in range(k):
pc=Point((self.xc-2*r*i),(self.yc))
part=partCPillar(win,size,pc,r,color)
self.whole.append([part.xc,part.yc,r,part.kr])
 
 
size=300
win=GraphWin("My Circle",size, size)
pc=Point(200,50)
r=10
k=6
hd=WholeCPillar(win,size,k,pc,r,'green') 
 
win.getMouse()
0
9933 / 2936 / 494
Регистрация: 05.10.2013
Сообщений: 7,969
Записей в блоге: 233
23.05.2017, 19:57
Сделайте в вашей среде, чтобы вместо табуляции вставлялись пробелы. Видно, что движок форума удаляет табы и прижимает весь текст к левой стороне. Если вашу программу скопировать к себе в среду, то она, конечно, работать не будет. Придётся вручную выставлять все отступы, а иногда непонятно, где заканчивается if или for.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.05.2017, 19:57
Помогаю со студенческими работами здесь

Графическое приложение на основе готового консольного
Здравствуйте! Есть готовая консольная программа, которая производит вычисления, выводит графики matplotlib и текст в саму консоль. Как на...

Как добавить ссылку на сайт в графическое приложение PyQt4
Доброго времени суток. Нужно добавить ссылку в приложение что бы при нажатии открывался нужный мне сайт, пробовал добавлять в Label...

Создать графическое приложение для табулирования и построения графика кусочной функции
Помогите с экзаменом не много пропустил по этому не шарю (комментарии в виде надо было учить или это же легко держите при себе)

Графическое представление числа
Пример взят из книги Саммерфильда. Нужно чтобы какое-либо число (допустим 41072819) представлялось в виде звездочек, но как после того как...

Графическое изображение делимости чисел
Есть задача:Выведите графическое изображения делимости чисел от 1 до n (значение n вводится с клавиатуры) - в каждой строке напечатайте...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru