Followers 0

# Randomly generated circles in pygame.

## 13 posts in this topic

Hello I'm back and need more help what I was planning to do was to have little circles randomly places on my screen. How would I go about doing that? Sorry if this is a stupid question still a beginner.

0

##### Share on other sites

pygame.draw.circle? Give it a randomized pos and radius, and boom.

Ah, Ok sorry didn't know it was so simple.

0

##### Share on other sites

pygame.draw.circle? Give it a randomized pos and radius, and boom.

Ah, Ok sorry didn't know it was so simple.

Can you show me some code?

0

##### Share on other sites

Hmmm, I have this code:

And get this error:

TypeError: must be 2-item sequence, not int

0

##### Share on other sites

pygame.draw.circle() wants both an x and a y coordinate.

random.randint(0, 1600) gives you 1 integer (which in this case translates to 1 coordinate).

You need to generate 2 coordinates, and feed them into the draw function.

I don't know the syntax of pygame more than what a minute of googling tells me, but at a guess something like:

pygame.draw.circle(screen, WHITE, (random.randint(0, 1600), random.randint(0, 1600)), radius)

I think it worked, but how do I make it appear over another shape?

0

##### Share on other sites

The pygame draw function returns a Rect, so blit the Rect onto the screen Surface after the other shape has been blitted.

Edited by PeterF
1

##### Share on other sites

The pygame draw function returns a Rect, so blit the Rect onto the screen Surface after the other shape has been blitted.

And to blit them what do I do? I am sincerely sorry for my lack of knowledge in programming.

0

##### Share on other sites

It doesn't seem like you're trying on your own very much. Start googling for some tutorials and reading some documentation. The first question, I can understand if you're a beginner. You simply might not know how to make your computer roll dice. But your follow up questions are covered in nearly every pygame tutorial out there. Do a little experimentation on your own and you'll be surprised what you learn.

If you were just confused what blt meant, it's basically an old term for "draw it on the screen". Google is your buddy there as well.

This wasn't meant to be discouraging. /hugs

- Eck

1

##### Share on other sites

It doesn't seem like you're trying on your own very much. Start googling for some tutorials and reading some documentation. The first question, I can understand if you're a beginner. You simply might not know how to make your computer roll dice. But your follow up questions are covered in nearly every pygame tutorial out there. Do a little experimentation on your own and you'll be surprised what you learn.

If you were just confused what blt meant, it's basically an old term for "draw it on the screen". Google is your buddy there as well.

This wasn't meant to be discouraging. /hugs

- Eck

Thanks for the response. I have been looking while waiting for an answer and have been waiting pygame tutorials by thenewboston and did google quite a lot. Sorry again, but it just didn't work when I blitted it over but I will look more thanks.

0

##### Share on other sites
I have googled and researched and please forgive me for confusing you if I have. I am drawing the circles before the background. It will not work. When I get rid of the background the circles are there what do I do? Code:

you="C:\\Users\\user\\Desktop\\Python Programs\\Snake\\textures\\you.bmp"

import pygame, sys, random
from pygame.locals import *

pygame.init()

screen=pygame.display.set_mode((1600,1120),0,32)

#Variables for shapes

BLUE=(0,64,128)
WHITE=(255,255,255)
pos1=(0,0)
pos2=(0,1130)
pos3=(1600,0)
pos4=(1600,1130)
randpos1=random.randint(0, 1120)
randpos2=random.randint(0, 1600)

#Variables for shapes

x,y=770,560
movex, movey=0,0

#Controls

while True:

for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit()
if event.type==KEYDOWN:
if event.key==K_LEFT:
movex=-4
elif event.key==K_RIGHT:
movex=+4
elif event.key==K_UP:
movey=-4
elif event.key==K_DOWN:
movey=+4
if event.type==KEYUP:
if event.key==K_LEFT:
movex=0
elif event.key==K_RIGHT:
movex=0
elif event.key==K_UP:
movey=0
elif event.key==K_DOWN:
movey=0
#Controls

screen.lock()
pygame.draw.circle(screen, WHITE, (random.randint(0, 1600), random.randint(0, 1600)), radius)
screen.unlock()

x+=movex
y+=movey

#Collision
if y < 0:
y = 0
elif y > 1080:
y = 1080
if x < 0:
x = 0
elif x > 1550:
x = 1550
#Collision
#Dots

screen.blit(mouse_c,(x,y))
pygame.display.update() Edited by Crazylegs830
0

## Create an account

Register a new account