このコードはもともとはユーザーの入力用ですが、手動でポイントを手動で選択するのではなく、ランダムにポリゴンを作成する必要があります。
私はたぶんwhileループではなくforループにするでしょうから、言及する必要はありません。ランダム座標ジェネレーターの作成
import pygame
from pygame.locals import *
from sys import exit
import random
from random import *
pygame.init()
screen = pygame.display.set_mode((640, 480), 0, 32)
points = []
while True:
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
exit()
point1 = randint(0,639)
point2 = randint(0,479)
points = (str(randint(0,639)), str(randint(0,479)))
screen.fill((255,255,255))
if len(points) >= 3:
pygame.draw.polygon(screen, (0,255,0), points)
for point in points:
pygame.draw.circle(screen, (0,0,255), point, 5)
pygame.display.update()
私がしようとしているのは、座標点ランダマイザーを作ることです。
ただし、何らかの理由でこのコードと互換性がありません。私は他のこともやってみましたが、その試みの残りは目に見えるかもしれません。
変更されたセグメントはfor event in pygame.event.get
からscreen.fill((255,255,255))
になります。
元のコードは、このようなものだった:
while True:
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
exit()
if event.type == MOUSEBUTTONDOWN:
points.append(event.pos)
screen.fill((255,255,255))
私はプログラムを実行すると、私は
Traceback (most recent call last):
File "H:/Documents/it/Python/manual_box drawer.py", line 26, in <module>
pygame.draw.circle(screen, (0,0,255), point, 5)
TypeError: must be 2-item sequence, not int
エラーレポートを取得します。
'point'は' int'であり、 '2-item sequence'ではありません...何が混乱していますか? –
これははっきりとしていますが、(深刻なノービスのために)私は2つのアイテムシーケンスを作る方法を完全に理解していません。おそらく読んで何かを逃した。 – Ben
ポイントインポイントが実際に何をしているのか考えてみてください。リストを反復する。 –