Langeweile und daraus entstehender Code...

Übersicht Sonstiges Smalltalk

Neue Antwort erstellen

 

onkelz89

Betreff: Langeweile und daraus entstehender Code...

BeitragDi, Jan 15, 2008 1:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

wer kennt es nicht Razz

Irgendwann - GANZ - unverhofft ... da kommt sie ... die LANGEWEILE

tja, ich bin gerade in dieser Phase... drum poste ich mal diese kleine Rechenübung Wink

Habe letztens diese Dr. Kamashima bla oder wie das heißt gesehn und dachte gerade wieder dran...

Code: [AUSKLAPPEN]
Graphics 200,600,0,2

save$=CurrentTime()

ja=0
nein=0

dif=3
;1 - Easy
;2 - Hard
;3 - Mixed

SeedRnd (MilliSecs())

For i=1 To 10
   If dif=1 Then question=Rand(3)
   If dif=2 Then question=Rand(9)+3
   If dif=3 Then question=Rand(12)
   Select question
      Case 1
         var1=Rand(10)
         var2=Rand(10)
         Print var1+" + "+var2
         If Input("= ")=var1+var2 Then ja=ja+1:Color 0,255,0:Print"JA" Else nein=nein+1:Color 255,0,0:Print"NEIN"
      Case 2
         var1=Rand(10)
         var2=Rand(10)
         Print var1+" - "+var2
         If Input("= ")=var1-var2 Then ja=ja+1:Color 0,255,0:Print"JA" Else nein=nein+1:Color 255,0,0:Print"NEIN"
      Case 3
         var1=Rand(10)
         var2=Rand(10)
         Print var1+" * "+var2
         If Input("= ")=var1*var2 Then ja=ja+1:Color 0,255,0:Print"JA" Else nein=nein+1:Color 255,0,0:Print"NEIN"
      Case 4
         var1=Rand(10)
         var2=Rand(10)
         var3=Rand(10)
         Print var1+" + "+var2+" + "+var3
         If Input("= ")=var1+var2+var3 Then ja=ja+1:Color 0,255,0:Print"JA" Else nein=nein+1:Color 255,0,0:Print"NEIN"
      Case 5
         var1=Rand(10)
         var2=Rand(10)
         var3=Rand(10)
         Print var1+" + "+var2+" - "+var3
         If Input("= ")=var1+var2-var3 Then ja=ja+1:Color 0,255,0:Print"JA" Else nein=nein+1:Color 255,0,0:Print"NEIN"
      Case 6
         var1=Rand(10)
         var2=Rand(10)
         var3=Rand(10)
         Print var1+" + "+var2+" * "+var3
         If Input("= ")=var1+var2*var3 Then ja=ja+1:Color 0,255,0:Print"JA" Else nein=nein+1:Color 255,0,0:Print"NEIN"
      Case 7
         var1=Rand(10)
         var2=Rand(10)
         var3=Rand(10)
         Print var1+" - "+var2+" + "+var3
         If Input("= ")=var1-var2+var3 Then ja=ja+1:Color 0,255,0:Print"JA" Else nein=nein+1:Color 255,0,0:Print"NEIN"
      Case 8
         var1=Rand(10)
         var2=Rand(10)
         var3=Rand(10)
         Print var1+" - "+var2+" - "+var3
         If Input("= ")=var1-var2-var3 Then ja=ja+1:Color 0,255,0:Print"JA" Else nein=nein+1:Color 255,0,0:Print"NEIN"
      Case 9
         var1=Rand(10)
         var2=Rand(10)
         var3=Rand(10)
         Print var1+" - "+var2+" * "+var3
         If Input("= ")=var1-var2*var3 Then ja=ja+1:Color 0,255,0:Print"JA" Else nein=nein+1:Color 255,0,0:Print"NEIN"
      Case 10
         var1=Rand(10)
         var2=Rand(10)
         var3=Rand(10)
         Print var1+" * "+var2+" + "+var3
         If Input("= ")=var1*var2+var3 Then ja=ja+1:Color 0,255,0:Print"JA" Else nein=nein+1:Color 255,0,0:Print"NEIN"
      Case 11
         var1=Rand(10)
         var2=Rand(10)
         var3=Rand(10)
         Print var1+" * "+var2+" - "+var3
         If Input("= ")=var1*var2-var3 Then ja=ja+1:Color 0,255,0:Print"JA" Else nein=nein+1:Color 255,0,0:Print"NEIN"
      Case 12
         var1=Rand(10)
         var2=Rand(10)
         var3=Rand(10)
         Print var1+" * "+var2+" * "+var3
         If Input("= ")=var1*var2*var3 Then ja=ja+1:Color 0,255,0:Print"JA" Else nein=nein+1:Color 255,0,0:Print"NEIN"
   End Select
   Print""
   Color 255,255,255
Next

Stop$=CurrentTime()

new1=LSet(Stop$,2)
new2=RSet(LSet(Stop$,5),2)
new3=RSet(Stop$,2)

old1=LSet(save$,2)
old2=RSet(LSet(save$,5),2)
old3=RSet(save$,2)

distance=(new1*3600+new2*60+new3)-(old1*3600+old2*60+old3)

Print""
Print""
Print"TIME: "+distance+" Sekunden"
Print""
Print"J/N  ==>  "+ja+" / "+nein
WaitKey


Have Fun

Smily

BeitragDi, Jan 15, 2008 12:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn ich das mal so sagen darf:
Das ist ein ziemlich schlechter Stil.. Versuch mal, sich wiederholende logik zu vermeiden..

cu,
Smily0412
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org
 

DennY

BeitragDi, Jan 15, 2008 17:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Das Programm ist lustig Very Happy
Vorallem dass man am Ende die Zeit sieht.
Man sollte den schwierigkeitsgrad aber erhöhen Wink

BladeRunner

Moderator

BeitragDi, Jan 15, 2008 17:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Sorry, der Code ist schrottig.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92
 

onkelz89

BeitragDi, Jan 15, 2008 17:40
Antworten mit Zitat
Benutzer-Profile anzeigen
ehm, was mich interessieren würde ist was als "schrottig" angesehen wird. Und das mit der wiederholten Logik. Weil das war halt mehr oder weniger nur so zum Spaß. Das ich mehreres unnötig wiederhole zb var1=rand(10)... hätte man nur einmal schreiben müssen.

Oder was meint ihr genau - in diesem "Projekt" ist es mir ja egal. Die Performance von jedem PC reicht aus Wink

Aber wenn ich wirklich grundlegende Fehler mache, wäre das für mein großes richtiges Projekt sehr interessant zu wissen.


Bitte macht mal ein Beispiel.
 

#Reaper

Newsposter

BeitragDi, Jan 15, 2008 17:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Naja... da ist ein Fehler...
Hatte die Aufgabe 10-1*4, habe 9 eingegeben, aber das ist angeblich falsch :O
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7

Smily

BeitragDi, Jan 15, 2008 17:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Naja... da ist ein Fehler...
Hatte die Aufgabe 10-1*4, habe 9 eingegeben, aber das ist angeblich falsch :O


öhh.. das ist es ja auch oO
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org

BladeRunner

Moderator

BeitragDi, Jan 15, 2008 17:50
Antworten mit Zitat
Benutzer-Profile anzeigen
- Keine Einrückungen.
- mehrere Befehle in einer Zeile trübt ebenfalls die Übersicht.
- Den Code könnte man locker auf ein Fünftel seiner Größe eindampfen weil Du wie Du selbst schon feststellst Sachen unnötigerweise mehrfach schreibst. Das ist ganz schlechter Stil.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92
 

#Reaper

Newsposter

BeitragDi, Jan 15, 2008 17:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Smily0412 hat Folgendes geschrieben:
Zitat:
Naja... da ist ein Fehler...
Hatte die Aufgabe 10-1*4, habe 9 eingegeben, aber das ist angeblich falsch :O


öhh.. das ist es ja auch oO


Och nö... ich bin ja so doof >.<
Und ich schreibe am Donnerstag auch noch Mathe.. super.. -.-

Sorry, tut mir leid, hatte erst gedacht, das da ein anderer Fehler wäre, welcher aber eh nicht möglich gewesen wäre. Vergiss es, sorry^^ Embarassed
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7
 

onkelz89

BeitragDi, Jan 15, 2008 18:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Ah, ok ich hab gedacht wäre was Anderes Razz

Eingerückt ist er eigentlich schon - halt nur bei der Select - weil der Rest ja nacheinander folgt und nur einmal "durchläuft".
Das mit den mehreren Befehlen stimmt schon und Punkt 3 auch, aber ich hab das nicht so eng gesehen weil wie schon der Titel sagt - mir war einfach langweilig Wink

In meinem großen Projekt sollte soweit alles in Ordnung sein - obwohl auch da noch viel optimiert werden muss.

SpionAtom

BeitragDi, Jan 15, 2008 18:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Um die benötigte Zeit zu ermitten würde ich nicht CurrentTime() verwenden. Millisecs() eignet sich besser:
Code: [AUSKLAPPEN]
startzeit = MilliSecs()
.
.
benoetigteZeit = (MilliSecs() - startzeit) / 1000
os: Windows 10 Home cpu: Intel Core i7 6700K 4.00Ghz gpu: NVIDIA GeForce GTX 1080

Neue Antwort erstellen


Übersicht Sonstiges Smalltalk

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group