Fehler im Programm[update 4.9.07]

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Brocki22
User
Beiträge: 3
Registriert: Montag 27. August 2007, 19:01
Wohnort: Sldh

Hallo,

wir nehmen jetzt seid einiger Zeit in Info(11/1) Python durch, wobei wir noch nicht viel geschafft haben :mrgreen:

wich will eine zielscheibe programmieren, und ein links daneben herlaufender mittelgroßer pfeil, der immer von oben nach unten läuft.

könnt ihr mir vielleicht helfen mein programm zu vervollständigen, da ich mit dem runterlaufen nicht klar komme :? , wie gesagt haben wir noch nicht viel gelernt und meine bisherigen versuche schlugen fehl, zudem war es keine hausaufgabe oder sowas ich mache das aus eigenem interesse, da ich euren vorschlag nur als hilfe und lehrmaterial benutzen möchte


fände ich sehr nett von euch :D :wink:

so weit bin ich schon:

Code: Alles auswählen

from sum import Bildschirm
from sum import Stift
from sum import Maus

meinBildschirm=Bildschirm() #Bildschirm immer zuerst erzeugen!
meinStift=Stift()
meineMaus=Maus()

def zeichneZielscheibe():
  
  meinStift.runter()
  meinStift.zeichneKreis(1)
  meinStift.zeichneKreis(5)
  meinStift.zeichneKreis(10)
  meinStift.zeichneKreis(30)
  meinStift.zeichneKreis(50)
  meinStift.zeichneKreis(70)
  meinStift.hoch()


def zeichnePfeil():

  meinStift.runter()
  meinStift.

  
  

while not meineMaus.rechtsKlick():
  pass

meinBildschirm.gibFrei()

#(c)Brocki


EDIT:

ok ich bin nun schon weiter:D

nur jetzt ist ein neuer fehler aufgetreten und zwar nach dem rotieren des pfeils und dem abschuss, zeichnet der Stift immer noch den Pfeil, den er normalerweise wegradieren soll... kann mir bitte jemand helfen das programm zu verbessern bzw. diesen fehler zu beheben:?

Code: Alles auswählen

 
from sum import Bildschirm
from sum import Stift
from sum import Maus
from sum import time

meinBildschirm=Bildschirm() #Bildschirm immer zuerst erzeugen!
meinStift=Stift()
meineMaus=Maus()

  
meinStift.bewegeBis (500,200)
meinStift.zeichneKreis(1)
meinStift.zeichneKreis(5)
meinStift.zeichneKreis(10)
meinStift.zeichneKreis(30)
meinStift.zeichneKreis(50)
meinStift.zeichneKreis(70)




meinStift.hoch()
meinStift.bewegeBis(5,3)
meinStift.runter()

def zeichnePfeil():
   meinStift.runter()
   meinStift.bewegeUm(30)
   meinStift.zeichneKreis(2)
   meinStift.bewegeUm(-30)
   meinStift.hoch ()




while not meineMaus.istGedrueckt():
  meinStift.dreheBis(20)
  meinStift.normal()
  zeichnePfeil()
  time.sleep(0.01)
  meinStift.dreheBis(20)
  meinStift.radiere()
  zeichnePfeil()
  meinStift.dreheBis(270)
  meinStift.bewegeUm(1)
  if meinStift.vPosition()>480:
     meinStift.bewegeBis(0,0)
     
  
while meineMaus.istGedrueckt():
  meinStift.normal()
  zeichnePfeil()
  time.sleep(0.01)
  meinStift.radiere()
  zeichnePfeil()
  meinStift.dreheUm(1)




while not meinStift.hPosition()>470:
  meinStift.normal()
  zeichnePfeil()
  time.sleep(0.01)
  meinStift.dreheBis(30)
  meinStift.radiere()
  zeichnePfeil()
  meinStift.bewegeUm(1)
  meinStift.normal()
  zeichnePfeil()


time.sleep(3)

  
meinBildschirm.gibFrei ()



 
#(c)Brocki



Mfg

Brocki22
Zuletzt geändert von Brocki22 am Dienstag 4. September 2007, 16:25, insgesamt 2-mal geändert.
Benutzeravatar
BlackVivi
User
Beiträge: 762
Registriert: Samstag 9. Dezember 2006, 14:29
Kontaktdaten:

Les dir grundsätzlich erstmal das PEP8 durch...

Ansonsten müsste hier alles über die Bibliothek SUM stehen...:

LINK
Brocki22
User
Beiträge: 3
Registriert: Montag 27. August 2007, 19:01
Wohnort: Sldh

danke aber das bringt mich ja nicht groß mit meinem programm weiter und ich dachte so etwas laufendes müsste für euch profis ein klacks sein :wink:
Benutzeravatar
BlackVivi
User
Beiträge: 762
Registriert: Samstag 9. Dezember 2006, 14:29
Kontaktdaten:

Brocki22 hat geschrieben:danke aber das bringt mich ja nicht groß mit meinem programm weiter und ich dachte so etwas laufendes müsste für euch profis ein klacks sein :wink:
Gebe einem Bauer einen Fisch und er lebt einen Tag, zeig ihm wie man fischt und er lebt für immer... Und das PEP8 ist unglaublich wichtig.... schau es dir zumindest an, dann siehst du schon ein paar stilistische Fehler im Quellcode.
BlackJack

So etwas laufendes ist wirklich nicht so schwer. Das allerdings mit einer Bibliothek zu machen, die man nicht kennt ist schon nicht mehr so einfach.

Üblicherweise zeichnet man den Pfeil, löscht ihn wieder und zeichnet ihn an anderer Stelle neu und immer so weiter. Es sei denn `sum` bietet schon etwas mehr Unterstützung für "Sprites", "MOB"s oder wie auch immer man bewegliche 2D-Objekte noch nennen kann. Es gibt offenbar eine `sprite.py`.
Brocki22
User
Beiträge: 3
Registriert: Montag 27. August 2007, 19:01
Wohnort: Sldh

ja gibt es :wink:
Benutzeravatar
BlackVivi
User
Beiträge: 762
Registriert: Samstag 9. Dezember 2006, 14:29
Kontaktdaten:

Brocki22 hat geschrieben:ja gibt es :wink:
Dann les mal die Dokumentation darüber durch und geb dir müh', wenn etwas nicht funktioniert wenn du fertig bist, werden dir alle helfen.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Und benenne den Thread um, der aktuelle Titel ist schon mal ein Grund dir extra nicht zu helfen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten