Это университетское упражнение, в котором меня просят нарисовать серия квадратов с определяемыми пользователем столбцами и строками, цвет которых (синий) постепенно становится светлее. Чтобы еще больше усложнить ситуацию, квадраты необходимо располагать от более темного к более светлому в четных рядах (включая ряд 0) и в обратном направлении в нечетных, при этом самый темный квадрат каждого ряда должен быть светлее, чем самый светлый из предыдущего ряда.
Я использую pygame 1.9 с Python 3.2.
Вот что я пробовал:
Код: Выделить всё
import pygame
rows = int(input('Rows? '))
cols = int(input('Columns? '))
colourstepblue = 255/(cols*rows) #defines how much lighter the squares
#become at each iteration
pygame.init()
screen = pygame.display.set_mode((640,480))
screen.fill((255,255,255))
count = 0
for i in range(0,rows):
for a in range(0,cols):
if i%2 == 0:
pygame.draw.rect(screen, (0, 0, (colourstepblue*( (a) * (i+1)))), (a*30, i*30, 29, 29))
else:
pygame.draw.rect(screen, (0, 0, 255 - (i)*colourstepblue*a), (a*30, i*30, 29, 29))
count += cols
pygame.display.flip()
Это дает нужное количество квадратов справа формат, однако мне не удается правильно раскрасить. Я был бы признателен за любые советы, которые вы можете дать, как заставить это работать правильно (хотя, опять же, это упражнение, поэтому я бы предпочел не давать код сразу, а просто подсказку, которая направит меня в правильном направлении).
Спасибо за ответ и извините за длинный вопрос!
Подробнее здесь: https://stackoverflow.com/questions/264 ... me-for-pyt
Мобильная версия