*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 😉


  • Mod

    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 interessieren 😉

    Die 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*


Anmelden zum Antworten