Colibri Geschrieben 5. Juni 2012 Teilen Geschrieben 5. Juni 2012 (bearbeitet) Hallo @ all ich muss für die Schule ein Projekt(in C#) machen, wo man die Reaktion vom Nutzer testen kann. Da ich das ganze irgendwie mit Zeitwerten machen muss, wollte ich euch Fragen, wie das genau geht. (Timer etc.) Das Programm wird so sein, dass man den Test per Hauptmenü startet. Dieser lässt eine Art Farbanimation laufen (also ganze viele male die Farben Grün, Gelb, Rot laufen), bis das Programm per Zufall anhält und somit sich für eine Farbe entscheidet. Ab jetzt soll die Zeit gemessen werden, bis der Nutzer erkennt, um welche Farbe es sich handelt bzw. gesucht wird. Meine Frage ist also, wie genau kann ich das genau realisieren? Ich selbst besitze leichte Grundkenntnisse in der Programmierung (Klassen, ArrayList etc.) und habe nie mit Timern oder Zufallsgeneratoren auseinandergesetzt. Daher wäre es gut, wenn ihr mir Tipps geben könntet, wie man genau das Programm umsetzt, wie ich es hier beschrieben habe. Und ein paar Tutorials, wo ich das ganze nochmal in Ruhe nachvollziehen kann, was ihr hier postet. mfg PS: Ich hoffe ich bin hier in der richtigen Rubrik, wenn nicht, so sei mir bitte verziehen. Bearbeitet 5. Juni 2012 von Colibri Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 5. Juni 2012 Teilen Geschrieben 5. Juni 2012 (bearbeitet) PS: Ich hoffe ich bin hier in der richtigen RubrikTja, schwer zu sagen, da du nicht erwähnt hast, mit welcher Programmiersprache du das umsetzen willst (oder sollst). Bearbeitet 5. Juni 2012 von Klotzkopp Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Colibri Geschrieben 5. Juni 2012 Autor Teilen Geschrieben 5. Juni 2012 Ups sry.^^ Ich hab jetzt im eifer des Gefechts vergessen zu schreiben. Es wird alles in C# geschrieben, die Entwicklungsumgebung ist Visual Studio Ultimate 2010. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Rakanoth Geschrieben 5. Juni 2012 Teilen Geschrieben 5. Juni 2012 Außerdem können wir die GUI - Oberfläche mit XAML bearbeiten. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
hbspike Geschrieben 5. Juni 2012 Teilen Geschrieben 5. Juni 2012 Naja . Wo ist das Problem? Du hast z.B. ein Array mit Farben von 0 - x. Deine Gui switched die ganze Zeit(sagen wir 10Sekunden lang) zwischen den Farben hin und her. Das ist eine Schleife die quasi Random(x) nimmt.Deine Gui muss natürlich aktualisiert werden. Dann stoppt die Ausführung und ein Timer startet. Klickt der User auf eine Farbe, stoppt der Timer. Oo Google Suchen. c# Timer-Klasse , Random-Generator. Das sollte eigentlich reichen... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Goulasz Geschrieben 5. Juni 2012 Teilen Geschrieben 5. Juni 2012 (bearbeitet) StopWatch-Klasse Random-Klasse StopWatch.Start(), sobald die Farbe da ist und auf Klick dann eben StopWatch.Stop(). Kannst dir das Intervall dann direkt ausgeben lassen und die Uhr zurücksetzen. Da irgendwie nen Timer mitlaufen zu lassen ist glaube ich nicht nötig, zumal die SW für meine Ansprüche bisher genau genug war. Musst mal gucken, ob dir das Zeug aus der Random-Klasse reicht, ansonsten müsstest du es eben etwas modifizieren. Gruß, Patrick /€ Für das Ändern der Farbe brauchst du glaube ich doch nen Timer, der die Änderung per Zufallsgenerator dann in deinen vorgeschriebenen Intervallen umsetzt. Bearbeitet 5. Juni 2012 von Goulasz Timer doch benötigt Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
hbspike Geschrieben 5. Juni 2012 Teilen Geschrieben 5. Juni 2012 Ist die StopWatch nicht eine Art Timer? xD Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Colibri Geschrieben 23. Juni 2012 Autor Teilen Geschrieben 23. Juni 2012 Also das Programm läuft nun bei mir, auch mit Timern und dem Zufallsgenerator. Also schon mal ein großes Danke an hbspike und Zieg0re. So nun möchte ich das Programm erweitern, aber ich weiß nicht genau um was. Das Programm: Es bei 3 "LED-Bildern" zufällig ein Leuten simuliert. Wenn man einen Button drückt bei der LED die Leutet, bekommt man Punkte. Zudem wird angezeigt, wie schnell man gedrückt hat.(Also der Timer) Die Frage ist nun, jetzt habe ich und mein Teampartner haben den Reaktionstest soweit fertig, um was könnte man ihn nun erweitern? (einen Highscore usw. haben wir schon geplant, brauchen aber zusätzlich neue Ideen) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
itazubi Geschrieben 24. Juni 2012 Teilen Geschrieben 24. Juni 2012 Man könnte das ganze noch elegant gestalten, indem man nicht nur eine Array(List) für die Farben her nimmt, sondern die Farben in einer eigenen Klasse auslagert. Du könntest einige Funktionen noch in Methoden auslagern. Wie wählt eigentlich der Benutzer aus, welche Farbe gezeigt wird? Über Buttons? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Colibri Geschrieben 24. Juni 2012 Autor Teilen Geschrieben 24. Juni 2012 Jop, über Buttons, aber wir haben auch Tastenkürzel eingebaut. Sodass man auch darüber, "Eingaben" machen kann. Aber ich möchte irgendwelche Zusatz Funktionen, also etwas was man sinnvoll zu einem Reaktionstest ergänzen kann. Denn meine Gruppe hat noch zwei Wochen für das Projekt und wir wollen möglichst gut abschneiden. Also was würdet ihr so an Zusatzfunktionen bzw. Features einfügen, die unter anderem nützlich sein könnten. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
itazubi Geschrieben 24. Juni 2012 Teilen Geschrieben 24. Juni 2012 Habt ihr ausreichend die Codezeilen kommentiert, habt ihr in Klassen/Methoden aufgeilt, wie performant ist die Anwendung, sind Bugs enthalten? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
a3quit4s Geschrieben 25. Juni 2012 Teilen Geschrieben 25. Juni 2012 sind Bugs enthalten? lol. Arraylists sind uebrigens Relikte, die man heute nicht mehr verwenden sollte. Dafuer gibt es die generischen Listen List<Typ>. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
blackodemx Geschrieben 3. Juli 2012 Teilen Geschrieben 3. Juli 2012 Für die Farben könnte man auch eine Enumeration (enum) verwenden, um es etwas eleganter zu gestalten. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
a3quit4s Geschrieben 4. Juli 2012 Teilen Geschrieben 4. Juli 2012 Warum sollte ein Enum eleganter als das Color-struct sein? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Gateway_man Geschrieben 4. Juli 2012 Teilen Geschrieben 4. Juli 2012 lol. Arraylists sind uebrigens Relikte, die man heute nicht mehr verwenden sollte. Dafuer gibt es die generischen Listen List<Typ>. Sagt wer? Wenn man die ganzen zusätzlichen Futures der Liste braucht kann man Sie nutzen, wenn nicht, dann braucht man den ganzen Overhead auch nicht mitzuschleppen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Colibri Geschrieben 4. Juli 2012 Autor Teilen Geschrieben 4. Juli 2012 Also ich und mein Team haben nun ein etwas anderes Problem. Wir haben uns entschlossen ein Hintergrundgeduel einzufügen, jedoch macht das Programmprobleme mit dem Soundpfad. So ist jeder andere Laptop, wo das Programm gezogen wird, ohne Sound, beim Ersteller mit dem gleichnamigen Pfad alles in Ordnung. Beispiel: C:\Users\Computer1\Desktop der andere PC heißt Computer2 Wie kann ich also "relative" Pfade für den Compiler angeben? Sodass er immer von Pc zu Pc die Musik abspielt? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
blackodemx Geschrieben 4. Juli 2012 Teilen Geschrieben 4. Juli 2012 Ihr könnt die Sound Dateien direkt in der Ressourcen Datei (.resx) vom Projekt ablegen und direkt auf diese Dateien verweisen. Im Code könnt ihr dann so auf die Datei zugreifen: Properties.Resources.MeineSoundDatei Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
a3quit4s Geschrieben 4. Juli 2012 Teilen Geschrieben 4. Juli 2012 Sagt wer? Jeder der weiss was Typisierung ist. Wenn man die ganzen zusätzlichen Futures der Liste braucht kann man Sie nutzen, wenn nicht, dann braucht man den ganzen Overhead auch nicht mitzuschleppen. Welcher Overhead? Dir ist bewusst, dass die ArrayList jedes mal boxen/unboxen muss, was das ganze langsamer macht und mehr Speicher frisst, oder? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Colibri Geschrieben 4. Juli 2012 Autor Teilen Geschrieben 4. Juli 2012 @blackodemx Thx, das mit dem Sound hat geklappt.^^ So da wir gerade Bugs fixen, hier ein neues Problem. Haben einen Stackpanel kreiert und wollen nun mit Verticalalignment usw. Arbeiten. Leider kann ich ein Bild nicht nach "Top" Ausrichten bzw. der Compiler ignoriert den Befehl total. Den Horizontalalginment macht er Problemlos (ist auch logisch). Wie kann ich also ein Bild nach "Top" ausrichten, ohne irgendwie jetzt Xamel Spielereien anzufangen? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 4. Juli 2012 Teilen Geschrieben 4. Juli 2012 Colibri, bitte mach für jedes neue Problem einen eigenen Thread auf. Ich kann verstehen, dass du einen einzelnen Thread für dein Projekt bevorzugst, aber das Board soll in diesem Bereich problemzentriert sein, damit Suchergebnisse schon anhand der Threadtitel bewertet werden können. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.