*lol*
-
Hmmm... Wieso verbirgst du den Quellcode?
//Array holding positions of each scrollbar racer = new Array(); racer[0] = 0; racer[1] = 0; racer[2] = 0; racer[3] = 0; //Array holding +ve handicaps for each scrollbar handicap = new Array(); handicap[0] = 0; handicap[1] = 0; handicap[2] = 0; handicap[3] = 0; function scrollLimit(){ //Ascertain height of page limit = window.frames["racer0"].document.body.scrollHeight; }; function genHandicap(){ //Create random handicaps for (var i = 0; i <=3; i++) { handicap[i] = (Math.round(Math.random() * (limit * 0.0001))); }; }; function disableInputs(){ window.frames["control"].document.form.winner.value = " "; window.frames["control"].document.form.userPrediction.disabled = true; window.frames["control"].document.form.button.disabled = true; }; function resetRace(){ //Check height of page scrollLimit(); //Get handicaps genHandicap(); //Prevent form input alteration disableInputs(); //Return scrollbars to startline for (var i = 0; i <= 3; i++) { racer[i] = 0; }; }; function genDist(){ //Generate random distance dist = (Math.round(Math.random()*4)) * (limit * 0.005); return dist; }; function prediction(){ //Check the player's prediction predicted = parseInt(window.frames["control"].document.form.userPrediction.value); }; function scoreUpdate(arg){ predicted == (arg + 1) ? score += 5 : score--; window.frames["control"].document.form.userScore.value = score; window.frames["control"].document.form.winner.value = (arg + 1); window.frames["control"].document.form.userPrediction.disabled = false; window.frames["control"].document.form.button.disabled = false; }; function winner(arg){ //Shunt winner up to finishline window.frames["racer" + arg].scrollTo(0,limit); //Check prediction against winner scoreUpdate(arg); //Stop race running window.clearInterval(runTime); }; function scrollIt(arg){ //Get random position racer[arg] += (genDist() + handicap[arg]); //Move scrollbar to position window.frames["racer" + arg].scrollTo(0,racer[arg]); }; function moveEm(){ //Move each scrollbar for (var i = 0; i <= 3; i++) { racer[i] <= (limit * 0.95) ? scrollIt(i) : winner(i); }; }; function race(){ resetRace(); runTime = window.setInterval("moveEm()",50); }; function start(){ prediction(); (predicted <=4 && predicted >= 1) ? race() : alert("Choose a scrollbar!\n(From 1-4)"); }; function frameStyles(){ window.frames["racer0"].document.body.style.scrollbarBaseColor = "#33cc33"; window.frames["racer1"].document.body.style.scrollbarBaseColor = "#6666ff"; window.frames["racer2"].document.body.style.scrollbarBaseColor = "#cccc33"; window.frames["racer3"].document.body.style.scrollbarBaseColor = "#ff6666"; window.frames["label0"].document.body.style.color = "#33cc33"; window.frames["label1"].document.body.style.color = "#6666ff"; window.frames["label2"].document.body.style.color = "#cccc33"; window.frames["label3"].document.body.style.color = "#ff6666"; for (var i = 0; i <= 3; i++) { window.frames["label" + i].document.body.style.fontSize = "12px"; window.frames["label" + i].document.body.style.fontWeight = "700"; window.frames["label" + i].document.body.style.fontFamily = "Arial, sans-serif"; window.frames["label" + i].document.body.innerHTML = "<center>" + (i + 1) + "</center>"; }; window.frames["pad4"].document.body.innerHTML = "<embed src=\"chain.mid\" loop=false hidden=true>"; }; //Go! function init(){ score = 0; frameStyles(); }; //Check browser and send nonIE peeps to apology. if (!document.all || !document.getElementById || window.opera){ window.location.replace("index.html"); };
Und das hast du ganz alleine hingekriegt?
-
Ach ja, Fehler entdeckt:
Ich habs jetzt mal eine weile getestet und kam zu folgender Rechnung in C++:
int stand; bool gewonnen; if (gewonnen) { if (stand<0) stand*=-1; stand++; } else stand--;
-
lol
Das erinnert mich an meine gute alte C64-Zeit. Da gabs in der Top-Fachzeitschrift zu dieser Zeit, genannt "64er", immer so einen Wettbewerb wo man in 20 Zeilen ein möglichst tolles Programm coden sollten.
Da hatte einer ein Pferde-Rennen (so wie dein Scrollbar-Rennen) in BASIC in weniger als 20 Zeilen gequetscht! Mit echter Grafik!
Hach, das waren noch Zeiten
-
20 Zeilen? Wow. Aber was für Zeilen? Zeilen, die mit ";" abgeschlossen sind oder hat er den Quellcode gequetscht? - Wie viele Variablen hat er verwendet?
Würde mich jetzt interessieren
-
Das ist geil... kann da jetzt noch jemand einen Bot dafür schreiben, daß man auch noch automatisch setzen kann?
Dann kann man das im Hintergrund laufen lassen und hebt am Abend das Geld ab.
-
Windoof schrieb:
20 Zeilen? Wow. Aber was für Zeilen? Zeilen, die mit ";" abgeschlossen sind oder hat er den Quellcode gequetscht? - Wie viele Variablen hat er verwendet?
Würde mich jetzt interessierenDie Regeln waren in etwa folgende: Das Programm durfte nur soviel Platz einnehmen wie 20 Zeilen ASCII Sourcecode.
In eine Zeile passten damals meines Wissens nach 80 Zeichen. Das macht also
*ratter-ratter* eine max. Programmgrösse von 1600 Bytes. Es war egal, ob das BASIC, Assembler oder kompilierter Binärcode war, hauptsache der Code überstieg nicht diese Grenze.
Das Pferderennen war noch nichmal das krasseste was ich da gesehen hab. Es gab sogar kleine Ballerspiele mit Raumschiffen. Da musste man echte Optimierungs-Arbeit reinstecken.(Edit)
Hier kann man noch Schnipsel aus einigen Ausgaben lesen. Es sind aber anscheinend keine Ausgaben mit 20 Zeilern dazwischen
http://www.zock.com/64er/
-
Windoof schrieb:
Aber was für Zeilen? Zeilen, die mit ";" abgeschlossen sind oder hat er den Quellcode gequetscht?
-junix
-
Cpp_Junky schrieb:
In eine Zeile passten damals meines Wissens nach 80 Zeichen.
Das stimmt nicht ganz. Die 80 Zeichen umfassten beim C64 2 Bildschirmzeileneinschließlich Zeilennummer (Sprungmarke). Mit einem BasicPacker konnte man diese Beschränkung aufheben, so das max. 255 Zeichen in eine Codezeile gepasst haben. Also 20 x 255 = 5100 Byte.
Die richtigen Freaks haben Basic mit Maschinecode gemixt, so das dann folgendes rausgekommen ist:
0 SYS2064
1 REM"IUGUB OIZIBTZUIZBUGBUKGHJFHTZCTCCCCTCTCCRCLZN)N()ZN)ZNGFFBTBGIBTZBNTGBNGNGNKBGNGN ... (Bis 255)
2 REM"oOIJIUHIGIU&RC&/RTJJHXJHXJKKXXXXXX ... (BIS 255)
3 ...
4 ...
-
Debugging im Jahre 1984:
http://www.zock.com/64er/8407/0018.html(edit)
...Diesen Vorgang bezeichnet man auch als "Debugging". Das Wort ist von der englischen Bezeichnung "Bug" abgeleitet und bedeutet eigentlich "entwanzen"
Dann lasst uns mal den Source "entwanzen"
-
junix schrieb:
Windoof schrieb:
Aber was für Zeilen? Zeilen, die mit ";" abgeschlossen sind oder hat er den Quellcode gequetscht?
-junix
Stimmt *g*