Mein erstes " Programm"

Stellt hier eure Projekte vor.
Internetseiten, Skripte, und alles andere bzgl. Python.
Antworten

Wie findet ihr das?

Umfrage endete am Sonntag 27. August 2006, 14:20

gut
2
29%
schlecht
0
Keine Stimmen
naja
0
Keine Stimmen
für den anfang gut
5
71%
 
Insgesamt abgegebene Stimmen: 7
_-Ba$ics-_

Hallo,
ich bin vor 2 tagen mit python angefangen und bin in der neunten klasse also eigentlich fangen wir erst in der zehnten kalsse mit python an aber da ich mich sehr für python interresiere hab ich mich einfach mal versucht damit zu beschäftigen... dieses "Programm" :lol: ist zwar sehr billig aber ich finde für den anfang schon gut :D ich habe es in einer halben stunde gemacht
und jez möchte ich mich halt weiter durch python durcharbeiten und mit pygame anfangen ... ich würde mcih sehr über eure hilfe freuen :wink:

hier der quellcode :

Code: Alles auswählen

from turtle import *
from random import randrange

def herz ():
    width(30)
    color("red") 
    left(45)
    forward(50)
    right(45)
    forward(25)
    right(45)
    forward(50)
    right(45)
    forward(25)
    right(45)
    forward(150)
    right(90)
    forward(150)
    right(45)
    forward(25)
    right(45)
    forward(50)
    right(45)
    forward(25)
    right(45)
    forward(65)

print "Der etwas langweilige Malroboter von _-Ba$ics-_"
print "____________________________________________________"
print "" 
 


user = raw_input ("wie heisst du?\n")
print "hallo %s!" %user
print ""
print ""

frage1 = raw_input("Wie geht es dir? gut oder schlecht?\n")
print ""
def spiel():
    if frage1 != "gut":
        print "Oh dann lass ich dich mal besser allein!\nAuf Wiedersehen!"
        
    if frage1 == "gut":
        print "Das freut mich dann koennen wir ja ein bisschn plaudern ."
        frage2 = raw_input("willst du dass ich dir ein herz male?! ja/nein\n")
        print ""
        
        if frage2 != "ja":
            print "tzz,dann nich\nTschuess"
        if frage2 == "ja":
            tracer(1)
            herz()
            print "hier bitteschoen,%s :)" %user
            print "aber nun muss ich leider gehn ...\n bis bald mal" 
    
spiel ()
Zuletzt geändert von _-Ba$ics-_ am Samstag 26. August 2006, 19:52, insgesamt 1-mal geändert.
EnTeQuAk
User
Beiträge: 986
Registriert: Freitag 21. Juli 2006, 15:03
Wohnort: Berlin
Kontaktdaten:

Sieht ja ganz gut aus ;)

Ich finds lustig :D

Aber es macht die Arbeit einfacher, wenn dud as ganze in

die Code_Tags setzt... für Python gibt es da so etwas schönes:

Code: Alles auswählen

[code=py] 
print 'Hier kann Pythoncode stehen, er wird formatiert, und mit Syntaxhilightning versehen'
[/code]

Dann schaut dein Code, richtig eingerückt usw... so aus:

Code: Alles auswählen

from turtle import *
from random import randrange

def herz ():
    width(30)
    color("red")
    left(45)
    forward(50)
    right(45)
    forward(25)
    right(45)
    forward(50)
    right(45)
    forward(25)
    right(45)
    forward(150)
    right(90)
    forward(150)
    right(45)
    forward(25)
    right(45)
    forward(50)
    right(45)
    forward(25)
    right(45)
    forward(65)

print "Der etwas langweilige Malroboter von _-Ba$ics-_"
print "____________________________________________________"
print ""



user = raw_input ("wie heisst du?\n")
print "hallo %s!" %user
print ""
print ""

frage1 = raw_input("Wie geht es dir? gut oder schlecht?\n")
print ""
def spiel():
    if frage1 != "gut":
        print "Oh dann lass ich dich mal besser allein!\nAuf Wiedersehen!"

    if frage1 == "gut":
        print "Das freut mich dann koennen wir ja ein bisschn plaudern ."
        frage2 = raw_input("willst du dass ich dir ein herz male?! ja/nein\n")
        print ""

        if frage2 != "ja":
            print "tzz,dann nich\nTschuess"
        if frage2 == "ja":
            tracer(1)
            herz()
print "hier bitteschoen,%s Smile" %user
print "aber nun muss ich leider gehn ...\n bis bald mal"

spiel ()

Ich finds lustig wie gesagt. Hilfestellungen kann ich direkt net geben, da ich mit TK gar nichts am Hut habe.

MfG ChrissiG
Benutzeravatar
Michael Schneider
User
Beiträge: 569
Registriert: Samstag 8. April 2006, 12:31
Wohnort: Brandenburg

Grützi,

wie putzig. :-) Ich habe auch noch nie mit Turtle programmiert. Wie bekomme ich denn das Herzchenfenster wieder geschlossen, ohne dass sich mein IDLE aufhängt? :shock:

Weiter so, Du bist auf dem richtigen Weg.
Vielleicht wäre das was für Dich: Ich habe damals in meiner Einführungswoche ein kleines Spiel programmiert, wo der Spieler durch einen Buchstaben dargestellt wird. Er muss sich in einem Raum bewegen, einen Schlüssel einsammeln und dann durch die Tür an der Seite des Raumes diesen verlassen. Und das nur auf der Eingabeaufforderung. :D

Grüße,
der Michel
Diese Nachricht zersört sich in 5 Sekunden selbst ...
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Hi _-Ba$ics-_!

Willkommen im Python-Forum!

Bitte schließe deinen Code in Code-Tags ein.

Siehe Codehighlighting.

mfg
Gerold
:-)

PS: Du kannst deinen Beitrag noch einmal ändern, wenn du auf die [Edit]-Schaltfläche klickst.
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
jAN
User
Beiträge: 170
Registriert: Samstag 4. Juni 2005, 18:51
Wohnort: Großmehlra (in Thüringen)
Kontaktdaten:

Michael Schneider hat geschrieben:Wie bekomme ich denn das Herzchenfenster wieder geschlossen, ohne dass sich mein IDLE aufhängt? :shock:
gar net ^^
idle und turtle beißen sich...
schon oft genug probiert...
#adios.py
import os,sys
while 1: os.startfile(sys.argv[0])
Benutzeravatar
Michael Schneider
User
Beiträge: 569
Registriert: Samstag 8. April 2006, 12:31
Wohnort: Brandenburg

jAN hat geschrieben:
Michael Schneider hat geschrieben:Wie bekomme ich denn das Herzchenfenster wieder geschlossen, ohne dass sich mein IDLE aufhängt? :shock:
gar net ^^
idle und turtle beißen sich...
schon oft genug probiert...
Toll. Und das beim ersten Programm... ich kann seine kommenden gar nicht erwarten. ;)

Aber das Phänomen ist mir bei PyGame auch schon aufgefallen.

Grüße,
Michel
Diese Nachricht zersört sich in 5 Sekunden selbst ...
_-Ba$ics-_

hallo
vielen dank für eure zahlreichen antworten
man kann das fenster schließen ohne dass sich idle aufhängt :wink:
aber dann müsst ihr auch noch python shell mitschließen ... etwas doof
aber so gehts
an michael schneider :
Michael Schneider:

Grützi,

wie putzig. Smile Ich habe auch noch nie mit Turtle programmiert. Wie bekomme ich denn das Herzchenfenster wieder geschlossen, ohne dass sich mein IDLE aufhängt? Shocked

Weiter so, Du bist auf dem richtigen Weg.
Vielleicht wäre das was für Dich: Ich habe damals in meiner Einführungswoche ein kleines Spiel programmiert, wo der Spieler durch einen Buchstaben dargestellt wird. Er muss sich in einem Raum bewegen, einen Schlüssel einsammeln und dann durch die Tür an der Seite des Raumes diesen verlassen. Und das nur auf der Eingabeaufforderung. Very Happy

Grüße,
der Michel
hast du dieses spiel mit pygame programmiert?
- könntest du mir vielleicht bei dem einstieg in die "pythonspielewelt"
helfen? ich würde mich freuen

Vielen Dank und mfG
_-Ba$ics-_
Benutzeravatar
Hannes-Spz
User
Beiträge: 123
Registriert: Sonntag 7. August 2005, 22:42

@basics:
ich glaube, er meinte mit consolenspiel etwas in DER richtung:
<schlechteprogrammierung>

Code: Alles auswählen

reihen = [[],[],[],[]]
for i, reihe in enumerate(reihen):
    reihe = [leer for leer in 4*" "]
    reihen[i] = reihe
aktuellereihe = 0
ende=False
posx , posy =(0,0)
reihen[posy][posx] = "O"
while not ende:
    for reihe in reihen: print reihe
    richtung = raw_input("richtung (wasd): ")
    if richtung == "s":
        reihen[posy +1 ][posx]="O"#spieler in 'neue zeile verruecken'
        reihen[posy][posx]=" " #von alter zeile spieler loeschen
        posy += 1 #aktuelle pos um eins erhoehen
    # ...
    # alles andere HIER machen
    if richtung == "ende": ende=True
</schlechteprogrammierung>
aber um dir den mut nicht zu nehmen:
ich versuch auch gerade pygame zu verstehen und bin heute über die doku gekrochen, wobei einem versichert wurde, dass pygame gut beschrieben ist!
also einfach:

Code: Alles auswählen

import pygame
help(pygame)
und zudem gibt es ja noch die cookbooks von pygame, in denen man erklärt, wie man zb. den bildschirm auf "fullscreen" stellt ;)

und mit consolenprogrammen kann man auch sehr viel machen - vergiss das nicht! es muss nicht immer graphik dabei sein!!

liebe grüße
hannes
_-Ba$ics-_

ja danke , das stimmt . ich hab nur noch ncih so viel vorkenntnis und war mir nich im begriff was man mit consolen alles amchn kann ;)
Benutzeravatar
Michael Schneider
User
Beiträge: 569
Registriert: Samstag 8. April 2006, 12:31
Wohnort: Brandenburg

Hannes-Spz hat geschrieben:@basics:
ich glaube, er meinte mit consolenspiel etwas in DER richtung:[...]
Bingo! Auch wenn meine Versuche nicht ganz so ausgefeilt waren. :-) Mal auf meinem Dienstnotebook nachsehen, ob ich es noch auftreiben kann...
Hannes-Spz hat geschrieben:aber um dir den mut nicht zu nehmen:
ich versuch auch gerade pygame zu verstehen und bin heute über die doku gekrochen, wobei einem versichert wurde, dass pygame gut beschrieben ist!
Dann wird es vielleicht wirklich mal Zeit für ein PyGame (bzw. Spieleprogrammierung) Forum, wo wir ein paar deutschsprachige Tutorials und Fragen posten können. Ich fange schonmal mit dem ersten an...

Grüße,
Michael
Diese Nachricht zersört sich in 5 Sekunden selbst ...
_-Ba$ics-_

Ich hab jetzt mal versucht ein "consolenspiel" zu schreiben aber ich weiß irgendwie net wie ich das mache dass ich die schleife unterbreche sobald man auf ein bestimmtes feld kommt und es als ziel angezeigt wird ...

Vllt könnt ihr mir ja helfen , solange mach ich mit pygame weiter :lol: :D

MfG Ba$ics
web
User
Beiträge: 6
Registriert: Freitag 15. September 2006, 09:57

Hannes-Spz hat geschrieben:@basics:
ich glaube, er meinte mit consolenspiel etwas in DER richtung:
<schlechteprogrammierung>

Code: Alles auswählen

reihen = [[],[],[],[]]
for i, reihe in enumerate(reihen):
    reihe = [leer for leer in 4*" "]
    reihen[i] = reihe
aktuellereihe = 0
ende=False
posx , posy =(0,0)
reihen[posy][posx] = "O"
while not ende:
    for reihe in reihen: print reihe
    richtung = raw_input("richtung (wasd): ")
    if richtung == "s":
        reihen[posy +1 ][posx]="O"#spieler in 'neue zeile verruecken'
        reihen[posy][posx]=" " #von alter zeile spieler loeschen
        posy += 1 #aktuelle pos um eins erhoehen
    # ...
    # alles andere HIER machen
    if richtung == "ende": ende=True
</schlechteprogrammierung>
aber um dir den mut nicht zu nehmen:
ich versuch auch gerade pygame zu verstehen und bin heute über die doku gekrochen, wobei einem versichert wurde, dass pygame gut beschrieben ist!
also einfach:

Code: Alles auswählen

import pygame
help(pygame)
und zudem gibt es ja noch die cookbooks von pygame, in denen man erklärt, wie man zb. den bildschirm auf "fullscreen" stellt ;)

und mit consolenprogrammen kann man auch sehr viel machen - vergiss das nicht! es muss nicht immer graphik dabei sein!!

liebe grüße
hannes
hi
wie bekomm ich bei dem Code ein X in die untere rechte Reihe (also posy , posx = (3,3))

thx schonmal für die antworten ^^

web
Benutzeravatar
Hannes-Spz
User
Beiträge: 123
Registriert: Sonntag 7. August 2005, 22:42

da ich das in dem beispiel in ner liste verpackt hab, müsste (!) es theopraktisch klappen, indem du "einfach" eingibst:

Code: Alles auswählen

reihen[3][3]="X"
und zwar nach:

Code: Alles auswählen

reihen = [[],[],[],[]]
for i, reihe in enumerate(reihen):
    reihe = [leer for leer in 4*" "]
    reihen[i] = reihe
(und vor dem eigentlichen programm wenn es zb. ein startpunkt darstellen soll...)

könnte jedenfalls klappen (nicht getestet)
liebe grüße an alle
hannes
Antworten