kostenloser Webspace werbefrei: lima-city


Dialoge, in welcher Sprache programmieren?

lima-cityForumProgrammiersprachenSonstige Programmiersprachen

  1. Autor dieses Themas

    hbss

    Kostenloser Webspace von hbss

    hbss hat kostenlosen Webspace.



    In welcher Sprache und mit welchem System würdest Du folgendes Problem lösen:
    Interaktives Dialogspiel.

    Der User sieht
    4 Sätze:


    1
    Schatz willst Du Nudeln.
    2
    Hör auf mit den Anspielungen.
    3
    Was ist Dir denn über die Leber gelaufen.
    4
    Mit Psycho werde ich nicht satt.



    Dann werden
    4 Alternativen eingeblendet
    wie der Dialog weitergehen soll


    a

    b

    c

    d.

    Der User sucht sich eine aus zB b
    und das wird dann angefügt.


    Dann kommen wieder 4 Sätze zur Auswahl.


    etc.


    Das Programm soll in allen Systemen laufen
    dos win Linux Mac Chrome etc.



    Im Notfall würde ich es in html machen
    für jede Möglichkeit eine neue Seite
    das wären dann halt 1000 Seiten und mehr bei
    100 Sätzen Dialoglänge.


    Danke vorweg für Ideen und Hilfe.

  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. Wenn ich das richtig verstehe, dann braucst du also eine kleine GUI auf denen du dann deine Buttons einblenden kannst. Das Programm soll Plattformunabhangig sein. Dafür würde ich entweder Python oder Java verwenden, wobei Java natürlich den Vorteil hat auf fast allen Systemen installiert zu sein.
  4. schrotti12

    Moderator Kostenloser Webspace von schrotti12

    schrotti12 hat kostenlosen Webspace.

    hc-tools schrieb:
    [...] wobei Java natürlich den Vorteil hat auf fast allen Systemen installiert zu sein.


    Nicht wirklich... Weder Windows noch Linux haben von Haus aus Java installiert. Aber es ist für alle relevanten Systeme verfügbar.
    Ich würde solch eine Software auch in Java schreiben. Ohne Verwendung von Look-And-Feel-Klassen allerdings. Dann ist das Programm wirklich auf allen Systemen lauffähig.

    Da Java auch auf die gängigen Resourcen wie Datenbanken (JDBC) lokal oder entfernt, Webservices aber auch auf Dateien auf der Festplatte zugreifen kann müssen die Inhalte nicht mal fix einprogrammiert sein sondern können zur Laufzeit dynamisch aus genannten Quellen geladen werden.
  5. Ich meinte mit auf fast jedem System vorhanden jetzt auch nicht, dass es vorinstalliert ist, sondern, dass Java auf fast jedem Computer nachinstalliert ist.
  6. Im Grunde ist es doch egal, nimm einfach die Sprache, die du am besten kannst. Ob du jetzt Java nimmst und der User im Zweifelsfall erst noch Java installieren muss oder du halt einfach für alle Systeme kompilierst musst du wissen. Natürlich könntest du auch PHP nehmen, aber dann brauchst du wieder nen Server (entweder lokal oder per Netzwerk etc).

    Ich persönlich würde ja versuchen, es in Clojure zu lösen. :)

    Edit, ich habe gerade deine Anforderung gelesen:

    hbss schrieb:
    Das Programm soll in allen Systemen laufen
    dos win Linux Mac Chrome etc.


    Mach dir lieber mal Gedanken, ob das Sinn macht, alle genannten Plattformen zu unterstützen. Ich würde ja was für die Konsole nehmen, aber da spielt Chrome wieder nicht mit. Wobei du alles mit grafischen Oberflächen auf Dos vergessen kannst.

    Beitrag zuletzt geändert: 6.5.2013 13:40:27 von tchab
  7. Deine Anforderungen sind nicht 100%ig klar. Soll das Programm ein Gedächtnis haben, das über eine Frage-Antwort-Runde hinausgeht? Falls das nicht der Fall ist, kannst du den nachfolgenden Code nutzen.

    Ich habe mal kurz was in Lua zusammengeschrieben. Damit kannst du selbst MS-DOS bedienen.

    local dialog = {
    	intro = {
    		["Schatz willst du Nudeln?"] = "nudeln",
    		["Hör auf mit den Anspielungen"] = "anspielungen",
    		["Was ist dir denn über die Leber gelaufen?"] = "leber",
    		["Mit Psycho werde ich nicht satt"] = "psycho" },
    	nudeln = {
    		["Ich muss auf meine Linie achten"] = "linie",
    		["Nein danke"] = "danke" },
    	anspielungen = {
    		["Ich spiele so viel ich will"] = "viel",
    	},
    	danke = {
    		["Danke nicht mir!"] = "undankbar",
    		["Du alter Miesepeter"] = "undankbar" },
    	undankbar = {
    		["Und immer so weiter"] = "ziellos" },
    	ziellos = { 
    		["Du bist in einer Endlosschleife gefangen"] = "ziellos" }
    }
    
    local key = "intro"
    while true do
    	entries = dialog[ key ]
    	if entries then
    		local i = 1
    		local links = {}
    		for question, ref in pairs( entries ) do
    			print( '(' .. i .. ') ' .. question )
    			i = i + 1
    			table.insert( links, ref )
    		end
    		key = links[ io.read( '*number' ) ]
    	else
    		break
    	end
    end
  8. Autor dieses Themas

    hbss

    Kostenloser Webspace von hbss

    hbss hat kostenlosen Webspace.


    Ich habe mich nicht gut genug ausgedrückt.

    Das Problem ist
    wie ich kann Schreibaufwand
    minimieren.

    Gehen tut das so:


    Der User sieht
    4 Sätze:


    1.htm

    1
    Schatz willst Du Nudeln.
    2
    Hör auf mit den Anspielungen.
    3
    Was ist Dir denn über die Leber gelaufen.
    4
    Mit Psycho werde ich nicht satt.



    Dann werden
    4 Alternativen eingeblendet
    wie der Dialog weitergehen soll


    a

    b

    c

    d.


    Nehmen wir an
    User klickt c:

    1c.htm

    1
    Hör auf mit den Anspielungen.
    2
    Was ist Dir denn über die Leber gelaufen.
    3
    Mit Psycho werde ich nicht satt.
    4
    Dann gehe ich in die Küche.


    nun wieder

    a
    b
    c
    d

    Und nehmen wir an das ist alles in html
    dann klicken wir auf b
    und schalten zur seite 2b


    Also wenn ich dann je nach Dialoglänge 1000 html Seiten schreibe und hochlade
    das geht
    wenig Speicher bei txt
    aber
    Riesenverwaltung.

    Und html können auch alle.

    Frage
    geht das auch ökonimischer?

    Zeit geht schon viel sparen mit copy und paste.


    Gruss und Danke für Unterstützung.

  9. Klar geht das "kürzer".

    Eine Funktion, die immer a, b, c oder d an nimmt und einen Counter an welcher Stelle im Dialog man gerade ist, dementsprechend brauchst du nur 1 Datei bzw. eine Funktion, in der alle Möglichkeiten enthalten sind. Ob das Sinn macht, naja, aber möglich ist es.

    DU musst halt wissen, wie DEINE Software ausschauen soll.

    Wenn du den Verwaltungsaufwand minimieren willst (auf Dauer) würde ich vielleicht mit einer Datenbank arbeiten, MySQL bietet sich natürlich an, wenn du es im Web machen willst. Dort bekommt jede Frage automatisch einen Index, mit einer entsprechenden Funktion in PHP ist das ganz enifach und du kannst auch einfach neue Fragen hinzufügen.

    (Eine Tabelle mit den Fragen, dann vielleicht pro Frage eine Tabelle mit den Antworten, ich weiß nicht, ob man das schöner hinbekommt als das von mir vorgeschlagene.)

    PS:

    Dich zu verstehen ist immer recht schwierig, das meine ich nicht böse, aber dein Deutsch ist nunmal nicht das Beste. Fühl dich nicht angegriffen, aber warum wendest du dich nicht an ein Forum in deiner Muttersprache? Dann wäre es glaube ich auch einfacher für dich.
  10. Autor dieses Themas

    hbss

    Kostenloser Webspace von hbss

    hbss hat kostenlosen Webspace.

    MYSQL ist überall zu haben? Weil ich will, wollte das Programm ja auch weitergeben, das war ja auch der Sinn der Frage.
    Falls also nicht html, dann ist der Schreibaufwand in jedem Fall geringer, denke ich auch. Danke für Hilfe.
  11. hbss schrieb:
    MYSQL ist überall zu haben? Weil ich will, wollte das Programm ja auch weitergeben, das war ja auch der Sinn der Frage.
    Falls also nicht html, dann ist der Schreibaufwand in jedem Fall geringer, denke ich auch. Danke für Hilfe.


    MySQL ist überall verfügbar, wo ein MySQL-Server erreichbar ist.
  12. Kannst du Beispiele für die Alternativen bringen? Ich kann nicht nachvollziehen, wie das ablaufen soll.

    Warum müssen es 4 Sätze UND 4 Antwortmöglichkeiten sein? Wäre 1 Satz und 4 Antwortmöglichkeiten nicht viel logischer?

    Beitrag zuletzt geändert: 23.5.2013 20:41:46 von bladehunter
  13. Autor dieses Themas

    hbss

    Kostenloser Webspace von hbss

    hbss hat kostenlosen Webspace.

    Das habe ich schlecht formuliert.
    Das sieht dann so aus:

    a sagt was
    b sagt was
    c sagt was
    d sagt was

    nun werden 4 sätzen angeboten
    e sagt was
    f sagt was
    g sagt was
    h sagt was

    Der User sucht nun f aus.

    Dann sieht der user:
    b sagt was
    c sagt was
    d sagt was
    f sagt was


    etc
    Also man kann immer die 4 letzten Sätze noch sehen.
    Ist das nun besser verständlich.

    Deswegen wäre es ja in pure html Rienschreibarbeit.


    Gruss und Danke.


  14. hbss schrieb:
    Also man kann immer die 4 letzten Sätze noch sehen.
    Ist das nun besser verständlich.

    Okay. Das Wie ist jetzt klarer. Aber das Warum verstehe ich noch nicht.
  15. Alternative wäre Flash/Actionscript, mit einer internen/externen XML Datei
    oder du nimmst static precompiled SQLite binary´s für win/linux/mac
    dann haste noch ne db dazu , actionscript kann die auch problemlos ansprechen

    wenn du es -> swf exportierst sollten alle Plattformen damit klar kommen,
    da das swf format weitgehend verbreitet ist.

    Zum Design , da sind dir bei Flash kaum grenzen gesetzt

    Öffnen würde sich das "App" im Browser oder mit dem Standalone Player.....

    Apple Iphone ?? hmmm Pech gehabt oder haben die es mittlerweile auf die reihe bekommen ?

    und bzgl. Dos ?, hmmm ob sich das noch lohnt ? viele standard binary´s gibt es unter vista / win7 garnicht mehr


    Beitrag zuletzt geändert: 3.6.2013 8:08:36 von n0tiert
  16. Autor dieses Themas

    hbss

    Kostenloser Webspace von hbss

    hbss hat kostenlosen Webspace.

    Was meint Bladehunter bitte mit "Warum"?

    Was ist Glade.
    Bin drübergestolpert. Sieht ganz gut aus und plattformunabhängig.
    Wo kann ich ausser wiki dafür ein Manual finden?

    Gruss und Danke.
  17. hbss schrieb:
    Was meint Bladehunter bitte mit "Warum"?

    Ich kann nicht nachvollziehen, warum es sinnvoll sein sollte, die Dinge so anzuzeigen, wie du sie beschrieben hast. Du musst dir ja irgendetwas dabei gedacht haben :wink:


    Was ist Glade.
    Bin drübergestolpert. Sieht ganz gut aus und plattformunabhängig.
    Wo kann ich ausser wiki dafür ein Manual finden?

    Glade ist ein Editor, mit dem man graphische Oberflächen zusammenstellen kann. Er wird insbesondere für Gtk gerne benutzt.
    Siehe dazu auch: https://en.wikipedia.org/wiki/Glade_Interface_Designer
    Glade wird dir vermutlich aber nicht helfen.
  18. Autor dieses Themas

    hbss

    Kostenloser Webspace von hbss

    hbss hat kostenlosen Webspace.

    Danke für die freundliche Hilfe.
    Ich tendiere immer mehr zu Java:

    a als Applet hochladbar
    b ich kann den Code jedem geben und der kann es überall auf Webspace hochladen
    c der Code ist unlesbar für Dritte
    d programmierbar einfach: Es ist 1200 Sätze inzwischen, ich lege ein array an mit 1200 Feklern und lass das Programm die entsprechenden Sätze rausgreifen und anzeigen.

    e
    Einen Button kriege ich hin in Java
    werde ich den Rest auch leicht lernen können
    oder?

    Gruss hbss
  19. 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!