Forum: Python/Pygame 2 stora probem

Forum huvudsida -> Programmering -> Python/Pygame 2 stora probem

Sidor: 1

Till botten

Qzan 12:37 - 18:e April 2007 | Post #1
Medlem
Inlägg: 3


Skicka PM
Hej jag håller på att leka runt lite med python/pygame och det är så att jag håller på att göra ett program som ska bestå av en labyrint och man är en boll som ska ta sig från A till B. när man krockar med väggen så ska jag alltingen stanna kvar där eller teleporteras tillbacka till start beroende på vilken typ av vägg man krockar med.

Frågan är hur gör man så att den stannar kvar när man krockar med en vägg?
Och sen så tänkte jag mig en klocka som tickar fast det ska vara ett poäng system så att varje sekund så tickar den 2 poäng osv så sparas poängen på en fil. och anger vad max är osv.


  1.  
  2. class Boll(games.Sprite):
  3.  
  4.  
  5. #rör bollen inom gränser
  6. def update(self):
  7. if games.keyboard.is_pressed(games.K_UP):
  8. self.y -= 1
  9.  
  10. if games.keyboard.is_pressed(games.K_DOWN):
  11. self.y += 1
  12.  
  13. if games.keyboard.is_pressed(games.K_LEFT):
  14. self.x -= 1
  15.  
  16. if games.keyboard.is_pressed(games.K_RIGHT):
  17. self.x += 1
  18.  
  19. if self.right > games.screen.width or self.left < 0:
  20. self.x = -self.x
  21. if self.bottom > games.screen.height or self.top < 0:
  22. self.y = -self.y
  23.  
  24. #kollar krockar
  25. self.check_collide()
  26.  
  27. #går till handel collide när det krockar
  28. def check_collide(self):
  29.  
  30. for hinder in self.overlapping_sprites:
  31. hinder.handle_collide()
  32.  
  33.  
  34.  
  35. class Hinder(games.Sprite):
  36.  
  37. def handle_collide(self):
  38. Boll.x = 300
  39. Boll.y = 300
  40.  
  41. def main():
  42.  
  43.  
  44. #backgrunden
  45. wall_image = games.load_image("back.jpg", transparent = False)
  46. games.screen.background = wall_image
  47.  
  48.  
  49. #hinder
  50. hinder_image = games.load_image("hinder.gif")
  51. hinder_x = random.randrange(games.screen.width)
  52. hinder_y = random.randrange(games.screen.height)
  53. the_hinder = Hinder(image = hinder_image, x = hinder_x, y = hinder_y)
  54. games.screen.add(the_hinder)
  55.  
  56. #Bollen
  57. boll_image = games.load_image("bollen.gif")
  58. the_boll = Boll(image = boll_image,
  59. x = games.screen.width/2,
  60. y = games.screen.height/2)
  61. games.screen.add(the_boll)
  62. games.screen.mainloop()
  63. main()
  64.  


Skulle jag kunna få lite hjälp med detta?



Senast redigerad 21:33 - 18:e April 2007


ozamosi 12:49 - 18:e April 2007 | Post #2
Administratör
Inlägg: 1129


Skicka PM
Kan du klistra in koden i källkodstaggar, dvs [ source=python]kod[/source] (fast utan mellanslaget där innan source) så det går att se vad det står? Intenderingsnivåer är liksom lite viktiga i pythonSmiley

-------------------------
Ljusblå



Independence 16:35 - 18:e April 2007 | Post #3
Administratör
Inlägg: 1800


Skicka PM
Det ser ut som self.x och self.y är variabler som kontrollerar hastigheten (inte positionen?) på bollen?
Det borde väl bara vara att göra en kollissionsdetektering med väggen (det verkar finnas en inbyggd funktion för sådant?) och sedan sätta self.x till 0 så stannar bollen isf.

-------------------------

Vi är riddarna som säger fiskbulle!





Qzan 21:37 - 18:e April 2007 | Post #4
Medlem
Inlägg: 3


Skicka PM
Jag har ju tänk så att dom rör bollen N/V/O/S när man trycker på knapparna sen tänkte jag så att när 2 st spirits krockar så flyttas bollen tillbacka till "(x,y) = (300,300) "

Väggen är ju en spirit den med så jag har ju overlapping_sprites funktionen som kollar det.


Senast redigerad 22:10 - 18:e April 2007


Independence 22:35 - 18:e April 2007 | Post #5
Administratör
Inlägg: 1800


Skicka PM
    Citat av Qzan:
Jag har ju tänk så att dom rör bollen N/V/O/S när man trycker på knapparna sen tänkte jag så att när 2 st spirits krockar så flyttas bollen tillbacka till "(x,y) = (300,300) "

Väggen är ju en spirit den med så jag har ju overlapping_sprites funktionen som kollar det.


Ja, då är det bara att börja koda dåSmiley

-------------------------

Vi är riddarna som säger fiskbulle!





Qzan 22:50 - 18:e April 2007 | Post #6
Medlem
Inlägg: 3


Skicka PM
ja jag svarade bara på din fråga dära med self.x och self.y heheSmiley
aaa jag har börjat men jag har fastnat nu känns det somSmiley






Sidor: 1

Forum huvudsida -> Programmering -> Python/Pygame 2 stora probem
Atom feed

Du får inte posta i den här tråden | Till toppen