kostenloser Webspace werbefrei: lima-city


Random Anweisung in Python?

lima-cityForumProgrammiersprachenPython

  1. Autor dieses Themas

    misterbunny

    misterbunny hat kostenlosen Webspace.

    Liebes User,
    gerrade beim programmieren unseres Pen/Paper RPGs, in Python, haben wir das problem das wir nicht wissen wie man einen Zufallsgenerator einbaut...
    hier unser code (nix gegen Schule^^)
    action=input("So what do you do now?")
    if action==1:
        randenemy=random(1,5)
        if randenemy==1:
            enemytype="senior"
        elif randenemy==2:
            enemytype="regular student"
        elif radenemy==3:
            enemytype="dormparent"
        elif randenemy==4:
            enemytype="teacher"
        elif randenemy==5:
            enemytype="staff"


    Das problem: Wir wissen nicht wie man 1 bis 5 definiert, bzw. 1-5 stellen Enemytypes dar, die vorher angegeben sind!
    Danke vielmals,
    MrB
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Ui, ich hab mal nen Lehere-Verhau-Spiel gecodet mit random:

    Also 1. musst du mal folgendes austauschen:

    randenemy=random(1,5)
    zu
    r = random.randint(0, X)


    Dann tausche das
    if randenemy==1:
            enemytype="senior"
    zu
    if r == 0:
                if l0 == 0:

    Und den Rest, kann ich dir nicht sagen, da ich nen andren Code-Aufbau habe, als du.

    Sagmal: Um was geht es denn in deinem Spiel?

    Beitrag zuletzt geändert: 7.11.2009 11:03:42 von m-homepage
  4. Autor dieses Themas

    misterbunny

    misterbunny hat kostenlosen Webspace.

    m-homepage schrieb:
    Ui, ich hab mal nen Lehere-Verhau-Spiel gecodet mit random

    muss ich schnell rauskramen, moment!


    Lol, na da freu ich mich schon mal auf den Code (und kannste mir das Spiel mal zeigen xD)
  5. Nein, kann ich beides nicht. Hab meinen Beitrag editiert.

    Das Spiel hab ich nämlich nicht allein gecodet sondern mit 2 andren Schülern und die Fotos der Lehrer kann ich auch nicht preisgeben. Sorry
  6. Autor dieses Themas

    misterbunny

    misterbunny hat kostenlosen Webspace.

    m-homepage schrieb:
    Nein, kann ich beides nicht. Hab meinen Beitrag editiert.

    Das Spiel hab ich nämlich nicht allein gecodet sondern mit 2 andren Schülern und die Fotos der Lehrer kann ich auch nicht preisgeben. Sorry



    Naja. in dem RPG gehts um unsere Schule^^
    Naja, wir bauen gerrade das Kampf system. Dann wird man durch einen Story Weg geleitet, bzw. man kann an verschiedene Orte der Schule und dann dort einiges erleben^^

    m-homepage schrieb:
    if r == 0:
                if l0 == 0:




    das if l0 == 0: versteh ich irwie nicht...

    Und es klappt auch irwie nicht:
    Traceback (most recent call last):
      File "G:\Data\Desktop\Web\KIS Rpg\main.py", line 153, in <module>
        r = random.randint(0,4)
    AttributeError: 'builtin_function_or_method' object has no attribute 'randint'



    MFG,
    MrB

    PS: Wenns fertig wird, laden wir´s auch hoch §ugly

    Beitrag zuletzt geändert: 7.11.2009 11:27:24 von misterbunny
  7. Also wenn die Elemente aus denen die Zufallszahl stammt bekannt sind und die Menge der infragekommenden Elemente ausreichend klein ist kann man das auch mit der Funktion choice() des random Moduls machen:

    #! /usr/bin/env python 
    # Magic Line zum übergeben des Interpreterpfades, nur unter Unix sinnvoll
    
    sequenz = [1,2,3,4,5,6] 
    # Die Sequenz oder Liste kann man ja mit einer schleife erstellen lassen wen die Anzahl der Elemente größer wird
    
    def zufallsgenerator(sequenz): 
         # Da ihr den Zufallsgenerator öfter braucht bietet sich eine Funktion an
         import random 
         # Importiert das random modul das die Funktion choice() enthält
         zufallselement = random.choice(sequenz) 
         # weist der Variablen zufallselement den Rückgabewert von choice(sequenz) zu
         return zufallselement 
         # gibt dem Script den Wert von Zufallselement zurück
    
    print zufallsgenerator(sequenz)
    # Aufruf der Funktion und ausgabe des zurückgegebenen Wertes auf der Standardausgabe


    In jedem Falle solltet ihr beachten das der Zufall soweit nicht anders definiert in Python Uhrzeitabhänig ist und das 2 Aufrufe kurz nacheinander mit hoher Wahrscheinlichkeit das selbe Ergebnis liefern werden, deswegen sollte man sich in eurem Falle mit der Dokumentation des Random Moduls etwas weitergehend beschäftigen.

    Wichtig ist auch das das Zufallsmodul nicht threadsicher ist, das heißt 2 aufrufe in 2 unterschiedlichen Threads können das selbe Ergebnis bekommen, ihr solltet prüfen ob das der Fall sein darf . Wenn nicht solltet ihr eine Anzahl von Zufallsgeneratoren erzeugen die mit garantiert unterschiedlichen Werten initialisiert werden.

    Zufall ist nämlich kein Zufall *g* (aber man kann nahe ran kommen)

    Beitrag zuletzt geändert: 7.11.2009 12:13:13 von fatfox
  8. Autor dieses Themas

    misterbunny

    misterbunny hat kostenlosen Webspace.

    Hi Leute^^
    Ihr werdets kaum glauben: den einzigen Fehler den wir gemacht hatten war, das wir
    from random import*
    anstatt
    import random
    geschrieben hatten! :megarofl: (Und das wir random.randomint nicht kannten! :king: )
    Der erste Fight ging super :biggrin:
    Wir haben mit Feusten gegen die Waffe "Hey!" gekämpft und 4EXP gewonnen und gerrademal 33HP verloren 8-D

    MFG,
    MrB
  9. Na dann Gratuliere ich Herzlich!

    Darf ich auch noch fragen, wo das Spiel zu finden ist?
  10. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!