none
Viel zu klären RRS feed

  • Frage

  • Hey Leute!
    Also ich habe vollgendes Problem. Ich bin Schüler und bin in einem Visual Basic Kurs, da ich auf meiner alten Schule aber schon vier Jahre Informatik hatte und 90% der Zeit mich mit Visual Basic beschäftigt habe, werde ich jetzt um einiges Strenger bewertet. Aus wut, will ich jetzt ein Programm schreiben was meine Lehrerin selber nicht hinkriegen würde.
    Also Ich habe angefangen mit dem Spiel Lucky Seven...klappt auch alles, ziehmlich easy. Jetzt will ich aber so was wie ein Spielkasino daraus machen. Viele Spiele die man selber auwählen kann...die spiele sind alle kein problem...
    Erstes Problem: Es soll einen Mehrspielermodus geben und über`s Netzwerk laufen!
                            Ich habe kein blassen schimmer wie man netzwerk programmiert.
    Zweites problem: Ich will das spiel speichern. Muss ich dann jedes einzelne Textfeld was ich gespeichert haben will einzelt speichern oder kann ich auf   einmal das ganze Formular speichern...
    Drittes Problem: Ich will ein Menü machen, in dem man bestimmt ob man während des Spielens Musik hören möchte wenn ja welche musik richtung...jetzt sagen wir mal man nimmt pop, dann will ich 10 pop lieder reinsetzten, die man nicht auswählt sondern in einer schleife laufen...aslo erst das das erste dann das zweite...dann das 10. und dann wieder das erste....wie mache ich dass, wie setze ich überhaupt lieder rein, will aber kein windows media player sehen
    wäre super wenn ich antworten bekomme
    DANKE!!!!
    euer Marc
    Montag, 14. September 2009 13:08

Antworten

  • Hallo Marc,

    schau mal hier rein, ob du etwas brauchen kannst.

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            AxWindowsMediaPlayer1.currentPlaylist.clear()
    
            Dim mediaItem As WMPLib.IWMPMedia
            mediaItem = AxWindowsMediaPlayer1.newMedia("C:\Lied.mp3")
    
            AxWindowsMediaPlayer1.currentPlaylist.appendItem(mediaItem)
    
            AxWindowsMediaPlayer1.Ctlcontrols.play()
    
        End Sub
        ' Player
        Private Sub Player_Play()
            Dim SpielLied As String = "C:\Lied.mp3"
            If CheckBoxLoop.Checked = True Then
                AxWindowsMediaPlayer1.settings.setMode("Loop", True)
            Else
                AxWindowsMediaPlayer1.settings.setMode("Loop", False)
            End If
            Try
                AxWindowsMediaPlayer1.currentPlaylist.clear()
            Catch
            End Try
            AxWindowsMediaPlayer1.URL = SpielLied
        End Sub
    Hab ich irgendwo in meinen alten Programmen gefunden. müsste eigentlich was bei sein.
    Donnerstag, 17. September 2009 17:51
  • Hallo Marc,

    geb mir mal den stand der dinge durch.
    wie weit bist du mit dem axmedienplayer ?
    Bastel dir anhand des beipiel eine Playliste zusammen.  (AxWindowsMediaPlayer1.currentPlaylist.appendItem(mediaItem))
    Drückst du auf einem Butten den du mit POP beschreiben hast, kann dahinter eine routine stehen, die eine liste mit POP liedern aufnimmt usw...

    gebe mal bitte den stand der dinge durch.

    danke
    bernd

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            AxWindowsMediaPlayer1.currentPlaylist.clear()
            Dim mediaItem As WMPLib.IWMPMedia
            mediaItem = AxWindowsMediaPlayer1.newMedia("C:\Musik\BackstreetBoys-QuitPlayingGames.mp3")
            AxWindowsMediaPlayer1.currentPlaylist.appendItem(mediaItem)
            mediaItem = AxWindowsMediaPlayer1.newMedia("C:\Musik\AlannahMyles-BlackVelvet.mp3")
            AxWindowsMediaPlayer1.currentPlaylist.appendItem(mediaItem)
            mediaItem = AxWindowsMediaPlayer1.newMedia("C:\Musik\MichaelJackson-EarthSong.mp3")
            AxWindowsMediaPlayer1.currentPlaylist.appendItem(mediaItem)
            AxWindowsMediaPlayer1.settings.setMode("Loop", True)
            AxWindowsMediaPlayer1.Ctlcontrols.play()
        End Sub
    anm anfang sollte diese variante für dein projekt reichen. ansonsten solltest du m3u playlisten nutzen oder selber schreiben und als playliste aufnehmen.
    Freitag, 18. September 2009 18:23
  • Hallo,

    hier ein paar kurze Tipps:

    3. Hintergrundmusik
    ===============

    Jeweils 10 Stücke in eine einzige Datei packen - es sind ja Stream-Dateien, also einfach kopieren - und dann abspielen mit:

    My.Computer.Audio.Play("Klassig.wma", AudioPlayMode.BackgroundLoop)

    und stoppen mit

    My.Computer.Audio.Stop()

    2. Speichern
    =========

    Ich halte Textdateien nicht für eine gute Idee. Denk mal über Serialisierung nach, also alle Variablen in einer Structure packen und dann als Xml schreiben oder lesen ...

        Public Structure MeineDaten

            Public Name As String     ' beliebige Daten
            Public Wert1 As Integer
            Public Wert2 As Double

            Public Shared Sub Save(ByVal d As MeineDaten, ByVal fn As String)
                Dim ser As New Xml.Serialization.XmlSerializer(GetType(MeineDaten))
                Dim wrt As New Xml.XmlTextWriter(fn, System.Text.Encoding.UTF8)
                ser.Serialize(wrt, d)
            End Sub

            Public Shared Function Load(ByVal fn As String) As MeineDaten
                Dim ser As New Xml.Serialization.XmlSerializer(GetType(MeineDaten))
                Dim rdr As New Xml.XmlTextReader(fn)
                Return CType(ser.Deserialize(rdr), MeineDaten)
            End Function

        End Structure

    Dim x as MeineDaten
    x = MeineDaten.Load("DateiName")
    MeineDaten.Save(x, "DateiName")

    1. Netzwerk
    ========

    Ich würde einen WebService machen, der abhängig von einer ID (Nummer, ...) ein bestimmtes Spiel generiert und an den Client schickt. So kann man dann entweder für jeden Spieler ein neues Spiel oder mehrere Spieler mit einem Spiel beglücken. Und dann muss dieser WebService auch noch das Ergebnis eines Spiels aufnehmen und die Ergebnisse aller Spiele zurückgegebn können. Also mindestens 3 Funktionen:

    GetNewGame(game, player)
    PutGameResult(game, player)
    GetGameResults(game)

    Nun kann man mit einfachen HttpRequests diesen Service im Client nutzen. Bei der Übertragung der Daten hilft natürlich wieder Serialisierung, oder?

    Freundliche Grüße
    Joachim van de Bruck


    Sonntag, 20. September 2009 08:42

Alle Antworten

  • Hey Leute!
    Also ich habe vollgendes Problem. Ich bin Schüler und bin in einem Visual Basic Kurs, da ich auf meiner alten Schule aber schon vier Jahre Informatik hatte und 90% der Zeit mich mit Visual Basic beschäftigt habe, werde ich jetzt um einiges Strenger bewertet. Aus wut, will ich jetzt ein Programm schreiben was meine Lehrerin selber nicht hinkriegen würde.
    Also Ich habe angefangen mit dem Spiel Lucky Seven...klappt auch alles, ziehmlich easy. Jetzt will ich aber so was wie ein Spielkasino daraus machen. Viele Spiele die man selber auwählen kann...die spiele sind alle kein problem...
    Erstes Problem: Es soll einen Mehrspielermodus geben und über`s Netzwerk laufen!
                            Ich habe kein blassen schimmer wie man netzwerk programmiert.
    Zweites problem: Ich will das spiel speichern. Muss ich dann jedes einzelne Textfeld was ich gespeichert haben will einzelt speichern oder kann ich auf   einmal das ganze Formular speichern...
    Drittes Problem: Ich will ein Menü machen, in dem man bestimmt ob man während des Spielens Musik hören möchte wenn ja welche musik richtung...jetzt sagen wir mal man nimmt pop, dann will ich 10 pop lieder reinsetzten, die man nicht auswählt sondern in einer schleife laufen...aslo erst das das erste dann das zweite...dann das 10. und dann wieder das erste....wie mache ich dass, wie setze ich überhaupt lieder rein, will aber kein windows media player sehen
    wäre super wenn ich antworten bekomme
    DANKE!!!!
    euer Marc
    bitte helft mir doch!!!!!!!!!!!!!!!!!!!!!!
    Mittwoch, 16. September 2009 18:15
  • Hallo Marc,

    den Mediaplayer kanst du mit Visible = False in den Einstellungen verschwinden lassen.
    oder im Code, am besten dann im "Form Load"
    NameDesPlayer.Visible = False
    setzen. Dann ist er nicht merh sichtbar.

    Was benutzt du denn ?
    den AXMediaPlayer
    oder MCI ?

    müsste ich bitte etwas mehr infos haben.

    danke
    bernd
    Mittwoch, 16. September 2009 19:32
  • Hallo Bernt,

    also ich würde axmediaplayer benutzen, habe aber noch gar keine programmierung gemacht, weil ich nicht weiß wie das gehen soll.
    ich habe sonst alles in den text geschrieben wie ich es haben möchte...geht dass denn überhaupt mit dem beispiel pop musik auswählen und dann diese abspielen...
    ach ich habe noch ein prolblem....ich habe jetzt versucht das spiel so zu programmieren, dass ich ein spiel speichern kann und es dann auch wieder aufrufen kann
    nun ich habe dann halt eine access eine datenbank angelegt und wolte vb halt sagen, dass er auf die datenbank zugreifen kann...klappt aber irgendwie nicht
    Donnerstag, 17. September 2009 09:57
  • Hallo Bernt,

    also ich würde axmediaplayer benutzen, habe aber noch gar keine programmierung gemacht, weil ich nicht weiß wie das gehen soll.
    ich habe sonst alles in den text geschrieben wie ich es haben möchte...geht dass denn überhaupt mit dem beispiel pop musik auswählen und dann diese abspielen...
    ach ich habe noch ein prolblem....ich habe jetzt versucht das spiel so zu programmieren, dass ich ein spiel speichern kann und es dann auch wieder aufrufen kann
    nun ich habe dann halt eine access eine datenbank angelegt und wolte vb halt sagen, dass er auf die datenbank zugreifen kann...klappt aber irgendwie nicht

    viele grüße
    marc
    Donnerstag, 17. September 2009 09:58
  • Hallo Marc,

    das  mit der Daten Bank da bin ich nicht der richtige. Ich speicher werte in Textdateien. Halte ich  für weniger aufwendig und für Recourcen schonender wie eine aufwendige
    Daten Bank anbindung.
    Das mit dem AX Media Player suche ich dir heute abend mal raus.
    Ansonsten wie gesagt alle in TextDateien rein, oder warten bis hier ein Experte dir etwas zu DatenBanken sagen kann


    bis dann
    bernd
    Donnerstag, 17. September 2009 12:43
  • Hallo Marc,

    schau mal hier rein, ob du etwas brauchen kannst.

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            AxWindowsMediaPlayer1.currentPlaylist.clear()
    
            Dim mediaItem As WMPLib.IWMPMedia
            mediaItem = AxWindowsMediaPlayer1.newMedia("C:\Lied.mp3")
    
            AxWindowsMediaPlayer1.currentPlaylist.appendItem(mediaItem)
    
            AxWindowsMediaPlayer1.Ctlcontrols.play()
    
        End Sub
        ' Player
        Private Sub Player_Play()
            Dim SpielLied As String = "C:\Lied.mp3"
            If CheckBoxLoop.Checked = True Then
                AxWindowsMediaPlayer1.settings.setMode("Loop", True)
            Else
                AxWindowsMediaPlayer1.settings.setMode("Loop", False)
            End If
            Try
                AxWindowsMediaPlayer1.currentPlaylist.clear()
            Catch
            End Try
            AxWindowsMediaPlayer1.URL = SpielLied
        End Sub
    Hab ich irgendwo in meinen alten Programmen gefunden. müsste eigentlich was bei sein.
    Donnerstag, 17. September 2009 17:51
  • Hallo Marc,

    geb mir mal den stand der dinge durch.
    wie weit bist du mit dem axmedienplayer ?
    Bastel dir anhand des beipiel eine Playliste zusammen.  (AxWindowsMediaPlayer1.currentPlaylist.appendItem(mediaItem))
    Drückst du auf einem Butten den du mit POP beschreiben hast, kann dahinter eine routine stehen, die eine liste mit POP liedern aufnimmt usw...

    gebe mal bitte den stand der dinge durch.

    danke
    bernd

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            AxWindowsMediaPlayer1.currentPlaylist.clear()
            Dim mediaItem As WMPLib.IWMPMedia
            mediaItem = AxWindowsMediaPlayer1.newMedia("C:\Musik\BackstreetBoys-QuitPlayingGames.mp3")
            AxWindowsMediaPlayer1.currentPlaylist.appendItem(mediaItem)
            mediaItem = AxWindowsMediaPlayer1.newMedia("C:\Musik\AlannahMyles-BlackVelvet.mp3")
            AxWindowsMediaPlayer1.currentPlaylist.appendItem(mediaItem)
            mediaItem = AxWindowsMediaPlayer1.newMedia("C:\Musik\MichaelJackson-EarthSong.mp3")
            AxWindowsMediaPlayer1.currentPlaylist.appendItem(mediaItem)
            AxWindowsMediaPlayer1.settings.setMode("Loop", True)
            AxWindowsMediaPlayer1.Ctlcontrols.play()
        End Sub
    anm anfang sollte diese variante für dein projekt reichen. ansonsten solltest du m3u playlisten nutzen oder selber schreiben und als playliste aufnehmen.
    Freitag, 18. September 2009 18:23
  • Hey Bernd,
    entschuldige bin seit ein Paar Tagen krank und war garnicht am Pc, deshalb hab ich für den media player nichts programmiert, musste nämlich für klausuren lernen :(
    Also erst mal 1000 dank das du mir so gut hilfst und auch noch anfängst für mich zu schreiben, dafür kann ich nicht genug danken...machst du das eig. beruflich oder nur aus spaß?
    Ich probiere das einfach mal die Tage aus, wenn ich wieder zeit habe...
    muss ich mir den ax media player runterladen oder ist das so ne abgeschliffene version vom windows media player, der überall drauf ist...
    du bist der beste bernt
    Samstag, 19. September 2009 13:20
  • Hallo Marc,

    ich hatte damals die AXMedia.. irgendwo runter gelanden. ich weis aber leider nicht mehr wo ?
    Hallo liebes Forumteam, weis es von euch jemand ?


    Bitte weitere Fragen genauer spezifizieren. Dann geht die Hilfe schneller.


    Danke
    bernd
    Samstag, 19. September 2009 15:33
  • Hallo,

    hier ein paar kurze Tipps:

    3. Hintergrundmusik
    ===============

    Jeweils 10 Stücke in eine einzige Datei packen - es sind ja Stream-Dateien, also einfach kopieren - und dann abspielen mit:

    My.Computer.Audio.Play("Klassig.wma", AudioPlayMode.BackgroundLoop)

    und stoppen mit

    My.Computer.Audio.Stop()

    2. Speichern
    =========

    Ich halte Textdateien nicht für eine gute Idee. Denk mal über Serialisierung nach, also alle Variablen in einer Structure packen und dann als Xml schreiben oder lesen ...

        Public Structure MeineDaten

            Public Name As String     ' beliebige Daten
            Public Wert1 As Integer
            Public Wert2 As Double

            Public Shared Sub Save(ByVal d As MeineDaten, ByVal fn As String)
                Dim ser As New Xml.Serialization.XmlSerializer(GetType(MeineDaten))
                Dim wrt As New Xml.XmlTextWriter(fn, System.Text.Encoding.UTF8)
                ser.Serialize(wrt, d)
            End Sub

            Public Shared Function Load(ByVal fn As String) As MeineDaten
                Dim ser As New Xml.Serialization.XmlSerializer(GetType(MeineDaten))
                Dim rdr As New Xml.XmlTextReader(fn)
                Return CType(ser.Deserialize(rdr), MeineDaten)
            End Function

        End Structure

    Dim x as MeineDaten
    x = MeineDaten.Load("DateiName")
    MeineDaten.Save(x, "DateiName")

    1. Netzwerk
    ========

    Ich würde einen WebService machen, der abhängig von einer ID (Nummer, ...) ein bestimmtes Spiel generiert und an den Client schickt. So kann man dann entweder für jeden Spieler ein neues Spiel oder mehrere Spieler mit einem Spiel beglücken. Und dann muss dieser WebService auch noch das Ergebnis eines Spiels aufnehmen und die Ergebnisse aller Spiele zurückgegebn können. Also mindestens 3 Funktionen:

    GetNewGame(game, player)
    PutGameResult(game, player)
    GetGameResults(game)

    Nun kann man mit einfachen HttpRequests diesen Service im Client nutzen. Bei der Übertragung der Daten hilft natürlich wieder Serialisierung, oder?

    Freundliche Grüße
    Joachim van de Bruck


    Sonntag, 20. September 2009 08:42
  • Hallo Marc,

    Haben Dir die Antworten geholfen?

    Grüße,
    Robert

    Montag, 28. September 2009 15:28
    Moderator
  • Hallo Marc,

    Ich gehe davon aus, dass die Antworten Dir weitergeholfen haben.
    Solltest Du noch "Rückfragen" dazu haben, so gib uns bitte Bescheid.

    Grüße,
    Robert

    Montag, 12. Oktober 2009 11:28
    Moderator