Jump to content

  • Log In with Google      Sign In   
  • Create Account


Randomly generated circles in pygame.


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
13 replies to this topic

#1 Crazylegs830   Members   -  Reputation: 226

Like
0Likes
Like

Posted 09 November 2013 - 09:09 AM

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.



Sponsor:

#2 FLeBlanc   Crossbones+   -  Reputation: 3101

Like
4Likes
Like

Posted 09 November 2013 - 09:43 AM

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

#3 Crazylegs830   Members   -  Reputation: 226

Like
0Likes
Like

Posted 09 November 2013 - 11:43 AM

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

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



#4 Crazylegs830   Members   -  Reputation: 226

Like
0Likes
Like

Posted 09 November 2013 - 12:57 PM

 

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?



#5 PeterF   Members   -  Reputation: 592

Like
2Likes
Like

Posted 09 November 2013 - 08:12 PM

It would probably be a good exercise for you to figure out. Use what FLeBlanc gave you as well as http://docs.python.org/2/library/random.html#random.randint.



#6 Crazylegs830   Members   -  Reputation: 226

Like
0Likes
Like

Posted 10 November 2013 - 07:08 AM

Hmmm, I have this code:

 

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

 

And get this error:

 

pygame.draw.circle(screen, WHITE, random.randint(0,1600), radius)
TypeError: must be 2-item sequence, not int
 



#7 Lactose!   GDNet+   -  Reputation: 3216

Like
3Likes
Like

Posted 10 November 2013 - 07:33 AM

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)


#8 Crazylegs830   Members   -  Reputation: 226

Like
0Likes
Like

Posted 10 November 2013 - 05:50 PM

 

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?



#9 PeterF   Members   -  Reputation: 592

Like
1Likes
Like

Posted 11 November 2013 - 07:50 AM

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, 11 November 2013 - 07:55 AM.


#10 Crazylegs830   Members   -  Reputation: 226

Like
0Likes
Like

Posted 11 November 2013 - 12:19 PM

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.



#11 dragons   Members   -  Reputation: 189

Like
2Likes
Like

Posted 13 November 2013 - 04:58 AM

Begin reading this:

http://inventwithpython.com/chapters/

and this

http://inventwithpython.com/pygame/chapters/



#12 Eck   Members   -  Reputation: 2092

Like
1Likes
Like

Posted 13 November 2013 - 08:45 AM

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



#13 Crazylegs830   Members   -  Reputation: 226

Like
0Likes
Like

Posted 13 November 2013 - 10:05 AM

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. 



#14 Crazylegs830   Members   -  Reputation: 226

Like
0Likes
Like

Posted 13 November 2013 - 10:09 AM

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)
mouse_c=pygame.image.load(you).convert_alpha()

#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)
radius=(5)

#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, 13 November 2013 - 02:11 PM.





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS