Integer divided by Zero :S
Übersicht

![]() |
ozzi789Betreff: Integer divided by Zero :S |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi
Ich denke der Code is selbst klärend ... Doch wieso bekomm ich ne Integer divided by Zero ? MFG Ozzi789 Code: [AUSKLAPPEN] pfad$=Input$ ("Pfad, Bsp C:\Bilder\bild.bmp") Test=LoadImage (pfad$) ht =ImageHeight(Test) wt =ImageWidth(Test) Print wt ;64 Print ht ;32 frame=Input ("Frames") w=wt/frame animimages=LoadAnimImage(pfad$,w,h,0,frame) While Not KeyHit(1) DrawImage animimages,MouseX(),MouseY(),frame Wend If MilliSecs() > tmrSparks + 100 Then tmrSparks=MilliSecs() frame=( frame + 1 ) Mod 2 End If |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Weil bei frame 0 eingegeben wurde? Du musst dann halt eine Abfrage rein machen. Denn Integerzahlen kann man nicht durch 0 teilen. | ||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dafü gibts den Input ja : frame = Input ("frames")
Ich hab auch schon versucht es so zu machen frame = 2 Dann wars immer noch das gleiche :S |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dann kommt der Fehler wohl in einer Zeile, die du hier nicht gepostet hast, denn ein ''/'' kommt in deinem Code nur einmal vor.
Folgender Code funktioniert so lange, bis ''0'' eingegeben wird. Code: [AUSKLAPPEN] frame=Input("Frames: ")
wt=128 w=wt/frame Print "w="+w+" 2*w="+(2*w) WaitKey:End |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
nicht zwingend. wenn jemand so dämlich ist und zb abc eingibt wirds auch divide by zero geben weil das als int = 0 gibt | ||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
Vielleicht liegt es daran, dass Input einen String zurückliefert?
Code: [AUSKLAPPEN] frames=Int(Input("Frames: ")) So haben wir einen Integer. |
||
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
@ The _Nici
Danke so klappts ![]() Ich habs auch schon so versucht : frame= input# ("Blub") Danke viel mals MFG ozzi789 |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Input in Blitz ist schlau genug und macht Zahlenangaben automatisch als Integer. Eine Vorschaltung per Int macht überhaupt kein Unterschied. Einzig und allein kann Float eine Division durch 0 (in Blitz) ab. | ||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
![]() |
pixelshooter |
![]() Antworten mit Zitat ![]() |
---|---|---|
wtf?!
darf man fragen was da raus kommt?! also du sagst a# = 1.; b# = 0.;a# / b# geht? |
||
>> Musikerstellung, Grafik und Design: http://www.pixelshooter.net.tc |
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Blitz schluckt das und sagt
Zitat: Infinity
|
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hmmm......
Wenn ich mit Print (zmb) a und b raus geb kommt aba 64 32 wieso geht 64 /32 ned ? ![]() Anyway So funkts Doch wieso braucht der Code 80-90 % Cpu wenn der das Bildanzeigt ? Is dat normal ? (Das BB beispiel für Loadanimimage braucht die gleiche Leistung.) Code: [AUSKLAPPEN] Print "Willkomen bei AnimViewer"
pfad$=Input$ ("Pfad,Bsp C:\Bilder\bild.bmp") Test=LoadImage (pfad$) speed= 1200 ht =ImageHeight(Test) wt =ImageWidth(Test) Print wt ;64 Print ht ;32 frame=Int(Input("Frames: ")) w=wt/frame animimages=LoadAnimImage(pfad$,w,ht,0,frame) While Not KeyHit(1) Text 0,0, "Change Speed of Animation with +,-" If KeyHit(78) Then speed=speed-30 If KeyHit(74) Then speed=speed+30 Text 0,20, speed If speed> 1500 Then speed = 1000 If speed< 50 End If MilliSecs() > tmrSparks + speed Then tmrSparks=MilliSecs() frame2=( frame2 + 1 ) Mod 2 Cls DrawImage animimages,100,100,frame2 End If Wend |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
64/32 = 2
wenn du allerdings statt 32 33 nimmst, gibts noch 1, denn das ist ne Int Division Was die Leistung betrifft: das liegt daran wie du es programmiert hast. Ohne WaitTimer oder Delay wirds alle CPU Power eines einzelnen Cores abgrasen die es bekommen kann, darauf ist es ausgelegt. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Waittimer ^^
Ach so , probier gleich ma |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
ozzi, als ich mir dein Code etwas genauer angeschaut hatte, sträubten sich bei mir die Haare. Ich würde an deiner Stelle generell auf folgende Dinge achten:
- Code einrücken (Wichtig!). Benutze dazu eine andere IDE als die von Blitz mitgegeben. - Variablennamen ''richtig'' mit Groß- und Kleinschreibung benennen. Konstanten nur Groß. - Code nicht asynchron laufen lassen, ausser bei bestimmten Dingen, die hier aber nicht zutreffen. - Deklariere alle Deine Variablen per ql:Local oder ql:Global, damit es später keine Komplikationen gibt. - Frage System- Variablen/Funktionen wie ql:MilliSecs(), ql:MouseX() etc. nicht immer wieder neu ab, sondern zwischenspeichere sie. - ql:Cls gehört ins Mainloop, ausser du programmierst ein FrontBuffer-Game wie z.B. ''Snake'' (da kann es unter bestimmten...). - Mit WaitTimer wird im folgendem Code das Programm auf 60 FPS abgebremst, somit hast du genügend Frames/Second und trotzdem erstmal so um 0-1% Prozessorauslastung. Dazu ql:Flip auf 0 stellen nicht vergessen. Beispielstruktur: Code: [AUSKLAPPEN] Graphics 800,600,0,2
SetBuffer BackBuffer() AppTitle "AnimViewer" Print "Willkomen bei AnimViewer" Local Timer=CreateTimer(60) Local Pfad$=Input$("Pfad,Bsp C:\Bilder\bild.bmp") Local Test=LoadImage(Pfad$) Local Speed=1200 Local HT=ImageHeight(Test) Local WT=ImageWidth(Test) Print WT ;64 Print HT ;32 Local Frame#=Int(Input("Frames: ")) Local W=WT/Frame Local AnimImages=LoadAnimImage(Pfad$,W,HT,0,Frame) Local TMRSparks Local Frame2 ;Animationsframe Local MS ;MilliSecs()-Puffer While Not KeyHit(1) Text 0,0, "Change Speed of Animation with +,-" If KeyHit(78) Then Speed=Speed-30 If KeyHit(74) Then Speed=Speed+30 Text 0,20,Speed If Speed>1500 Then Speed=1000 If Speed<50 Then End MS=MilliSecs() If MS>TMRSparks+Speed Then TMRSparks=MS Frame2=(Frame2+1) Mod 2 End If DrawImage AnimImages,100,100,Frame2 WaitTimer(Timer) Flip 0 Cls Wend End Ist sicherlich nicht das non plus ultra, aber schonmal ein Anfang. |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke viel mals , da habi wat gelernt ^
MFG ozzi |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group