Taschenrechner
Übersicht

ScretchyBetreff: Taschenrechner |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hier ist mein eigenes Kleines Wunderwerk!
Und wenn ihr verbesserungsvorschläge habt lasst sie mich bitte hören! Code: [AUSKLAPPEN] Graphics 640,480,16,2 SetBuffer BackBuffer() AppTitle "taschenrechner" Global zahl1$ Global zahl2$ Global d_temp$ Cls Graphics 640, 480 For x = 0 To 180 Color Rand(0,255),Rand(0,255),Rand(0,255) Text 155,0, "******************************************" Text 155,10, "*Willkommen bei Scretchys Taschenrechner!*" Text 155,20, "******************************************" fntArial =LoadFont("Arial",32,False,False,True) SetFont fntArial Text 240,100, "Bitte Warten!" FreeFont fntArial Flip Next Repeat .start Cls numblock() Color 255,255,255 fntArial =LoadFont("Arial",20,False,False,False) SetFont fntArial Text 180,20, "Bitte geben sie die Rechenaufgabe ein: " + d_temp$ fntArial =LoadFont("Arial",32,False,False,True) SetFont fntArial Text 240,180, "Ergebnis: " + ergebnis Color 255,0,0 Text 165,360, "Zum Beenden Esc drücken!" FreeFont fntArial If KeyHit(156) Then ergebnis = ausrechnen() If KeyHit(28) Then ergebnis = ausrechnen() If KeyHit(14) Then loeschen() Flip Until KeyDown(1) Function numblock() If KeyHit(82) Then d_temp$ = c_temp$ + "0" If KeyHit(79) Then d_temp$ = d_temp$ + "1" If KeyHit(80) Then d_temp$ = d_temp$ + "2" If KeyHit(81) Then d_temp$ = d_temp$ + "3" If KeyHit(75) Then d_temp$ = d_temp$ + "4" If KeyHit(76) Then d_temp$ = d_temp$ + "5" If KeyHit(77) Then d_temp$ = d_temp$ + "6" If KeyHit(71) Then d_temp$ = d_temp$ + "7" If KeyHit(72) Then d_temp$ = d_temp$ + "8" If KeyHit(73) Then d_temp$ = d_temp$ + "9" If KeyHit(78) Then d_temp$ = d_temp$ + "+" If KeyHit(74) Then d_temp$ = d_temp$ + "-" If KeyHit(55) Then d_temp$ = d_temp$ + "*" If KeyHit(181) Then d_temp$ = d_temp$ + "/" End Function Function ausrechnen() pos1 = Instr(d_temp$,"+") pos2 = Instr(d_temp$,"-") pos3 = Instr(d_temp$,"*") pos4 = Instr(d_temp$,"/") ;zuerst wird der string nach den rechen-zeichen dursucht If pos1 <> 0 Then zahl1$ = Left$(d_temp$,pos1-1) zahl2$ = Mid$(d_temp$,pos1+1) d_temp$ = "" ;leeren der variable c_temp$, da die rechnung sonst dort immer stehen bleiben würde Return (Int(zahl1$)+Int(zahl2$)) Else If pos2 <> 0 Then zahl1$ = Left$(d_temp$,pos2-1) zahl2$ = Mid$(d_temp$,pos2+1) d_temp$ = "" Return (Int(zahl1$)-Int(zahl2$)) Else If pos3 <> 0 Then zahl1$ = Left$(d_temp$,pos3-1) zahl2$ = Mid$(d_temp$,pos3+1) d_temp$ = "" Return (Int(zahl1$)*Int(zahl2$)) Else If pos4 <> 0 Then zahl1$ = Left$(d_temp$,pos4-1) zahl2$ = Mid$(d_temp$,pos4+1) d_temp$ = "" Return (Int(zahl1$)/Int(zahl2$)) End If End Function Function loeschen() d_temp$ = Left$(d_temp$,Len(d_temp$)-1) End Function .beenden Cls Color 255,255,255 Locate 150,0 fntArial =LoadFont("Arial",20,False,False,True) SetFont fntArial Beenden$ = Input$("Wollen sie noch eine Aufgabe eingeben?") Select Beenden Case "JA" Goto start Case "ja" Goto start Case "Ja" Goto start Case "NEIN" End Case "nein" End Case "Nein" End Default Cls FreeFont fntArial Color 255,0,0 Text 140,10, "* Eingabe ungültig, versuchen sie es nochmal! *" Text 140,0 , "***********************************************" Text 140,34, "***********************************************" Text 140,22, "* Möglichkeiten: Ja oder Nein! *" WaitKey Goto beenden Flip End Select |
||
![]() |
Bms |
![]() Antworten mit Zitat ![]() |
---|---|---|
tja, in blitzplus geht das nicht........... | ||
Reblonce (Jump + Run + Shoot - Game; 20 Levels): Download |
![]() |
KabelbinderSieger des WM-Contest 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Verdammt, ich empfehle echt niemandem, dieses Programm zu starten!
Scretchy, weshalb bitte, lädst du in ner For-Schleife 180 gleichgroße und gleich Ausgelegte Fonts ein? Das überläd doch voll den Speicher. Mein Computer hat nachher erstmal ne Verschnaufpause gebraucht, bis er wieder wieder funktioniert hat. Also ich würde dir dringend empfehlen, diesem Code nochmal zu überarbeiten. Und Verbesserungsvorschläge ![]() -Hast du in dem Taschenrechner schon Punktrechnung vor Strichrechnung drin? -Kann man auch mehrere Operatoren benutzen, z.B. 32/4*7+5? |
||
<Wing Avenger Download> ◊◊◊ <Macrophage Download> |
![]() |
Wild-Storm |
![]() Antworten mit Zitat ![]() |
---|---|---|
und sowas landet hier..... | ||
Visit http://www.next-dimension.org
------------------------------------------------- Freeware Modelle, Texturen & Sounds: http://www.blitzforum.de/forum...hp?t=12875 |
Scretchy |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Scretchy, weshalb bitte, lädst du in ner For-Schleife 180 gleichgroße und gleich Ausgelegte Fonts ein? Das überläd doch voll den Speicher.
Weil der dann am anfang die Farben abwechselt! |
||
Scretchy |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Code: [AUSKLAPPEN] Graphics 640,480,16,2 SetBuffer BackBuffer() AppTitle "taschenrechner" Global zahl1$ Global zahl2$ Global d_temp$ Cls Graphics 640, 480 Repeat Color Rand(0,255),Rand(0,255),Rand(0,255) Text 155,0, "******************************************" Text 155,10, "*Willkommen bei Scretchys Taschenrechner!*" Text 155,20, "******************************************" fntArial =LoadFont("Arial",32,False,False,True) SetFont fntArial Text 80,180, "Zum starten eine Enter Taste drücken!" FreeFont fntArial Flip If KeyHit(28) Then Goto start If KeyHit(156) Then Goto start Forever .start Repeat Cls numblock() Color 255,255,255 fntArial =LoadFont("Arial",20,False,False,False) SetFont fntArial Text 180,20, "Bitte geben sie die Rechenaufgabe ein: " + d_temp$ fntArial =LoadFont("Arial",32,False,False,True) SetFont fntArial Text 240,180, "Ergebnis: " + ergebnis Color 255,0,0 Text 165,360, "Zum Beenden Esc drücken!" FreeFont fntArial If KeyHit(156) Then ergebnis = ausrechnen() If KeyHit(28) Then ergebnis = ausrechnen() If KeyHit(14) Then loeschen() Flip Until KeyDown(1) Function numblock() If KeyHit(82) Then d_temp$ = c_temp$ + "0" If KeyHit(79) Then d_temp$ = d_temp$ + "1" If KeyHit(80) Then d_temp$ = d_temp$ + "2" If KeyHit(81) Then d_temp$ = d_temp$ + "3" If KeyHit(75) Then d_temp$ = d_temp$ + "4" If KeyHit(76) Then d_temp$ = d_temp$ + "5" If KeyHit(77) Then d_temp$ = d_temp$ + "6" If KeyHit(71) Then d_temp$ = d_temp$ + "7" If KeyHit(72) Then d_temp$ = d_temp$ + "8" If KeyHit(73) Then d_temp$ = d_temp$ + "9" If KeyHit(78) Then d_temp$ = d_temp$ + "+" If KeyHit(74) Then d_temp$ = d_temp$ + "-" If KeyHit(55) Then d_temp$ = d_temp$ + "*" If KeyHit(181) Then d_temp$ = d_temp$ + "/" End Function Function ausrechnen() pos1 = Instr(d_temp$,"+") pos2 = Instr(d_temp$,"-") pos3 = Instr(d_temp$,"*") pos4 = Instr(d_temp$,"/") ;zuerst wird der string nach den rechen-zeichen dursucht If pos1 <> 0 Then zahl1$ = Left$(d_temp$,pos1-1) zahl2$ = Mid$(d_temp$,pos1+1) d_temp$ = "" ;leeren der variable c_temp$, da die rechnung sonst dort immer stehen bleiben würde Return (Int(zahl1$)+Int(zahl2$)) Else If pos2 <> 0 Then zahl1$ = Left$(d_temp$,pos2-1) zahl2$ = Mid$(d_temp$,pos2+1) d_temp$ = "" Return (Int(zahl1$)-Int(zahl2$)) Else If pos3 <> 0 Then zahl1$ = Left$(d_temp$,pos3-1) zahl2$ = Mid$(d_temp$,pos3+1) d_temp$ = "" Return (Int(zahl1$)*Int(zahl2$)) Else If pos4 <> 0 Then zahl1$ = Left$(d_temp$,pos4-1) zahl2$ = Mid$(d_temp$,pos4+1) d_temp$ = "" Return (Int(zahl1$)/Int(zahl2$)) End If End Function Function loeschen() d_temp$ = Left$(d_temp$,Len(d_temp$)-1) End Function .beenden Cls Color 255,255,255 Locate 150,0 fntArial =LoadFont("Arial",20,False,False,True) SetFont fntArial Beenden$ = Input$("Wollen sie noch eine Aufgabe eingeben?") Select Beenden Case "JA" Goto start Case "ja" Goto start Case "Ja" Goto start Case "NEIN" End Case "nein" End Case "Nein" End Default Cls FreeFont fntArial Color 255,0,0 Text 140,10, "* Eingabe ungültig, versuchen sie es nochmal! *" Text 140,0 , "***********************************************" Text 140,34, "***********************************************" Text 140,22, "* Möglichkeiten: Ja oder Nein! *" WaitKey Goto beenden Flip End Select Jetzt habe ich es umgeändert! Bei mir ruckelt der nicht! |
||
![]() |
Wild-Storm |
![]() Antworten mit Zitat ![]() |
---|---|---|
also wirklich sorry, aber das da ist müll
die auslagerungsdatei steigt von 200 auf 800MB rauf (habs dann beendet weils mir zu viel wurde), deine komischen in der schleife lade routine gibt andere möglichkeiten, erstelle z.b. ein bild mach deinen font und zeichne darein, dann lässt dus mit drawimage auf den screen zeichnen, und schon brauchst du dein font laden in der schleife nimmer. oder das doppelte graphics ist auch unnötig, ausserdem löscht es wieder den kacbuffer, daher das flimmern. teste dein prog aus und schau auf alles und dann erst poste es hier edit: du benutzt ja auch 2mal font laden, löscht aber nur einmal....kein wunder..... edit2: das farbenwechseln hat keine auswirkung auf den font! |
||
Visit http://www.next-dimension.org
------------------------------------------------- Freeware Modelle, Texturen & Sounds: http://www.blitzforum.de/forum...hp?t=12875 |
- Zuletzt bearbeitet von Wild-Storm am Di, Okt 26, 2004 19:24, insgesamt einmal bearbeitet
Kekskiller |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Sag mal, bist du denn irgendwie vollkommen benebelt o_O ?
Das kostet Zeit, nur Zeit. Lad das Ding vorher rein und setze es allgemein. Noch besser: Les dir verdammt nochmal die HILFE durch... |
||
Timo |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
die Farbe von Text ändert man mit dem Befehl Color, nicht indem man ne neue Schrift reinlädt ![]() |
||
Scretchy |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wild-Storm hat Folgendes geschrieben: edit: du benutzt ja auch 2mal font laden, löscht aber nur einmal....kein wunder..... ja weil wenn ich das vor die schleife setzte dann findet er den font nicht! |
||
![]() |
KabelbinderSieger des WM-Contest 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Und lass bitte das Goto weg, das verwirrt doch nur, also wenn du das in deinen Spielen auch benutzt, dann Ahoi. | ||
<Wing Avenger Download> ◊◊◊ <Macrophage Download> |
Scretchy |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Kabelbinder hat Folgendes geschrieben: Und lass bitte das Goto weg, das verwirrt doch nur, also wenn du das in deinen Spielen auch benutzt, dann Ahoi.
Ja wie denn sonst gosub oder was? |
||
![]() |
Wild-Storm |
![]() Antworten mit Zitat ![]() |
---|---|---|
function | ||
Visit http://www.next-dimension.org
------------------------------------------------- Freeware Modelle, Texturen & Sounds: http://www.blitzforum.de/forum...hp?t=12875 |
![]() |
DA |
![]() Antworten mit Zitat ![]() |
---|---|---|
Moin,
Ich will ja nichts sagen, aber irgendwie hackt ihr alle auf ihn ein! Also ich finde das für einen "Anfänger" klasse! Es gibt zwar hier und da noch ein paar macken aber die können ja noch behoben werden ![]() Thx DarkAngel |
||
Deutscher Blitz Basic Chat |
![]() |
KabelbinderSieger des WM-Contest 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ähm, ja, genau. Function oder Gosub. Also wenn man bei längeren Quelltexten Goto benutzt, versteht man irgendwann gar nichts mehr. Durch Goto springt man ja irgendwo in einem Anderen Bereich des Quelltextes. Aber irgendwann weiß man einfach nicht mehr, wo man ist, weil man nicht an den Ausgangspunkt zurückspringen kann.
Du hast da ja z.B. sowas eingebaut: Goto start stattsdessen kannst du das ja auch alles in eine Hauptschleife packen, dann brauchst du kein Goto. Aber vor allem: nicht verzagen, Scretchy mein erster Code, den ich versucht habe, ins Archiv zu setzen wurde auch rausgekickt. @DarkAngel: Da mussten wir doch alle mal durch ![]() |
||
<Wing Avenger Download> ◊◊◊ <Macrophage Download> |
Scretchy |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
DarkAngel hat Folgendes geschrieben: Moin,
Ich will ja nichts sagen, aber irgendwie hackt ihr alle auf ihn ein! Also ich finde das für einen "Anfänger" klasse! Es gibt zwar hier und da noch ein paar macken aber die können ja noch behoben werden ![]() Thx DarkAngel Danke für die Verteidigung Dark Angel |
||
![]() |
KabelbinderSieger des WM-Contest 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
@DarkAngel: ich weiß nicht, ob du das wusstest, aber Scretchy hat diesen Taschenrechner anfangs auch ins Code-Archiv gestellt und wer etwas ins Code-Archiv setzt, der muss eben auch kritik ertragen.
Also ich würde sagen, wenn man das in der Beginner's-Corner schreibt, wird man auch nicht kritisiert. Aber du hast recht, für einen Anfänger ich das ein gutes Programm. |
||
<Wing Avenger Download> ◊◊◊ <Macrophage Download> |
![]() |
DA |
![]() Antworten mit Zitat ![]() |
---|---|---|
Oh, das wusste ich nicht.
Aber trodzdem finde ich das nicht gut das fast alle auf ihn einhacken. Jeder hat mal klein angefangen und jeder macht mal Fehler. @Scretchy Nichts zu Danken ![]() Thx DarkAngel |
||
Deutscher Blitz Basic Chat |
![]() |
Egon Dragon |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi!
und außerdem kann man goto manchmal auch ganz gut gebrauchen zum beispiel hir. Code: [AUSKLAPPEN] ;-->Hauptmenü<-- .hauptmenü while not keydown(1) ;...fragwasab wend ;-->Hauptprogramm<-- repeat ;...machwas ;...tudies ;...tudas if keydown(1) goto hauptmenü endif forever |
||
Scretchy |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ich weiß das man goto manchmal gebruchen kann!
Aber die mekern ja alle über die spaggettis! Vllt schmeckt den das mit Ketchup und pamesankäse besser! |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group