J2MeForum Foren-Übersicht J2MeForum
Willkommen im J2MeForum! Hier gehts um die Entwicklung mobiler Applikationen in J2ME (Java 2 Micro Edition) für Handys von Nokia, Sonyericsson, Motorola, Samsung uvm. aber auch um die Programmierung von Organizern unter PalmOS, Android oder dem iPhone bzw. iPod Touch. Viel Vergnügen!
 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin Seacrh Users Suche Usernamen




Autocommit bei Eingabe?

 
Neues Thema eröffnen   Neue Antwort erstellen    J2MeForum Foren-Übersicht -> Programmiertechnik für Games
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
LoikasOffline
greenhorn
greenhorn
Anmeldungsdatum: 23.11.2009
Beiträge insgesamt: 5
Geschlecht: nicht angegeben

151.53 Freiminuten

BeitragVerfasst am: 23.11.2009, 22:59    Titel: Autocommit bei Eingabe? Antworten mit Zitat

Grüß euch, bin mir nicht 100%ig sicher ob die Frage hier passt... sollte dem nicht der Fall sein verschiebt den Thread einfach ja?

Also Problemstellung ist:

Ich bin im Moment im Begriff ein "Typing of the Dead" für javafähige Mobiltelefone umzusetzen für ein Projekt an meiner Uni im Kurs Mobile Computing...

Für all jene die Typing of the Dead nicht kennen empfehle ich google aber hier dennoch eine Kurzfassung: Es kommen ein Haufen Monster auf dich zu die du Arcade Shooter mäßig über den Haufen ballerst. Man verwendet jedoch statt einer Maus und einem Fadenkreuz seine Tastatur und muss eine Zeichenfolge die unter den Monstern erscheint eintippen bevor es einen erreicht... Jedes richtig eingegeben Zeichen wirkt wie ein Schuss auf den Gegner.


Meine Frage ist nun folgende: Wenn zB. ich in nem Textfield/Textbox (was auch immer) im Endeffekt folgendes eingeben möchte: YKZ! soll automatisch nach der 4. Eingabe der String abgeschickt werden um ihn mit dem vom Programm erstellten String abzugleichen ohne das ich manuell etwas bestätigen muss mittels Button oder ähnlichem...

Jede Hilfe wär wirklich spitze denn sollte das nicht möglich sein, muss ich mir eine andere Art der Umsetzung einfallen lassen...

Mfg Loikas

(Wer Rechtschreibfehler findet darf sie behalten Winken )
Nach oben
Benutzer-Profile anzeigen 
herontronicOffline
junior j2me developer
junior j2me developer
Anmeldungsdatum: 10.10.2006
Beiträge insgesamt: 437
Wohnort: Stuttgart
Alter: 33
Geschlecht: männlich

10180.38 Freiminuten

BeitragVerfasst am: 24.11.2009, 10:20    Titel: Antworten mit Zitat

Ich würde das ganz einfach ohne Eingabefeld umsetzen. Nehme doch einfach die Keycodes hintereinander ab, z. B. in einem Array, stelle gleichzeitig die eingetippten Zeichen dar und nach dem dritten Zeichen (über einen Zähler) wird einfach der Schuss getätigt...

Wenn sich der Spieler vertippen sollte, kannst Du das ja abfangen und den Array von vorne starten...

Wenn es gar nicht um die Tastatureingabe geht, sondern das für Dich nur eine Möglichkeit war, die Maustaste und das Steuerkreuz zu umgehen, dann wäre eine andere Idee natürlich noch (so ganz ohne Codeeingabe), den Bildschirm in 12 Bereiche einzuteilen und jede Taste entspräche einem der Bereiche, z. B. 1 für einen Schuss ins Feld links oben, 3 für rechts oben, * für links unten und # für rechts unten. So könntest Du das Fadenkreuz annähernd simulieren.
_________________
___________________________
,.-=( Idee )=-.,
Nach oben
Benutzer-Profile anzeigen Website dieses Benutzers besuchen 
LoikasOffline
greenhorn
greenhorn
Anmeldungsdatum: 23.11.2009
Beiträge insgesamt: 5
Geschlecht: nicht angegeben

151.53 Freiminuten

BeitragVerfasst am: 24.11.2009, 16:37    Titel: Antworten mit Zitat

Also es geht mir schon darum hier kein Fadenkreuz zu simulieren von wegen den 12 Trefferbereichen die du vorgestellt hast, sondern wirklich wie der Titel schon sagt "Typing".

Man kann damit beim spielen seine SMS Schreiberei verbessern Winken (Das war mein Hintergedanke)


Hat den jeder Buchstabe seinen eigenen Keycode?
Nach oben
Benutzer-Profile anzeigen 
herontronicOffline
junior j2me developer
junior j2me developer
Anmeldungsdatum: 10.10.2006
Beiträge insgesamt: 437
Wohnort: Stuttgart
Alter: 33
Geschlecht: männlich

10180.38 Freiminuten

BeitragVerfasst am: 24.11.2009, 17:14    Titel: Antworten mit Zitat

Loikas hat folgendes geschrieben:
Hat den jeder Buchstabe seinen eigenen Keycode?


Klar! Sogar systemübergreifender definiert als die ganzen Softkeys! Smilie
_________________
___________________________
,.-=( Idee )=-.,
Nach oben
Benutzer-Profile anzeigen Website dieses Benutzers besuchen 
LoikasOffline
greenhorn
greenhorn
Anmeldungsdatum: 23.11.2009
Beiträge insgesamt: 5
Geschlecht: nicht angegeben

151.53 Freiminuten

BeitragVerfasst am: 24.11.2009, 19:21    Titel: Antworten mit Zitat

Wunderbarstens Winken Na dann hab ich ja schon maln Ansatz wie ich das Pferd aufzäumen werd Winken

besten dank man hört sich sicher wieder mal!

mfg Loikas
Nach oben
Benutzer-Profile anzeigen 
CocoonOffline
junior j2me developer
junior j2me developer
Anmeldungsdatum: 23.05.2007
Beiträge insgesamt: 377
Wohnort: Würzburg
Alter: 22
Geschlecht: männlich

9476.26 Freiminuten

BeitragVerfasst am: 25.11.2009, 08:03    Titel: Antworten mit Zitat

herontronic hat folgendes geschrieben:
Loikas hat folgendes geschrieben:
Hat den jeder Buchstabe seinen eigenen Keycode?


Klar! Sogar systemübergreifender definiert als die ganzen Softkeys! Smilie


Jeder Buchstabe Geschockt ? Jede Zahl ... und wie willst du von der Zahl auf den Buchstaben schließen (man nehme bspw. ein Gerät mit qwertz-Tastatur)? Oder hab ich da was tolles verpasst?
_________________
Java Blog Buch

http://www.java-blog-buch.de/wp-content/plugins/lastposts2pic/out/lastposts.png

Software, Tools, persönliches, ...
Nach oben
Benutzer-Profile anzeigen Website dieses Benutzers besuchen 
herontronicOffline
junior j2me developer
junior j2me developer
Anmeldungsdatum: 10.10.2006
Beiträge insgesamt: 437
Wohnort: Stuttgart
Alter: 33
Geschlecht: männlich

10180.38 Freiminuten

BeitragVerfasst am: 25.11.2009, 10:35    Titel: Antworten mit Zitat

Cocoon hat folgendes geschrieben:
Jeder Buchstabe Geschockt ? Jede Zahl ... und wie willst du von der Zahl auf den Buchstaben schließen?


Sorry, Missverständnis! Natürlich hat nur jede Taste ihren eigenen Keycode! Aber man kann ja abfragen, gemeint sein könnte, in dem man die Anzahl der Tastendrücker zählt...
_________________
___________________________
,.-=( Idee )=-.,
Nach oben
Benutzer-Profile anzeigen Website dieses Benutzers besuchen 
LoikasOffline
greenhorn
greenhorn
Anmeldungsdatum: 23.11.2009
Beiträge insgesamt: 5
Geschlecht: nicht angegeben

151.53 Freiminuten

BeitragVerfasst am: 25.11.2009, 16:48    Titel: Antworten mit Zitat

Kein Problem hab ich schon so verstanden...

Die Frage is halt nur woher weiß der wann er aufhören muss zu zählen?

Denn ich will ja wie gesagt keinen Button drücken müssen damit der Buchtstabe im endeffekt abgesendet wird?
Nach oben
Benutzer-Profile anzeigen 
herontronicOffline
junior j2me developer
junior j2me developer
Anmeldungsdatum: 10.10.2006
Beiträge insgesamt: 437
Wohnort: Stuttgart
Alter: 33
Geschlecht: männlich

10180.38 Freiminuten

BeitragVerfasst am: 25.11.2009, 18:51    Titel: Antworten mit Zitat

Speicher in einem zusätzlichen Array, welche Tastenkombination gedrückt werden muss, z.B.

Array 1: "agk" // entspricht der Tastenreihenfolge 2-4-5-5
Array 2: "2455"

Mapping: a=2, b=22, c=222, d=3, e=33, f=333 etc.

und vergleiche einfach den Wert mit den Ziffern, die der User eingibt. Folge seinen Tastendrücken so lange, bis ein Fehler auftritt (dann kurze Meldung "Fehlschuss" oder so) oder bis der Code zu Ende eingegeben worden ist, dann folgt der Schuss automatisch!

Das ganze machst Du am besten in einem String:

Code:
String zuErreichenderCode="2455"
String tastencode=""
int zaehler = 0

.
.
.
// Dann bei den keyPressed folgender Pseudocode:

WENN "1" gedrückt, DANN tastencode=tastencode+"1"
WENN "2" gedrückt, DANN tastencode=tastencode+"2"
WENN "3" gedrückt, DANN tastencode=tastencode+"3"
etc...

// Code korrekt bis zum Schluss gedrueckt
WENN tastencode == zuErreichenderCode DANN *SCHUSS*

// Code fehlerhaft
WENN substring(tastencode, zaehler) != substring(zuErreichenderCode, zaehler) DANN *RESET* (zaehler = 0, tastencode="")


Bei mehreres Codes, die der User eingeben muss, aus dem zuErreichenderCode einfach ein Array machen und dieses als Schleife über die letzten beiden Abfragen durchlaufen lassen!
_________________
___________________________
,.-=( Idee )=-.,
Nach oben
Benutzer-Profile anzeigen Website dieses Benutzers besuchen 
CocoonOffline
junior j2me developer
junior j2me developer
Anmeldungsdatum: 23.05.2007
Beiträge insgesamt: 377
Wohnort: Würzburg
Alter: 22
Geschlecht: männlich

9476.26 Freiminuten

BeitragVerfasst am: 25.11.2009, 19:33    Titel: Antworten mit Zitat

herontronic hat folgendes geschrieben:
Sorry, Missverständnis! Natürlich hat nur jede Taste ihren eigenen Keycode! Aber man kann ja abfragen, gemeint sein könnte, in dem man die Anzahl der Tastendrücker zählt...


Wie gesagt, was machst du, wenn das Gerät keine normale Handytastatur, sondern eine QWERTZ-Tastatur hat?
_________________
Java Blog Buch

http://www.java-blog-buch.de/wp-content/plugins/lastposts2pic/out/lastposts.png

Software, Tools, persönliches, ...
Nach oben
Benutzer-Profile anzeigen Website dieses Benutzers besuchen 
LoikasOffline
greenhorn
greenhorn
Anmeldungsdatum: 23.11.2009
Beiträge insgesamt: 5
Geschlecht: nicht angegeben

151.53 Freiminuten

BeitragVerfasst am: 25.11.2009, 19:38    Titel: Antworten mit Zitat

Steht in diesem Fall nicht zur Debatte...

Da es ein Projekt für meine Uni ist kann ich mir aussuchen für genau welches Handy es hinhaun muss... (Dennoch danke für den Einwand)

Fehlschüsse kriegt der user nicht im dem sinn mit als das er ne nachricht kriegt. Es wird so laufen das der user folgende Zeichenfolge am bildschirm kriegt: KLM! (als Beispiel)

Für jedes richtig eingegeben Zeichen kriegt er sagen wir 10 Pkte. für jeden "fehlschuss" gar keine.

Das Spiel dauert an sich nur 2 minuten und je mehr Pkte desto besser.

Je schneller er die folgen eingibt desto schneller kommen natürlich neue ein die er eintippen muss. etc...
Nach oben
Benutzer-Profile anzeigen 
herontronicOffline
junior j2me developer
junior j2me developer
Anmeldungsdatum: 10.10.2006
Beiträge insgesamt: 437
Wohnort: Stuttgart
Alter: 33
Geschlecht: männlich

10180.38 Freiminuten

BeitragVerfasst am: 26.11.2009, 10:54    Titel: Antworten mit Zitat

Naja, rein aus Usability-Gründen würde ich dem User schon mitteilen, wenn er sich vertippt hat! Sonst fängt er irgendwann zu fluchen an und wird Dein Spiel hassen! Schließlich kriegt er ja keinerlei Rückmeldung darüber, ob das was er bisher eingetippt hat, auch korrekt war! So würde ich wenigstens den jeweils korrekt getippten Buchstaben auffällig einfärben. So hat er eine optische Kontrolle, dass das, was er tippt, auch bislang korrekt war. Sonst hat er sich womöglich beim zweiten Buchstaben einmal vertippt, er denkt, er muss noch den dritten eingeben, dabei fängt der Algorithmus schon wieder von vorne an zu zählen! So gerät er in einen undurchsichtigen Schlamassel und wird - wie gesagt - Spaß an Deinem Spiel verlieren!

Eine weitere Alternative wäre noch, unterhalb des einzugebenden Codes den jeweils gerade getippten Code zusätzlich anzeigen zu lassen, also z. B.:
Code:
              |_/\
            ,--,;\)
         ,-"-..._\
         \_...._( )
          |* *  )`|
      ___ /`._ / /
  -==[___]\/;  \'
        `\-'|_`,)
          <'/||(`>
          __|::|
         (__.';|
             (_)

          KUM
         (J)           // nach einmal 5 tippen

          KUM
         (K)           // nach zweimal 5 tippen

          KUM
         (KT)          // nach zweimal 5 und einmal 8 tippen

          KUM
         (KU)          // nach zweimal 5 und zweimal 8 tippen

          etc.

Auch müsste Dein Algorithmus dafür sorgen, dass keine zwei Buchstaben hintereinander kommen, die auf ein und der selben Zifferntaste stehen, einfach, damit Du die Buchstaben besser voneinander unterscheiden kannst! Sonst könnte die Zahlenkombination 2-2-2-2-2-2 entweder CAB, CBA, ABC, ACB, BBB, BAC, BCA oder nur CC bedeuten und bei letzterer Kombination sogar noch auf ein weiteres Zeichen warten wollen... Das ist ungünstig, um mit einem Algorithmus abgefangen zu werden!
_________________
___________________________
,.-=( Idee )=-.,
Nach oben
Benutzer-Profile anzeigen Website dieses Benutzers besuchen 
allergonautOffline
greenhorn
greenhorn
Anmeldungsdatum: 29.04.2010
Beiträge insgesamt: 3
Geschlecht: nicht angegeben

53.51 Freiminuten

BeitragVerfasst am: 31.05.2010, 23:55    Titel: Autocommit bei Ein Antworten mit Zitat

Will ja nicht drдngeln oder so aber biiittteee ich komme nicht weiter und das ist schlecht fьr mein Blutdruck. Keiner von der Smokergemeinde der das Spiel kennt. Ich schwцre bei meiner GroЯmutter ich nehme den Edlen Helfer in mein Abendgebet auf vцllig Umsonst
Nach oben
Benutzer-Profile anzeigen 
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    J2MeForum Foren-Übersicht -> Programmiertechnik für Games Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

Werbe Banner:
.



Powered by phpBB © 2001, 2005 phpBB Group


java-forum.net Aktien Fonds Vermögensaufbau Linz Kostenlose Handygames
Quiz konstenlos gutschein gewinnen Perl, Mason Tutorials und Forum Manufacturing Execution System MES