Ergebnis 1 bis 20 von 29

Thema: Eure Jugendsünden im Programmieren

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #22
    Hm... ich hatte ein paar witzige Projekte, die eigentlich alle noch existieren müssten *wühl*

    1. Trainingsprogramm für Grundrechenarten in QB

    War damals Hausaufgabe in Informatik (Was ich bisher leider nur 1 Jahr hatte, weil so was bei uns als unnötig angesehen wird...) und ich hab damals wie ein Irrer immer weiter dran rumgebastelt. Ursprüngliche Aufgabe war einfach, zwei Zufallszahlen generieren zu lassen und der Spieler sollte die Summe eingeben. Bei mir warens dann eben 10 Aufgaben in Folge und per Zufall Addition, Subtraktion, Multiplikation und Division (Wobei ich mir bei der Division nich mehr ganz sicher bin, ob ich das damals wirklich noch umgesetzt hab). Das ganze natürlich auf Zeit. Wir haben mal ne ganze Schulstunde versucht, gegenseitig unsere Highscores zu knacken. Mein Rekord von damals lag bei sagenhaften 10 richtigen in 3(!) Sekunden. Fragt mich nicht, wie ich das gemacht hab. Gecheatet hab ich jedenfalls nicht.

    Ich hab leider nur noch die Version da, wo nach jeder Antwort gefragt wird, ob man weitermachen will und wo die Zeit etwas anders gewichtet wird:

    Code:
    Color 4, 0
    Cls
    Randomize Timer
    Do
      LOCATE 24, 62
      Print "by Christian K„ser"
      zeit = Timer
      LOCATE 1, 54
      Print "Richtige:"; richtige; " /"; alle
      LOCATE 13, 35
      a = Int(Rnd * 4)
      x = Int(Rnd * 20 - 10)
      y = Int(Rnd * 20 - 10)
      If a = 0 Then z = x * y: r$ = "*"
      If a = 1 Then z = x + y: r$ = "+"
      If a = 2 Then z = x - y: r$ = "-"
      If a = 3 Then z = x * x: r$ = "ý"
      If a = 3 And x < 0 Then Print "("; x; ")"; r$ Else Print x; r$;
      If a <> 3 Then
        If y < 0 Then Print "("; y; ")"; Else Print y;
      End If
      Print "= ";
      INPUT u
      zeit = Timer - zeit
      gzeit = gzeit + zeit
      If u = z Then LOCATE 14, 35: Print "Richtig!!!": richtige = richtige + 1 Else LOCATE 14, 28: Print "Falsch, richtig w„re:"; z
      alle = alle + 1
      LOCATE 1, 54
      Print "Richtige:"; richtige; " /"; alle
      LOCATE 15, 28
    INPUT "Noch eine Aufgabe (j/n)"; a$
      Cls
    Loop Until a$ = "n"
    gzeit = Int(gzeit * 10) / 10
    Color 0, 4
    Cls
    LOCATE 24, 62
    Print "by Christian K„ser"
    LOCATE 13, 26
    Print "Du hast"; gzeit; "Sekunden gebraucht"
    LOCATE 12, 20
    Print "Du hast"; richtige; " von"; alle; " Aufgabe";: If alle > 1 Then Print "n";
    Print " richtig gerechnet."
    LOCATE 14, 35
    rnote = 6
    If richtige / alle >= 1 / 5 Then rnote = 5
    If richtige / alle >= 2 / 5 Then rnote = 4
    If richtige / alle >= 3 / 5 Then rnote = 3
    If richtige / alle >= 4 / 5 Then rnote = 2
    If richtige = alle Then rnote = 1
    znote = 6
    If gzeit < alle * 30 Then znote = 5
    If gzeit < alle * 25 Then znote = 4
    If gzeit < alle * 20 Then znote = 3
    If gzeit < alle * 15 Then znote = 2
    If gzeit < alle * 10 Then znote = 1
    gnote = 4 * (3 * rnote + znote) / 16
    Print "Note:"; gnote
    2. ASCII-Code Umrechner in QB

    Ist eigentlich aus einer Laune heraus entstanden. Ich hatte keine Lust, jedesmal das Blatt mit der Ascii Tabelle oder gar das schwere Dosbuch rauszuholen. Das ganze sieht sogar halbwegs elegant aus. Blauer Hintergrund mit sauber eingerahmten und zentrierten Boxen. Von den 3 geplanten Funktionen sind leider nur die beiden Konvertierungsfunktionen fertig geworden. Die Ausgabe der kompletten Tabelle habe ich mir dann mangels Platz auf dem Bildschirm gespart.

    Code:
    10 CLS:  Key OFF
    20 Color 7, 1
    30 CLS
    40 LOCATE 1, 30: Print "ASCII-Translator V1.0"
    50 LOCATE 9, 29: Print Chr$(201); String$(21, 205); Chr$(187)
    60 LOCATE 10, 29: Print Chr$(186); " 1.Zeichen => ASCII  "; Chr$(186)
    70 LOCATE 11, 29: Print Chr$(186); " 2.ASCII => Zeichen  "; Chr$(186)
    80 LOCATE 12, 29: Print Chr$(186);: Color 0: Print " 3.ASCII-Tabelle     ";: Color 7: Print Chr$(186)
    90 LOCATE 13, 29: Print Chr$(200); String$(21, 205); Chr$(188)
    100 x$ = INKEY$: If x$ = "" Then GoTo 50
    110 If x$ = "1" Then GoTo 1000
    120 If x$ = "2" Then GoTo 2000
    130 If x$ = "3" Then GoTo 3000
    140 If x$ = Chr$(27) Then End
    150 GoTo 10
    1000 CLS
    1010 LOCATE 11, 10: Print Chr$(201); String$(57, 205); Chr$(187)
    1020 LOCATE 13, 10: Print Chr$(200); String$(57, 205); Chr$(188)
    1030 LOCATE 12, 10: Print Chr$(186); "Der ASCII-Code des gew„hlten Zeichens       lautet:      "; Chr$(186)
    1040 x$ = INKEY$: If x$ = "" Then GoTo 1040
    1050 If x$ = Chr$(27) Then GoTo 10
    1060 If x$ = Chr$(13) Then
    1070 y$ = "Enter"
    1080 GoTo 1110
    1090 End If
    1100 y$ = "  " + x$ + "  "
    1110 LOCATE 12, 11: Print "Der ASCII-Code des gew„hlten Zeichens ";
    1120 Color 4: Print y$;
    1130 'IF x$ <> CHR$(13) THEN PRINT "    ";
    1140 Color 7: Print " lautet: ";
    1150 Color 4: Print Asc(x$): Color 7
    1160 GoTo 1040
    
    2000 CLS
    2010 LOCATE 11, 10: Print Chr$(201); String$(57, 205); Chr$(187)
    2020 LOCATE 13, 10: Print Chr$(200); String$(57, 205); Chr$(188)
    2030 LOCATE 12, 10: Print Chr$(186); "Das Zeichen zum gew„hlten ASCII-Code      lautet:        "; Chr$(186)
    2040 LOCATE 12, 48: INPUT x
    
    3000
    3. "Synthesizerdisco" in QB

    Eigentlich zwei getrennte Programme. Im einen konnte man (wenn ich mich recht erinnere in Echtzeit) Midis über die Tastatur einspielen. Mit dem anderen wurden die gespeicherten Midis (Keine wirklichen Mididateien, sondern das Stringformat, das QB dafür verwendet) abgespielt und dazu farbige Kreise auf den Bildschirm gemalt. Mein Aufwändigstes Stück mit dem Programm war übrigens die deutsche Nationalhymne, die ich aber nicht in Echtzeit eingespielt habe (Musikalische Niete^3). Für so was gibts Notepad

    4. Textbasierter Morgensimulator in C++ (Konsole)

    Das ganze war eine Übungsaufgabe aus einer Tutorialreihe von RedDragon.de (gibts leider nicht mehr, aber dafür kann ich euch anhand von den ausgedruckten Tuts sogar sagen, wann ich das gemacht hab: November 2000 und später erweitert) Man sollte einfach ein Mini"sims" als Textadventure schreiben.

    Zitat Zitat
    Simulatoren gibt es wie Sand am Meer. Daher kann einer mehr auch nicht schaden. Du sollst jetzt keinen Flugsimulator programmieren, sondern einen Morgensimulator. Was das ist?

    Ganz einfach: Das Programm soll einen einfachen Morgen simulieren: Der Benutzer hat die Wahl zwischen mehreren Möglichkeiten: Aufstehen, Duschen, Anziehen, Ausziehen, Frühstücken, Zur Schule/Arbeit gehen. Die Möglichkeiten kann der Benutzer wie gewohnt über die Tastatur anwählen.

    Natürlich müssen dabei einige Dinge beachtet werden:

    1. Die erste Aktion muß das Aufstehen sein.
    2. Alle Aktionen müssen erledigt sein, um zur Arbeit gehen zu können.
    3. Nach dem Aufstehen ist man nicht angezogen.
    4. Man darf nicht angezogen sein, wenn man sich duschen möchte.
    5. Frühstücken kann man auf alle Fälle zwischen Aufstehen und losgehen.

    Schreibe nun das Programm mit dem der Benutzer seinen Morgen simulieren kann. Benutze dazu boolsche Variablen und Verknüpfungen. Das ganze kann recht knifflig sein, also nimm dir Zeit und probiere ein bißchen herum.
    Meine Version hatte noch ein paar mehr Aktionen wie etwa "Liegen bleiben", "Wieder ins Bett gehen" und ein paar anderen. Außerdem war sie mit Sprüchen wie "Mit dem Anzug wieder ins Bett???" gespickt.

    *die alte Diskette zufällig find*

    So, zwei von den QB Sachen waren noch auf der Diskette. *code oben einfüg* Der Morgensimulator lagert hier mit etwas Glück auch noch, aber da dürfte der Quelltext wohl etwas länger sein.

    Anmerkung:
    Die Dinger sind mit ner QB Version mit amerikanischem Zeichensatz geschrieben, deshalb sehen manche Sonderzeichen falsch aus.

    Geändert von DFYX (22.05.2005 um 02:34 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •