tamy: PHP Projekt

Hallo zusammen

hat jemand von eucht, eine Idee, die mit PHP realisieren kann? Ich möchte etwas machen, doch leider fällt mir im Moment nichts ein. Für eure Antworten danke ich euch schon im Voraus.

Grüsse, Tamy

  1. Hi

    hat jemand von eucht, eine Idee, die mit PHP realisieren kann? Ich möchte etwas machen, doch leider fällt mir im Moment nichts ein. Für eure Antworten danke ich euch schon im Voraus.

    Ich braeuchte eine webbasierte Projektverwaltung inkl. Trackingsystem fuer Kunden, Arbeitsplan, Workflow, Einzelkalender, Gruppenkalender mit Berechtigungsstufen auf Feld-/Satzebene. Das Ganze auf MySQL mit Import/Exportfunktionen zu lokalen CRM/ERP-Systemen. Das Contentsystem dazu habe ich selber, Schnittstellen werden geliefert.

    Termin: Juni 2004

    ;-)

    Gruesse
    Wilhelm

    1. Das Ergebnis würde mich danna uch mal interessieren ;-)

      rofl

    2. O.k Wilhelm...
      Wo krieg ich die Ausschreibungsunterlagen her?
      Was springt bei raus?
      Ich würde so Pi mal Daumen sagen 2000 MannTage (schön wa) zum üblichen Honorrar 680,- EURO pro Tag zzgl MwSt.

      :-)
      Viele Grüße aus dem sonnigen aber a...kalten Berlin.

      TomIRL

      1. Hi

        Wo krieg ich die Ausschreibungsunterlagen her?

        wohl nirgends

        Was springt bei raus?

        wohl nichts

        Ich würde so Pi mal Daumen sagen 2000 MannTage (schön wa) zum üblichen Honorrar 680,- EURO pro Tag zzgl MwSt.

        Hmmh, zu teuer fuer unseren kleinen Laden. :-)

        Wir haben eine vage Anfrage ueber einen Geschaftspartner vorliegen, sozusagen als "nice to have". Jetzt brauchen wir nur noch einen Kunden, der das Ganze vorfinanziert. :-)

        Ich musste mich nur leicht ueber die Ausgangsfrage kringeln. Ist immer wieder nett, wie leichtfertig manche Leute an die Sachen rangehen. Vielleicht sollte er mit einem einfachen Formular zum Erfassen von Texten anfangen und diese Texte dann auf seine Seite bringen. Aber heute muss man ja gleich "Projekte" beginnen ohne zu wissen, was da auf einen zukommt.

        Gruesse aus dem ebenso sonnigen, aber sch**kalten Grossraum Muenchen
        Wilhelm

        1. Hallo Wilhelm,

          Ich würde so Pi mal Daumen sagen 2000 MannTage (schön wa) zum üblichen Honorrar 680,- EURO pro Tag zzgl MwSt.
          Hmmh, zu teuer fuer unseren kleinen Laden. :-)

          Keine Sorge, "SELFPIM" wird langsam weiterentwickelt - man koennte, wenn man in Opensource-Kategorien denken wuerde, schon von Version 0.456b sprechen ;-)

          Ich musste mich nur leicht ueber die Ausgangsfrage kringeln. Ist immer wieder nett, wie leichtfertig manche Leute an die Sachen rangehen.

          Also ich finds eigentlich immer nett, wenn mal jemand kein Problem hat, das zu loesen ist, sondern nur das Problem, keins zu haben ;-)

          viele Gruesse
            Stefan Muenz

          1. Hallo Stefan,

            Keine Sorge, "SELFPIM" wird langsam weiterentwickelt - man koennte, wenn man in Opensource-Kategorien denken wuerde, schon von Version 0.456b sprechen ;-)

            Wow, schon eine so hohe Build-Nummer.  Wird ja dannn langsam Zeit fuer die erste prepreprepreAlpha. :-)

            Also ich finds eigentlich immer nett, wenn mal jemand kein Problem hat, das zu loesen ist, sondern nur das Problem, keins zu haben ;-)

            In diesem Licht betrachtet, Zustimmung.

            Kommst Du am Donnerstag eigentlich?

            Gruesse
            Wilhelm

            1. Hi,

              jetzt weiß ich auch, für wen Baschen ein paar Threads höher fragt, wie man eine Site (oder eine Software) bekannt macht ;-))

              Tom

              1. Guten Morgen,

                jetzt weiß ich auch, für wen Baschen ein paar Threads höher fragt, wie man eine Site (oder eine Software) bekannt macht ;-))

                Den fuer Dich offensichtlich vorhandenen Zusammenhang solltest Du mir erklaeren. Mir sagt der angesprochene Name ueberhaupt nichts.

                Gruss
                Wilhelm

        2. Hallo Wilhelm

          Hmmh, zu teuer fuer unseren kleinen Laden. :-)

          Wir haben eine vage Anfrage ueber einen Geschaftspartner vorliegen, sozusagen als "nice to have". Jetzt brauchen wir nur noch einen Kunden, der das Ganze vorfinanziert. :-)

          Nice to have Anfrage habe ich auch ne Menge, zum Glück sitze ich meist auf der Seite der Auftraggeber und nicht wie Du auf der Auftragnehmerseite.

          Und mein Realisierungsangebot war auch nicht wirklich ernst gemeint zumal mein Laden eben kein "Realisierer" (im Sinne von Dienstleister für andere) ist.
          Auf gut Deutsch wir realisieren schon, aber unsere eignen Projekte und unsere Kunden sind wirkliche Endabnehmer.
          Eben klassisches B2C Geschäft und dieses nicht nur auf der E-Commerce Linie.

          Ich musste mich nur leicht ueber die Ausgangsfrage kringeln. Ist immer wieder nett, wie leichtfertig manche Leute an die Sachen rangehen. Vielleicht sollte er mit einem einfachen Formular zum Erfassen von Texten anfangen und diese Texte dann auf seine Seite bringen. Aber heute muss man ja gleich "Projekte" beginnen ohne zu wissen, was da auf einen zukommt.

          Ich muste auch ein wenig schmunzeln.

          Der einfachste und meiner Ansicht nach auch beste Einstieg ist wohl die Aufgabenstellung:
          Baue ein Gästebuch zuerst ohne Mysql und dann mit Mysql.
          Da kann man am meisten dran lernen.

          Viele Grüße TomIRL

      2. Hi Wilhem,

        ich war so lange krank und brauch Aufträge

        Ich würde so Pi mal Daumen sagen 2000 MannTage (schön wa) zum üblichen Honorrar 680,- EURO pro Tag zzgl MwSt.

        Ich machs für 500,- Euro pro Tag. :-)

        Tom

  2. Huhu Tamy

    _warum_ möchtest Du etwas mit PHP machen?

    Falls es Dir darum geht das Programmieren als solches zu üben
    bietet sich vielleicht die Umsetzung eines einfachen Spieles an.
    Daran kann man schön grundlegende Dinge erlernen.

    Was mir gerade einfällt wäre z.B.

    Schiffe versenken (Array-Strukturen, Zufallszahlen)
    Hangman (Stringfunktionen)
    Stein-Schere-Papier (if-else)
    Animal bzw. "Rate das Tier" (Dateifunktionen)
    Knobeln mit Würfeln
    "Ich sehe was was Du nicht siehst" (das ist vielleicht etwas schwieriger umzusetzen ;-) )

    usw.

    Ansonsten geh' doch lieber vor die Tür und guck Dir den Herbst an, wenn Dir langweilig ist.

    Viele Grüße

    lulu

    --
    bythewaythewebsuxgoofflineandenjoytheday
    1. Hi Tamy,

      [lulu]:

      Was mir gerade einfällt wäre z.B.

      Schiffe versenken (Array-Strukturen, Zufallszahlen)
      Hangman (Stringfunktionen)
      Stein-Schere-Papier (if-else)
      Animal bzw. "Rate das Tier" (Dateifunktionen)
      Knobeln mit Würfeln
      "Ich sehe was was Du nicht siehst" (das ist vielleicht etwas schwieriger umzusetzen ;-) )

      Ich find die Idee mit Schiffe versenken von Lulu gut.
      Wenn Du das für zwei User hinbekommst, kauf ichs Dir ab.
      Das Angebot soll als Motivation gelten, es auch fertig zu machen.
      Sagen 150 Euro?
      Dafür helf ich Dir auch, wenn's Probleme gibt.

      Grüße

      Tom

      1. Ich find die Idee mit Schiffe versenken von Lulu gut.
        Wenn Du das für zwei User hinbekommst, kauf ichs Dir ab.
        Das Angebot soll als Motivation gelten, es auch fertig zu machen.
        Sagen 150 Euro?
        Dafür helf ich Dir auch, wenn's Probleme gibt.

        Für 2 User und dann noch von verschiedenen Rechner aus also schön mit Sessions und Cookies ohne JS.
        Das wird spannend.
        Schade ich habe leider zu wenig Zeit.
        Aber helfen tue ich auch...
        TomIRl

        1. Huhu

          eigentlich dachte ich ja an eine einfachst-Variante für einen Spieler
          gegen den Computer.

          Für 2 User und dann noch von verschiedenen Rechner aus also schön mit Sessions und Cookies ohne JS.
          Das wird spannend.

          Das ist natürlich viel schwieriger, aber auch interessanter.

          Man könnte ja auch, um die Sache nicht zu kriegerisch werden zu lassen, das Ganze im Hinblick auf die Weihnachtszeit in "Geschenke aufstöbern" umtaufen.
          Es gibt also kleine Päckchen, mittlere Päckchen und grosse Päckchen statt U-Boot, Zerstörer und Flugzeugträger.
          (pädagogisch halt total wertvoll Du, lass uns da mal drüber reden ...)
          Oder mit Zeitsteuerung, dass die Schlachtschiffe erst nach 23 Uhr zu sehen sind....

          Also eigentlich sucht man die Geschenke ja nicht, da die Packerl gefälligst hübsch verpackt und zu schwindelerregend hohen Türmen aufgestapelt unterm Baum zu liegen haben.

          Wäre halt so ein bischen was von Ostern mit dabei (bei Eiern gibt es aber nicht so viele Größen oder zumindest keine 5er).
          Ok, es gibt 6er-Packungen aber die sind ja von den Dimensionen 2x3 und nicht 5x1.

          Das könnte man hübsch-kitschig dekorieren.
          Wäre ja mal was anderes als ein konventioneller Adventskalender.

          (Oder man muss sich erst registrieren und darf dann maximal 24 Felder aufdecken (jeden Tag eines), bei Treffer natürlich nochmal).
          Dann kann man tolle Preise gewinnen.

          Achja, schön wär es schon aber wer macht dann die Arbeit für die es Geld gibt ?

          Viele Grüße

          lulu

          --
          bythewaythewebsuxgoofflineandenjoytheday
          1. Huhululu,

            Du sprudelst ja nur so über von verkaufsträchtigen Werbeideen. Ich seh schon die Einzelhändler bei mir Schlange stehen für ihr Productplacement. Was man da alles auspacken könnte (da brauche wir unbedingt Chräcker dazu), Stempel, Jägermeister, Strapse, Fotoapparate...

            Grüße

            Tom

          2. Die Idee mit dem Schiffe versenken finde ich toll. Doch ich weiss nicht so genau, wie man diese umsetzen kann. Kann jemand von euch helfen?

            1. Hallo Tamy,

              Die Idee mit dem Schiffe versenken finde ich toll. Doch ich weiss nicht so genau, wie man diese umsetzen kann. Kann jemand von euch helfen?

              Ich bin ganz sicher, dass hier viele Leute helfen können und sogar wollen:

              Da fallen mir ein:

              • TomIRL
              • Tom (ich)
              • Fabian

              obige Liste bitte vervollständigen
              Freunde, tragt Euch ein. Das wird ein Spaß
              befürchte nur, dass wir ein eigenes Forum dafür brauchen.

              Aber wir könnten damit auch einen Super-Thread erzeugen (au weia) und man könnte das Ganze vom Anfang der Programmentwicklung bis zum fertigen Spiel, mit allen Diskussionen, mitverfolgen.

              Als erstes benötigen wir eine Projektleitung.
              Was ist das?
              Was hat die zu tun?
              Und wer macht das?

              ...

              Und nicht vergessen, Tamy will das Spiel programmieren. Wir helfen nur bei der Lösung von Teilaufgaben.

              Dann kann's ja losgehen.

              Grüße

              Tom

              1. Hallo Tom

                • TomIRL
                • Tom (ich)
                • Fabian

                obige Liste bitte vervollständigen

                *meld*

                Aber wir könnten damit auch einen Super-Thread erzeugen (au weia) und man könnte das Ganze vom Anfang der Programmentwicklung bis zum fertigen Spiel, mit allen Diskussionen, mitverfolgen.

                Vielleicht wird ja am Ende sogar ein Feature-Artikel draus: "Stufen der Programmentwicklung" ;-)

                Als erstes benötigen wir eine Projektleitung.

                Ist die bei so einem Projekt wirklich nötig?

                Schöne Grüße,

                Johannes

                --
                ss:| zu:} ls:[ fo:} de:] va:} ch:° sh:( n4:| rl:( br:< js:| ie:{ fl:( mo:}
            2. Huhu tamy

              Die Idee mit dem Schiffe versenken finde ich toll. Doch ich weiss nicht so genau, wie man diese umsetzen kann. Kann jemand von euch helfen?

              Ich gehe davon aus, das Dir das Spiel bekannt ist.
              Es gibt natürlich unterschiedliche Varianten.
              Also schreib erstmal die genaue Spielbeschreibung und die Regeln
              so genau auf, dass Leute ohne Vorkenntnisse es verstehen können.

              Hier mal kurz wie ich es kenne:

              Spielfeld

              (10x10 Raster)

              Schiffe

              Es gibt unterschiedliche Schiffe
              (z.B. 1x1er,1x 2er, 2x 3er,1x 4er, 1x 5er ).

              Wie dürfen diese platziert werden?

              (nur horizontal und vertikal, diagonal nicht)
              Schiffe dürfen nicht direkt nebeneinander platziert werden, müssen also immer komplett von Wasser umgeben sein. Dabei gilt der Rand auch als Wasser.

              Spielablauf

              immer nur ein Versuch, bei Treffer noch einmal

              Spielende

              Wer zuerst alle Schiffe gefunden hat gewinnt.

              So weit, so einfach.

              Um das jetzt für ein Computerspiel umzusetzen sind folgende Teilaufgaben umzusetzen.

              • Interface für den Spielaufbau (setzen der Schiffe)
              • Speichern des aktuellen Spielstandes
              • Anzeige des aktuellen Spielstandes
              • Interface für den Spielablauf
              • Auswertung der Spielzüge
              • grafische Gestaltung

              so ungefähr jedenfalls.

              Vermutlich solltest Du erstmal folgende vereinfachte Variante
              probieren.

              Der Computer (Dein Programm) versteckt die Schiffe
              (nach den Regeln natürlich) und der Spieler muss diese mit
              möglichst wenig Versuchen versenken.
              Es gibt also nur ein Spielfeld.

              Das erspart Dir im ersten Schritt das Interface für den Spielaufbau.

              Als nächstes gibt es zwei Spielfelder, also der Spieler versteckt
              nun ebenfalls seine Schiffe und spielt gegen den Computer.

              Zum Schluss kannst Du versuchen das in eine Online-Variante für zwei menschliche Spieler umzusetzen.
              Das ist dann schon mit viel Mehraufwand verbunden.

              Vorab solltest Du Dir überlegen, ob die Dimensionen des Spielfeldes und Anzahl sowei Größe der Schiffe variabel gehalten werden sollen.
              Das erfordert dann eine flexiblere Programmierung.

              Noch ein Tipp, überlege Dir als erstes wie Du das Spielfeld abspeichern kannst.
              Also welche Zustände gibt es für ein Feld und wie kann man
              das in einer Datenbank oder Text-Datei speichern.

              Dann viel Spass dabei.

              Viele Grüße

              lulu

              --
              bythewaythewebsuxgoofflineandenjoytheday
              1. Hi Lulu,

                dürfen die Schiffe auch um die Ecke gehen?

                Können Zuschauer das Spiel beobachten?

                Hier mal kurz wie ich es kenne:

                Spielfeld

                (10x10 Raster)

                oder auch größer?

                Schiffe

                Es gibt unterschiedliche Schiffe
                (z.B. 1x1er,1x 2er, 2x 3er,1x 4er, 1x 5er ).

                Wie dürfen diese platziert werden?

                (nur horizontal und vertikal, diagonal nicht)
                Schiffe dürfen nicht direkt nebeneinander platziert werden, müssen also immer komplett von Wasser umgeben sein. Dabei gilt der Rand auch als Wasser.

                Spielablauf:
                immer nur ein Versuch, bei Treffer noch einmal

                Spielende:
                Wer zuerst alle Schiffe gefunden hat gewinnt.

                Um das jetzt für ein Computerspiel umzusetzen sind folgende Teilaufgaben umzusetzen.

                • Teilnehmeridentifikation
                • Teilnehmerverwaltung
                • Spieleverwaltung (wer spielt mit wem, fertig?, Historie
                • Interface für den Spielaufbau (setzen der Schiffe)
                • Speichern des aktuellen Spielstandes
                • Anzeige des aktuellen Spielstandes
                • Interface für den Spielablauf
                • Auswertung der Spielzüge
                • grafische Gestaltung

                so ungefähr jedenfalls.

                Vermutlich solltest Du erstmal folgende vereinfachte Variante
                probieren.

                Der Computer (Dein Programm) versteckt die Schiffe
                (nach den Regeln natürlich) und der Spieler muss diese mit
                möglichst wenig Versuchen versenken.
                Es gibt also nur ein Spielfeld.

                und nur einen Spieler...

                Das erspart Dir im ersten Schritt das Interface für den Spielaufbau.

                Als nächstes gibt es zwei Spielfelder, also der Spieler versteckt
                nun ebenfalls seine Schiffe und spielt gegen den Computer.

                Zum Schluss kannst Du versuchen das in eine Online-Variante für zwei menschliche Spieler umzusetzen.
                Das ist dann schon mit viel Mehraufwand verbunden.

                Vorab solltest Du Dir überlegen, ob die Dimensionen des Spielfeldes und Anzahl sowei Größe der Schiffe variabel gehalten werden sollen.
                Das erfordert dann eine flexiblere Programmierung.

                Noch ein Tipp, überlege Dir als erstes wie Du das Spielfeld abspeichern kannst.

                Insbesondere, wenn später statt der Schiffe weihnachtsgeschenke vesteckt werden sollen oder Ostereier... Einfach nur ein Boolean-Array ist da zu wenig (wahrscheinlich sowieso, denn man muss ja mindestens Wasser, Schiff, und getroffen signieren können)

                Also welche Zustände gibt es für ein Feld und wie kann man
                das in einer Datenbank oder Text-Datei speichern.

                Tipp: nimm eine Textdatei. Das reicht vollkommen.

                Weißt Du schon, wie man Daten in (Text-)Dateien speichern kann und sie auch wieder lesbar machen kann ?

                Von mit auch viel Spaß

                Tom

                1. Huhu Tom

                  na Du scheinst ja richtig Feuer gefangen zu haben.
                  So völlig sinnlose und überflüssige Projekte haben ja auch meistens einen gewissen Charme ;-) "complete waste of time" eben.

                  dürfen die Schiffe auch um die Ecke gehen?

                  wenn Sie dann noch manövrierfähig sind - selbstverständlich ...
                  Vielleicht sollte man das aber soweit vereinfachen, dass man
                  nur rechteckige Formen zulässt.

                  Können Zuschauer das Spiel beobachten?

                  das dürfte sehr langweilig sein

                  • Teilnehmeridentifikation
                  • Teilnehmerverwaltung
                  • Spieleverwaltung (wer spielt mit wem, fertig?, Historie

                  Den ganzen Bereich der Benutzerverwaltung würde ich erstmal ausklammern (zumindest wenn tamy, wie ich mal annehme noch nicht so viel Programmiererfahrung hat).

                  Ich vermute mal Du kennst kingchess. Da gibt es das alles.
                  Vieles davon macht aber bei "Schiffe versenken" nicht wirklich Sinn, da es ja ein sehr einfaches Spiel ist was ja ausschliesslich
                  auf Glück basiert (wenn man mal von einer sytematischen "Beharkung" des Ozeanes im Hinblick auf mögliche Verstecke, und sytematischem Versenken absieht. Das kann man aber auch dem Programm beibringen).

                  Der Vorteil bei "Schiffe versenken" ist, dass man die Abfolge der Züge nicht zu wissen bzw. speichern braucht, da ein Abbild des Spielfeldes den aktuellen Zustand und alle gültigen Züge beinhaltet.
                  Fehlt nur noch die Information welcher Spieler am Zug ist.

                  Bei Schach sieht das anders aus, da ja einige Spezialzüge (Rochade, en-passant) nur bei bestimmten Zuständen erlaubt sind.

                  Eine Historie des Spielablaufes braucht man also nicht.
                  Es sei denn man möchte sich nach Beendigung des Spieles den Untergang
                  der Armada nochmal im Zeitraffer anschauen.

                  Und Turniere sind auch weniger spannend, da es ja, wie gesagt ein
                  reines Glücksspiel ist.

                  Ich denke am meisten rausholen kann man, wenn man das ganze gestalterisch ansprechend, und mit Liebe zum Detail, umsetzt.

                  Dann könnte das eine feine Sache werden, auch wenn das Spiel als solches sehr simpel ist.

                  Viele Grüße

                  lulu

                  --
                  bythewaythewebsuxgoofflineandenjoytheday
                  1. Halo Lulu

                    na Du scheinst ja richtig Feuer gefangen zu haben.
                    So völlig sinnlose und überflüssige Projekte haben ja auch meistens einen gewissen Charme ;-) "complete waste of time" eben.

                    so ganz "waste of Time" ist das für mich nicht, deshalb habe ich für Tamy ja auch die "Erfolgsprämie" ausgelobt.

                    dürfen die Schiffe auch um die Ecke gehen?
                    wenn Sie dann noch manövrierfähig sind - selbstverständlich ...

                    das bringt mich auf eine gemeine Idee. Man könnte dem ganzen auch noch eine Dynamik geben, und die Schiffe, die nicht getroffen wurden, weiterbewegen.

                    Vielleicht sollte man das aber soweit vereinfachen, dass man
                    nur rechteckige Formen zulässt.

                    Dem stimme ich zu. Also auch erstmal nicht um die Ecke und nicht bewegen.

                    Können Zuschauer das Spiel beobachten?
                    das dürfte sehr langweilig sein

                    OK, keine Zuschauer. Aber wie finden sich dann zwei Spieler? Das müsste man auch noch klären. Es bedarf also einer "Online- und Warteanzeige"

                    • Teilnehmeridentifikation
                    • Teilnehmerverwaltung
                    • Spieleverwaltung (wer spielt mit wem, fertig?, Historie

                    Den ganzen Bereich der Benutzerverwaltung würde ich erstmal ausklammern (zumindest wenn tamy, wie ich mal annehme noch nicht so viel Programmiererfahrung hat).

                    Man sollte schon ein paar Worte über Auth401 oder über Sessions verlieren. Eine ganz einfache Lösung mit "Sessioncookie" lässt sich da sicher einbauen.

                    Ich vermute mal Du kennst kingchess. Da gibt es das alles.

                    Nein, nicht bewußt. Obwohl ich schon einmal ein eigenes Konzept für Schach aufgestellt habe und viele Seiten im Web dazu aufgesucht habe.

                    Der Vorteil bei "Schiffe versenken" ist, dass man die Abfolge der Züge nicht zu wissen bzw. speichern braucht, da ein Abbild des Spielfeldes den aktuellen Zustand und alle gültigen Züge beinhaltet.

                    Da es bei 10*10 ja maximal 100 Züge geben kann, kann man ganz einfach die Zahlen eines Bytes für die Reihenfolge nutzen.

                    Wie war das eigentlich beim Schiffeversenken? Es hat jeder einen eingenen Ozean, oder?

                    Grüße zurück

                    Tom

                    1. Hallo Tom, hallo lulu,

                      Können Zuschauer das Spiel beobachten?
                      das dürfte sehr langweilig sein

                      Eine andere Idee: Spiele können gespeichert und dann im Zeitraffer angeschaut werden.

                      OK, keine Zuschauer. Aber wie finden sich dann zwei Spieler? Das müsste man auch noch klären. Es bedarf also einer "Online- und Warteanzeige"

                      hmm...ist JavaScript als Mitspielvorraussetzung zulässig?

                      Wie war das eigentlich beim Schiffeversenken? Es hat jeder einen eingenen Ozean, oder?

                      Ja.

                      Schöne Grüße,

                      Johannes

                      --
                      ss:| zu:} ls:[ fo:} de:] va:} ch:° sh:( n4:| rl:( br:< js:| ie:{ fl:( mo:}
                      1. Hi,

                        hmm...ist JavaScript als Mitspielvorraussetzung zulässig?

                        Es wir kaum anders praktisch sein...

                        Tom

                        1. Hi ihr alle ;-)

                          hmm...ist JavaScript als Mitspielvorraussetzung zulässig?

                          IMHO ist es zulässig für Optimalen Komfort.

                          Es wir kaum anders praktisch sein...

                          Doch, es sollte durchaus machbar sein, auch bei einem Schifeversenken. Bei anderen Spielen sieht das allerdings anders aus.

                          Ich denke, dass es akzeptabel ist, wenn Javascript dazu genutzt wird, das Interface dynamisch upzudaten, damit nicht die ganze Seite immer neu geladen werden muss. Aber als "has-to" halte ich es für inakzeptabel.

                          Grüße aus Barsinghausen,
                          Fabian

                    2. Huhu Tom und die anderen Hobby-Fregatten-Kapitäne

                      Wie war das eigentlich beim Schiffeversenken? Es hat jeder einen eingenen Ozean, oder?

                      genau.

                      Verdammt jetzt bin ich infiziert, nix mit Freizeit oder Feierabend.
                      Statt dessen blödes "Schiffe-versenken", naja Spass macht es auch.

                      Eine erste Version gibt es hier, da passiert noch nichts tolles, ausser die automatische und zufällige Anordnung der Schiffe.

                      Naja, immerhin ist die Zahl und Größe der Schiffe sowie die Abmessungen des Ozeans variabel.

                      http://www.maledivas.de/battleship/

                      Das Ganze ist als eigene Klasse angelegt, wenn ich den Code ein bischen aufgeräumt und kommentiert habe stelle ich das gerne zur Verfügung, aber eigentlich sollte / wollte tamy das ja machen?
                      Aber nichts mehr zu hören, oder?

                      Viele Grüße und "Treffer versenkt"

                      lulu

                      --
                      bythewaythewebsuxgoofflineandenjoytheday
                      1. Huhu

                        das "Schiffe versenken"-Fieber hat mich den gestrigen Abend
                        gekostet.
                        Immerhin ist eine erste spielfähige Version dabei herausgekommen.
                        http://www.maledivas.de/battleship/index.php

                        Bleiben noch ein paar Baustellen:
                        Der Computergegner ist (noch) nicht besonders stark.
                        Es gibt (noch) keinen Extra-Versuch bei einem Treffer.
                        Die Flotte des Spielers wird vom Computer versteckt.
                        (Also keine individuelle Eingabe)
                        Die Spielerflotte könnte ja eigentlich sichtbar sein (ist sie zur Zeit nicht).
                        Keine Anzeige welche Schiffe/ Schiffstypen noch versteckt sind.
                        Die Gestaltung ist noch ziemlich huschi-huschi.

                        Aber ein bischen funktioniert es schon ;-)

                        Viele Grüße

                        lulu

                        --
                        bythewaythewebsuxgoofflineandenjoytheday
                        1. Hola Lulu,

                          Immerhin ist eine erste spielfähige Version dabei herausgekommen.
                          http://www.maledivas.de/battleship/index.php

                          Ist ja scharf. Gefällt mir gut.
                          Nur was ist mit Tamy passiert?
                          Ist die schon untergegangen?

                          Wie groß ist das PHP-Script inzwischen?

                          Was können wir denn jetzt tun, damit es ein Mehruser-Spiel wird?

                          Grüße

                          Tom

                          1. Huhu Tom

                            Ist ja scharf. Gefällt mir gut.

                            Das freut mich.

                            Wie groß ist das PHP-Script inzwischen?

                            die Klasse hat ca. 19 KB und ca. 700 Zeilen, dazu kommt noch das
                            HTML-Gerüst (welches ich noch nicht validiert habe, kommt selbstverständlich noch)
                            und das Skript für den Spielablauf (der ist aber sehr einfach z.Zt. rund 30 Zeilen)

                            Was können wir denn jetzt tun, damit es ein Mehruser-Spiel wird?

                            Das wäre erstmal eine konzeptionelle Frage, ich würde mir das ungefähr so vorstellen:

                            User kommt auf Seite und "meldet"[1] sich an.
                            Dann kan er
                             a) gegen den Computergegner antreten

                            oder b) sagen er wartet auf menschlichen Gegner

                            oder c) wenn jemand anders seinerseits b) gesagt hat kann er dann mit
                            diesem spielen

                            (Auswahl aus Liste "wartender" Gegner)

                            Da könnte man schonmal vorab diesen Ablauf detailierter ausarbeiten.

                            Dann muss man ja die Spielbretter wechselseitig aktualisieren.
                            Am besten automatisch, da ja niemand ständig auf Reload drücken möchte.
                            Die Deluxe-Variante aktualisiert sich nur wenn der Gegner gezogen hat.
                            Das wird schon etwas kniffliger aber dazu habe ich eine Idee, mal sehen ...

                            Viele Grüße

                            lulu

                            [1] ich denke hier erstmal nicht an eine richtige Registrierung
                               sondern einfach per Session

                            --
                            bythewaythewebsuxgoofflineandenjoytheday
                            1. Hi Lulu,

                              [1] ich denke hier erstmal nicht an eine richtige Registrierung
                                 sondern einfach per Session

                              Ich werde mir da mal Gedanken machen. Man muss sicher eine "Online-Anzeige" ermöglichen, um zu signalisieren, dass da jemand auf Mitspeiler wartet. Dann wäre natürlich ein bisschen Sound noch ganz gut ;-))

                              Fabian denkt ja auch schon fleißig.

                              Mal sehen, ob wir was zaubern können.

                              Grüße

                              Tom

                              1. Huhu Tom

                                Dann wäre natürlich ein bisschen Sound noch ganz gut ;-))

                                Unbedingt.
                                Da man ja nur kurze Sound-Schnipsel braucht (bumm und platsch)
                                könnte man sicherlich etwas derartiges einbauen.

                                Naja, in Flash könnte man da noch mehr machen (Animationen etc.).
                                Da habe ich aber keine Ahnung von.
                                Man könnte sicherlich (wenn man es denn kann) ein hübsches "front end" in Flash machen das die notwendigen Daten zur Anzeige aus dem Skript holt.
                                Aber erstmal soll das ohne Plugins auskommen.

                                Werde jetzt gleich noch ein bischen weiterbasteln.

                                Mal sehen ob ich zu dieser Stunde noch etwas hinkriege.

                                Viele Grüße

                                lulu

                                --
                                bythewaythewebsuxgoofflineandenjoytheday
                                1. Hi Lulu,
                                  hi Tammy, das Mächen vom Hausboot *ggg*,

                                  Ich mach mal den Vorschlag, dass Du eine eMail in die Seite  mit dem Spiel einbaust, wo man die Verbesserungsvorschläge mitteilchen kann. Undann vieleicht die Anmeldung zu einem eMail-Verteiler, an diese Mails dann verteilt werden.
                                  Und dann einen Link auf den letzten Quellcode.

                                  Dann wird sich das Spiell ganz schnell weiterentwickeln - hoffe ich.

                                  Eine Benutzerschnittstelle hätte ich fertig. Aber ohne das Spiel, nützt die ja nicht viel.

                                  Liebe Grüße

                                  Tom

                                  1. Huhu Tom

                                    im Moment komme ich leider nicht dazu an dem *Ding*
                                    weiterzuarbeiten.

                                    Habe erstmal eine Subdomain für das Spiel eingerichtet.
                                    http://battleship.maledivas.de/index.html

                                    Wenn sich etwas tut wird es dann dort zu sehen sein.

                                    Als nächstes baue ich da das Form von Alex ein.
                                    http://alex.ilosuna.org/forum.html
                                    Dann wird man ja sehen wie, und ob, sich das weiterentwickelt ;-)

                                    Dann brauchen wir auch das SelfForum nicht mehr weiter vollzumüllen.

                                    Viele Grüße

                                    lulu

                                    --
                                    bythewaythewebsuxgoofflineandenjoytheday
                                    1. Hallo lulu,

                                      Habe euren Thread leider jetzt erst zu lesen angefangen. Ich will auch mitmachen! Ich bin jetzt aber kein Profi, allerhoechstens fortgeschrittener anfaenger *g*. Will mich aber weiterbilden. Ich koennte auch den HTML-Part uebernehmen. Ich werde gleich mal anfangen, die Seite valide zu machen, okay?

                                      Wenn ihr aber nicht wollt, dass ich mitspiele, dann lass' ichs. Und dann renn' ich weinend zu meinem Papa.

                                      *SCNR*

                                      Also bin ich dabei? Darf ich, darf ich, darf ich?

                                      David Schneider

                                      --
                                      Hat jemand meine Signatur gesehen?
                                      1. Hallo lulu,

                                        Hab' ganz vergessen, dass ich dazu ja das Script brauche... D'oh! Kannst du es nicht Online stellen auf die Seite (Als Textdatei am besten), oder mir schicken an dave2010@web.de? vielen Dank.

                                        David Schneider

                                        --
                                        Hat jemand meine Signatur gesehen?
                                        1. Hallo an alle  Wasserratten von "Battleship",

                                          Ich habe mir vorhin das Script heruntergeladen und gerade durchgeschaut. Reife Leistung Lulu, direkt zum Verlieben ;-)

                                          Bleibt für mich vorrangig die Frage, was ist er Vorteil einer Klasse in PHP gegenüber einem include?

                                          Meine Frage              | include               | Class
                                          -------------------------+-----------------------+-------------------
                                          Kapselung von Variablen  | nö, nur in Funktionen |
                                          Kapselung von Funktionen | nö, gar nicht         |
                                          Subfunctions             | nö, sind alle         |
                                                                   |  öffentlich           |
                                          automatische Init möglich| Ja, bei der Einbindung| Constructor
                                          Überladung               | nein                  |
                                          "Unset" von Funktionen   | nein                  |
                                          Unset von Variablen      | ja                    |
                                          Dynamische Speicherverw. | kritisch              |
                                            über Standard (8Mb)    |                       |
                                                                   |                       |
                                                                   |                       |
                                                                   |                       |
                                                                   |                       |
                                                                   |                       |

                                          Wäre nett, wenn das jemand qualifiziert beantworten könnte.

                                          Grüße
                                          Tom

                                          1. Moin!

                                            Bleibt für mich vorrangig die Frage, was ist er Vorteil einer Klasse in PHP gegenüber einem include?

                                            Ich habe die Klassen auch erst unlängst entdeckt und finde sie toll.

                                            Übrigens: Du mußt den Vergleich nicht zwischen Klasse und Include machen, sondern zwischen Klasse und Nicht-Klasse. Auch Klassen stecken in externen Dateien und werden per include() hinzugefügt. :)

                                            Meine Fragen:
                                            Kapselung von Variablen?

                                            Das ist ein wichtiger Punkt. Eine Klasse kannst du zum Programmierzeitpunkt beliebig mit lokalen Variablen ausstatten, welche sich dann _innerhalb_ der Klasse befinden und nicht mit dem globalen Namensraum kollidieren. Auf diese Weise kann man problemlos Zustände in der Klasse festhalten, ohne in Konflikt mit dem globalen Namensraum zu kommen.

                                            Nur mit Funktionen kommt man da nicht weit. Dazu müßte man entweder innerhalb der Funktion Zugriff auf eine globale Variable haben, oder aber ein Konstrukt mit Referenzenübergabe wählen, damit die beliebig gewählte Variable innerhalb der Funktion geändert und die Änderung dann auch außerhalb der Funktion sichtbar wird:

                                            function add(&$referenz, $wert)
                                            {
                                              $referenz +=$wert;
                                            }

                                            add($irgendwas,2); // $irgendwas ist hinterher 2 größer.

                                            Geht zwar, ist aber nicht unbedingt superschön.

                                            Kapselung von Funktionen

                                            Klassen kapseln Funktionen in dem Sinne auch nicht. Natürlich werden sie als Methoden der Klasse schön zusammengefaßt, aber wirklich gekapselt würde ich dazu nicht sagen.

                                            Subfunctions

                                            Auch Methoden einer Klasse sind derzeit noch alle öffentlich. Aber das muß man ja nicht ausnutzen.

                                            Der wesentliche Vorteil einer Klasse gegenüber einer Funktionssammlung ist die leichte Erweiterbarkeit.

                                            Es ist beispielsweise kein Problem, eine existierende Klasse mit Methoden zu erweitern bzw. existierende Methoden noch einmal neu zu definieren, indem man die alte Klasse einfach erweitert. Mit Funktionen kann man sowas nicht machen. Einmal definiert, stehen sie fest und können nicht geändert werden.

                                            automatische Init möglich

                                            Tja, ob das nun so ein Riesenvorteil ist, weiß ich nicht. Aber es ist nett, wenn z.B. die DB-Klasse gleich direkt die Verbindung herstellt und man sich um solch einen Scheiß nicht selbst kümmern muß.

                                            Überladung

                                            Hab ich noch nicht gebraucht.

                                            "Unset" von Funktionen

                                            Hab ich noch nicht gebraucht. Sinn?

                                            Unset von Variablen

                                            Trivial, oder?

                                            Dynamische Speicherverw. über Standard (8Mb)

                                            Bin ich noch nicht drangestoßen.

                                            Wäre nett, wenn das jemand qualifiziert beantworten könnte.

                                            Ich hab mir Mühe gegeben. :)

                                            - Sven Rautenberg

                                            --
                                            "Beim Stuff für's Web gibts kein Material, was sonst das Zeugs ist, aus dem die Sachen sind."
                                            (fastix®, 13. Oktober 2003, 02:26 Uhr -> </archiv/2003/10/60137/#m338340>)
                                            1. Hallo Sven,

                                              danke für die ausführliche Antwort.

                                              automatische Init möglich

                                              Das ging ja beim "normalen" include()-Konzept auch schon. Hab ich auch immer so gemacht. Als alter Pascal-Unit-Schreiber steckt das eben drin.

                                              Dynamische Speicherverw. über Standard (8Mb)
                                              Bin ich noch nicht drangestoßen.

                                              Das würde mich noch sehr interessieren, ob es geht. Und zwar Allokation von zus. Speicher, der direkt dem Betriebssystem untersteht.

                                              Wäre nett, wenn das jemand qualifiziert beantworten könnte.
                                              Ich hab mir Mühe gegeben. :)

                                              Jau, und mich damit wieder ein bisschen mehr motiviert, nun auch mal endlich umzustellen. Lulus Code-Beispiel ist zudem auch sehr schön leicht lesbar, weil sauber geschrieben.

                                              Grüße

                                              Tom

                                              1. Moin!

                                                automatische Init möglich

                                                Das ging ja beim "normalen" include()-Konzept auch schon. Hab ich auch immer so gemacht. Als alter Pascal-Unit-Schreiber steckt das eben drin.

                                                Ist aber in diesem Fall nochmal grundsätzlich etwas anderes.

                                                Eine Pascal-Unit ist (wenn ich mich noch richtig erinnere) ein Block extern ausgelagerter Prozeduren und Funktionen, die eingebunden werden können, um die Funktionalität zu erweitern. Also beispielsweise bei den klassischen Standard-Units, um I/O zu machen, clearscreen etc.

                                                Eine PHP-Klasse _kann_ sowas auch machen. Dazu würde man die Klasse dann statisch verwenden und die implementierten Methoden mit classname::methodname() aufrufen. Das ist dann im Prinzip identisch mit normalen Funktionen (und sicherlich gibts da noch interessantere Sachen, die ich noch nicht erforscht habe). Was das OOP-mäßige an Klassen angeht, ist eben der Konstruktor.

                                                Beispielsweise (um beim Schiffeversenken zu bleiben) könnte man das Spielfeld aus einem Array von Objekten zusammensetzen, welche ihrerseits dann fast alles regeln, was beispielsweise für die Bilddarstellung zuständig ist. Also besteht das Spielfeld dann auf lauter Objekten "Feld", welche beispielsweise Methoden für "output_picture()", "shoot()", "set_boat()", "storm()" etc. mitbringen könnten.

                                                Und um das Spielfeld mit den Objekten zu füllen, würden logischerweise die Objekte einzeln instantiiert, wobei _jedesmal_ der Konstruktor aufgerufen würde. So könnte man direkt bei der Objekterstellung per Parameter schon mal den Feldtyp festlegen: $feld[1][4] = new feld(23); sorgt dann dafür, dass Feldtyp 23 initialisiert wird, im Gegensatz zu den 22 anderen Typen, die es gibt. Also praktisch Initialisierung mit variablen Parametern.

                                                Das kannst du mit Includes alles nicht wirklich machen, ebenso wie es auch mit Units nicht funktionieren würde (wenn ich mich da richtig erinnere).

                                                Dynamische Speicherverw. über Standard (8Mb)
                                                Bin ich noch nicht drangestoßen.
                                                Das würde mich noch sehr interessieren, ob es geht. Und zwar Allokation von zus. Speicher, der direkt dem Betriebssystem untersteht.

                                                Wozu Speicher allokieren? Gewöhnlich verwaltet PHP den Speicher doch für einen - und das nicht allzu schlecht. Aber wenn du unbedingt willst: PHP bietet bestimmt auch dafür ein Interface, um eigene Speicherblöcke anzufordern. Die ließen sich sicherlich auch zur IPC verwenden. Aber es würde kaum funktionieren, zwischen zwei Apache-PHP-Instanzen zweier Spieler direkt zu kommunizieren - dazu bräuchtest du irgendeinen Daemon, der zusätzlich auf dem Server läuft. Kommunikation über eine Datenbank zwischen zwei Sessions funktioniert aber beispielsweise auch ganz wunderbar - da ist die DB eben der Daemon, der die IPC realisiert (allerdings unter ziemlich hohen "Kosten").

                                                Wäre nett, wenn das jemand qualifiziert beantworten könnte.
                                                Ich hab mir Mühe gegeben. :)
                                                Jau, und mich damit wieder ein bisschen mehr motiviert, nun auch mal endlich umzustellen. Lulus Code-Beispiel ist zudem auch sehr schön leicht lesbar, weil sauber geschrieben.

                                                Ich habe am Quellcode mindestens eine wichtige Kritik: Die Bildlinks stehen direkt in der Klasse, und das halte ich für böse. In der Klasse für die Verwaltung der Spielfelder etc. gehört IMO keinerlei HTML hinein. Die Umsetzung von Spielzuständen in ein Ausgabeformat sollte Sache einer Templateklasse sein. Dann wäre die notwendige Flexibilität erreicht. Weil man ja eher nicht an der Klasse direkt herumändern sollte, aber möglicherweise Dinge wie andere Bildnamen, feste Angaben der Bildgröße oder alt-Texte haben will.

                                                - Sven Rautenberg

                                                --
                                                "Beim Stuff für's Web gibts kein Material, was sonst das Zeugs ist, aus dem die Sachen sind."
                                                (fastix®, 13. Oktober 2003, 02:26 Uhr -> </archiv/2003/10/60137/#m338340>)
                                                1. Huhu Sven

                                                  Ich habe am Quellcode mindestens eine wichtige Kritik: Die Bildlinks stehen direkt in der Klasse, und das halte ich für böse. In der Klasse für die Verwaltung der Spielfelder etc. gehört IMO keinerlei HTML hinein. Die Umsetzung von Spielzuständen in ein Ausgabeformat sollte Sache einer Templateklasse sein. Dann wäre die notwendige Flexibilität erreicht. Weil man ja eher nicht an der Klasse direkt herumändern sollte, aber möglicherweise Dinge wie andere Bildnamen, feste Angaben der Bildgröße oder alt-Texte haben will.

                                                  Da stimme ich Dir völlig zu.
                                                  Habe das jetzt so verändert, dass die Basisklasse nur die nummerische
                                                  Codierung "ausspuckt".

                                                  Wenn man es also "buntig" haben möchte muss man eine eigene Klasse davon ableiten und die entsprechende Funktion überschreiben.
                                                  Dann kann z.B. statt der nummerischen Werte entsprechende Grafiken
                                                  ausgeben.

                                                  Das "Ding" ist halt noch in der Entwicklung, da wird sich also noch einiges tun.

                                                  Viele Grüße

                                                  lulu

                                                  --
                                                  bythewaythewebsuxgoofflineandenjoytheday
                                                  1. Hi Lulu,

                                                    wie geht's nun weiter?
                                                    Immer schauen auf http://battleship.maledivas.de/index.html?

                                                    Dann stirbt unser schlner Thread ja hier *schnüff*

                                                    Grüße

                                                    Tom

                                                    1. Hallo zusammen,

                                                      http://battleship.maledivas.de/index.html?

                                                      Ich habe mir die Seite angeschaut und die Beta3 runtergezogen. Ist ja schon enorm viel passiert. Alle Achtung.

                                                      LG

                                                      Chris

                                    2. Holla Lulu,

                                      unser Thread ist ja tatsächlich noch da.
                                      Schaun wir mal, wie lange noch.

                                      Deine Links habe ich erstmal gebunkert. Ich schau dann morgen noch mal drauf.

                                      Das Spielen kann schon süchtig machen.

                                      Grüße

                                      Tom

                        2. Huhu lulu,

                          Immerhin ist eine erste spielfähige Version dabei herausgekommen.
                          http://www.maledivas.de/battleship/index.php

                          Nett, gibt's davon auch den Quelltext oder ist das closed-source?

                          Bleiben noch ein paar Baustellen:
                          Der Computergegner ist (noch) nicht besonders stark.

                          Hmm...Welche effektiven Spielstrategien gibt es denn für Schiffe versenken.

                          • Zuerst per Zufall tippen
                              Notiz: Zwei Versuche direkt nebeneinander, sind bei einer minimalen Schiffsgröße von 2 Feldern nicht besonders sinnvoll.
                          • Wenn man einen Treffer hat, alle umliegenden Felder untersuchen
                          • Wenn man zwei Treffer in einer Reihe hat, diese Reihe fortsetzen
                          • Wenn nach einer Reihe wieder ein Nichttreffer kommt, die Reihe bis zur Versenkung des Schiffes am anderen Ende fortsetzen

                          Die Spielerflotte könnte ja eigentlich sichtbar sein (ist sie zur Zeit nicht).

                          Ist sie doch. Oder verstehe ich da etwas falsch.

                          Schöne Grüße,

                          Johannes

                          --
                          ss:| zu:} ls:[ fo:} de:] va:} ch:) sh:( n4:| rl:( br:< js:| ie:{ fl:( mo:}
                          1. Huhu Johannes

                            Nett, gibt's davon auch den Quelltext oder ist das closed-source?

                            Wenn ich die schlimmsten Schlampereien raus- und Kommentare hineingeschrieben habe gibt es vermutlich auch den Source-Code.

                            Der Computergegner ist (noch) nicht besonders stark.

                            Hmm...Welche effektiven Spielstrategien gibt es denn für Schiffe versenken.

                            Also das systematische Versenken bei "angeschossenen" ist schon implementiert.

                            Was noch fehlt ist, das hast Du sehr richtig beschrieben, das systematische "Beharken" des Ozeans im Hinblick auf mögliche Verstecke anhand der Schiffgröße, bzw. gezieltes "Beharken" von Schnittpunkten im Raster, da ja dort erhöhte Wahrscheinlichkeit auf Treffer.
                            (Ich hoffe man kann das obige Gestammel verstehen, ist halt später Nachmittag)

                            Die Spielerflotte könnte ja eigentlich sichtbar sein (ist sie zur Zeit nicht).
                            Ist sie doch. Oder verstehe ich da etwas falsch.

                            Diese Baustelle war sehr einfach zu beheben, deshalb habe ich das inzwischen behoben.

                            Viele Grüße

                            lulu

                            --
                            bythewaythewebsuxgoofflineandenjoytheday
  3. Hallo zusammen

    auch so, ähh...

    kannst Du eine Arbeitsstelle programmieren? Davon bräuchte ich so ungefähr eine. Dann hätte ich gern eine zweite Festplatte und eine Reise - vielleicht nach Leipzig oder Dresden?

    Gruß, Andreas

  4. hat jemand von eucht, eine Idee, die mit PHP realisieren kann? Ich möchte etwas machen, doch leider fällt mir im Moment nichts ein. Für eure Antworten danke ich euch schon im Voraus.
    Grüsse, Tamy

    Jauh !
    Du koenntest da weitermachen, wo Damir Enseleit aufgehört hat !!
    Mach hinne !!