Zufallsgenerator programmieren

von Metalyze, 29.03.05.

  1. Metalyze

    Metalyze Registrierter Benutzer

    Im Board seit:
    04.12.04
    Zuletzt hier:
    23.04.11
    Beiträge:
    267
    Ort:
    Eberswalde
    Zustimmungen:
    2
    Kekse:
    235
    Erstellt: 29.03.05   #1
    Nabend, ich habe vor mir zwecks Griffbrettorientierung nen kleinen Zufallsgenerator zu programmieren, der mir nach nem bestimmten Zeitintervall immer eine Note und eine Saite anzeigt!

    Hat sich mit soetwas schonmal jemand beschäftigt???
    Ich habe nämlich in sachen Programmierung schon lange nichts mehr gemacht, ich weiss nichtmal ob ich das mit qbasic, html oder java mache.
     
  2. Bleecker Street Boogie

    Bleecker Street Boogie Registrierter Benutzer

    Im Board seit:
    18.08.03
    Zuletzt hier:
    23.05.06
    Beiträge:
    2.368
    Ort:
    Mitgliedschaft beendet
    Zustimmungen:
    21
    Kekse:
    2.134
    Erstellt: 29.03.05   #2
    Gibt's das nicht schon bei JustChords?
     
  3. Hans_3

    Hans_3 High Competence Award HCA

    Im Board seit:
    09.11.03
    Beiträge:
    16.146
    Zustimmungen:
    1.122
    Kekse:
    49.622
    Erstellt: 29.03.05   #3
    Viellicht hast du ja Spaß am Selbermachen - kannst es Dir aber auch ersparen:

    Hier gibt es die Freeware Trainers.exe für INoten auf Griffbrett richtig benennen, ntervalltraining, u.v.a. - wirklich nett zum Lernen, zumal man mit richtigen Antworten Punkte scoren kann

    http://www.bluebirdbigband.de/bbbb/download.htm

    DAsselbe Prog. online hier

    http://www.musictheory.net/
     
  4. Metalyze

    Metalyze Threadersteller Registrierter Benutzer

    Im Board seit:
    04.12.04
    Zuletzt hier:
    23.04.11
    Beiträge:
    267
    Ort:
    Eberswalde
    Zustimmungen:
    2
    Kekse:
    235
    Erstellt: 29.03.05   #4
    danke für die links, ist aber das genaue gegenteil von dem was ich suche bzw. vorhabe.

    Es soll genau andersrum ablaufe, mir wird die Saite: 1-6 angezeigt und eine Note die gespielt werden soll und ich suche auf dem griffbrett die position(en) wo sich die noter auf dieser saite befindet
     
  5. Exciter

    Exciter Registrierter Benutzer

    Im Board seit:
    22.08.03
    Zuletzt hier:
    18.07.10
    Beiträge:
    1.318
    Zustimmungen:
    2
    Kekse:
    1.466
    Erstellt: 30.03.05   #5
    In reinem HTML ist das nicht möglich (--> keine Programmiersprache). Auf HTML-Basis würd es jedoch funktionieren, entweder als Javascript in einer HTML-Datei implementiert oder als eigenständiges PHP. Auch in Qbasic ist es eigentlich relativ leicht machbar.

    Zwei Zufallszahlen, einmal die Anzahl der Saiten (1..6) und einmal die Anzahl der (Halb)töne (1..12). Jetzt müssen die Zahlen nur noch den einzelnen Saiten bzw. den Tönen zugeordnet werden. Entweder mit ner ellenlangen if-then-Anweisung oder am einfachsten wohl per case-Anweisung.

    Aber frag jetzt bitte nicht nach der genauen Syntax, qbasic hab ich vor 10 Jahren mal gemacht und Java wurd in der Schule nur kurz angeschnitten :)
     
  6. Schollenfilet

    Schollenfilet Registrierter Benutzer

    Im Board seit:
    26.10.04
    Zuletzt hier:
    17.06.16
    Beiträge:
    260
    Ort:
    Berlin
    Zustimmungen:
    8
    Kekse:
    214
    Erstellt: 30.03.05   #6
    Gibt's in qBasic Arrays? Wenn ja, dann würde ich es damit machen, so spart man sich des Großteil der if bzw. case Anweisungen.
    QBasic ist bei mir auch schon eine Weile her.
    Aber in c++ würde ich ein char-Array für jede Seite machen und dem die entsprechenden Noten zuweisen.
    In c++ sähe das für die E-Saite ungefähr so aus:
    char e[] = {"e","f","fis","g"}; // usw.

    Jetzt hat man 2 Zufallszahlen, wie Exciter schon gesagt hat, einmal sie Saite und einmal den Bund und man kann per if das richtige Array für die zufallsgenerierte Saite "rausfiltern" und dann einfach per Zufallszahl die entsprechende Note anzeigen lassen.
    printf(e[Zufallszahl]); // Würde ein fis anzeigen, wenn Zufallszahl 2 ist

    Ich hoffe, das war halbwegs verständlich. :rolleyes:
     
  7. Fischi

    Fischi Mod Emeritus Ex-Moderator

    Im Board seit:
    18.08.03
    Beiträge:
    5.867
    Ort:
    Erlangen
    Zustimmungen:
    480
    Kekse:
    7.343
    Erstellt: 30.03.05   #7

    danke für das prog hans. sowas hab ich schon lange gesucht!! endlich mal was zum gehör trainieren (wo meine musiklehrer eh immer meinten, daß ich ein gutes gehör hab. mein schulmusiklehrer hatte mir sogar mal ein perfektes gehör unterstellt :D hab ich aber net!!)
     
  8. Exciter

    Exciter Registrierter Benutzer

    Im Board seit:
    22.08.03
    Zuletzt hier:
    18.07.10
    Beiträge:
    1.318
    Zustimmungen:
    2
    Kekse:
    1.466
    Erstellt: 30.03.05   #8
    Ich hab mich auch eben gefragt, ob es im qbasic Arrays gibt, aber ich glaube nicht. Würde in solch einer unstrukturierten Sprache auch nicht viel Sinn machen :)

    Aber ja, mit den Arrays hast du sicherlich recht, dass ist die beste Lösung für dieses Problem. Im Delphi würde ich sogar noch weiter gehen und einen record erstellen mit den beiden Eigenschaften "Saite" und "Ton", das würde den Quelltext auf ein Minimum reduzieren.

    Mit C kenn ich mich leider noch nicht so aus, dass kommt bei uns erst nächstes Jahr dran ;)
     
  9. whir

    whir Registrierter Benutzer

    Im Board seit:
    25.03.04
    Zuletzt hier:
    10.06.16
    Beiträge:
    1.108
    Ort:
    Berlin
    Zustimmungen:
    10
    Kekse:
    292
    Erstellt: 30.03.05   #9
    Doch, gibt es. Ich weiß nicht, was das mit Strukturiertheit zu tun hat, aber zum einen ist QBasic strukturiert, zum anderen haben auch unstrukturierte Basic-Dialekte (GW-Basic u.a.) Arrays.
     
  10. Exciter

    Exciter Registrierter Benutzer

    Im Board seit:
    22.08.03
    Zuletzt hier:
    18.07.10
    Beiträge:
    1.318
    Zustimmungen:
    2
    Kekse:
    1.466
    Erstellt: 30.03.05   #10
    Qbasic ist aber nicht in dem Sinne strukturiert, wie ich es beispielswiese von Delphi her kenne, mit globalen Definitionen oder Prozeduren... kann sein, dass ich mich irre, meine Basiczeiten sind wie gesagt schon viel zu lange vorbei :)
     
  11. whir

    whir Registrierter Benutzer

    Im Board seit:
    25.03.04
    Zuletzt hier:
    10.06.16
    Beiträge:
    1.108
    Ort:
    Berlin
    Zustimmungen:
    10
    Kekse:
    292
    Erstellt: 30.03.05   #11
    Doch.
     
  12. Schollenfilet

    Schollenfilet Registrierter Benutzer

    Im Board seit:
    26.10.04
    Zuletzt hier:
    17.06.16
    Beiträge:
    260
    Ort:
    Berlin
    Zustimmungen:
    8
    Kekse:
    214
    Erstellt: 30.03.05   #12
    Delphi kenne ich nicht so genau, aber ich denke, dass record ungefähr das gleiche ist, wie in c++ eine Map.
    Aber man kann stattdessen für diesen Zweck auch zweidimensionale Arrays nehmen, würde den Code genauso verkürzen, da man dann gar keine if-Anweisung mehr dafür braucht.
     
  13. Jay

    Jay HCA Piano/Spieltechnik Ex-Moderator HCA

    Im Board seit:
    29.10.03
    Zuletzt hier:
    6.12.16
    Beiträge:
    4.667
    Ort:
    München
    Zustimmungen:
    181
    Kekse:
    7.137
    Erstellt: 30.03.05   #13
    Nicht so ganz. Ein record in Delphi entspricht einem struct in C++.

    Gruß,
    Jay

    Edit: PS: Der Vollständigkeit halber sei noch gesagt, dass Maps in Delphi nicht existieren, aber ausgehend von einer Liste nachgebaut werden können.
     
  14. Metalyze

    Metalyze Threadersteller Registrierter Benutzer

    Im Board seit:
    04.12.04
    Zuletzt hier:
    23.04.11
    Beiträge:
    267
    Ort:
    Eberswalde
    Zustimmungen:
    2
    Kekse:
    235
    Erstellt: 07.04.05   #14
    http://mitglied.lycos.de/jacksonrr/Stuff/

    die datei noten.exe laden und ihr könnt ja mal schauen, ist an sich so wie ich mir das vorgestellt hatte, hab ich aber selber nicht gemacht, nen arbeitskollege kennt sich glücklicherweise ganz gut mit java aus
     
  15. profane666

    profane666 Gesperrter Benutzer

    Im Board seit:
    17.12.04
    Zuletzt hier:
    7.05.05
    Beiträge:
    190
    Zustimmungen:
    0
    Kekse:
    86
    Erstellt: 07.04.05   #15
    Du wirst nie eine Zufallszahl erzeuegen können außer du hast Plutonium daheim. Du kannst aber einfach eine scheinbar zufällige Programmieren, ich würde hierfür was in Flash schreiben, da PHP nen Server erfordert. Ich nehme mal nicht an das du C/C++ kannst, also wären das warscheinlich die besten möglichkeiten. Es gäbe noch Python, aber du willst denk ich mal keine Bash oberfläche...^^

    In den Sprachen gibt es verschiedene funktionen wie zB Math.random() oder random(), welche dir bequem eine zufallszahl liefern. Notfallst kannst du selber eine durch nen Timestamp generieren.

    Wenn du dich aber überhaupt nicht damit auskennst kann es schon ein ganz schöner Batzen arbeit werden. Also schau vieleicht erstmal obs sowas nicht shcon gibt.