मैं कोशिश कर रहा हूँ बनाने के लिए एक विकर्ण पंक्ति के hexagons, लेकिन जब मैं उन्हें आकर्षित करने के लिए केवल पहले एक काम करता है । यहाँ एक स्क्रीनशॉट के pygame खिड़की. वहाँ होना चाहिए hexagons में ब्लैक बॉक्स.
यहाँ कोड है:
import pygame
from pygame.locals import *
from sys import exit
pygame.init()
screen_width = 800
screen_height = 600
screen = pygame.display.set_mode((screen_width, screen_height), 0, 32)
class Hex(pygame.sprite.Sprite):
def __init__(self, s_len, op):
super().__init__()
x, y = op
root3 = 1.73205080
self.color = (125,200,24)
self.op = op
self.s_len = s_len
self.points = [(x + (.5 * s_len), y),
(x + (1.5 * s_len), y),
(x + (2 * s_len), y + ((root3 / 2) * s_len)),
(x + (1.5 * s_len), y + (root3 * s_len)),
(x + (.5 * s_len), y + (root3 * s_len)),
(x, y + (root3 / 2) * s_len)]
self.image = pygame.Surface([2 * s_len, root3 * s_len])
self.image.fill((0,0,0))
pygame.draw.polygon(self.image, self.color, self.points)
self.rect = self.image.get_rect()
self.rect.topleft = (x, y)
hex_group = pygame.sprite.Group()
for i in range(7):
hex_group.add(Hex(50, (i * 75, i * 86)))
while True:
for event in pygame.event.get():
if event.type == QUIT:
exit()
screen.fill((255,255,255))
hex_group.draw(screen)
pygame.display.update()
मुझे लगता है कि मुद्दा होना चाहिए क्या करने के लिए कुछ के साथ स्व.छवि निर्माण में हेक्स वर्ग के निर्माता, लेकिन कोई सुराग नहीं कैसे इसे ठीक करने के लिए.