y235
Veteran
what programm did you use?0.015 floppy cube sim single
2 turns at 333.33 tps
this is my favourite event.
EDIT: OMG NEW PB
0.002 single
1 turn at 500 tps
EDIT:
0.116 (0.002) 0.456 (8.258) 0.224 => 0.265
lols.
EDIT:
![]()
omg do I have UWR?!?!
Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
what programm did you use?0.015 floppy cube sim single
2 turns at 333.33 tps
this is my favourite event.
EDIT: OMG NEW PB
0.002 single
1 turn at 500 tps
EDIT:
0.116 (0.002) 0.456 (8.258) 0.224 => 0.265
lols.
EDIT:
![]()
omg do I have UWR?!?!
what programm did you use?
I had a (0) 0.022 0 (0.113) 0.106 => 0.043 once
Floppy Cube is funny.
EDIT: 2 turns in 0.001 = 2000 tps LOLOLO
One move awayHow do you get a 0? I just had a "scramble" where it was already solved, and I had to do U U to solve it.
<html>
<head>
<style>
img.t {opacity:0;filter:alpha(opacity=0);padding:0}
td {padding:0;}
.no {display:none;}
</style>
<script type="text/javascript">
<!--
var solving = false;
var colors = ["white", "orange", "green", "red", "blue", "yellow"];
var s=3;
var h=30; // default height
var cnt=0; // move count
var times = []; // stores times, max 100
var startTime;
var curTime;
var timerID;
var inspectionID;
var started = false;
var browser = getBrowser(); // only want to call this once
function init() {
clearInterval(inspectionID); // just in case
var v = "<table><tr><td></td><td>" + hface(1,1) + "</td><tr><td>" + vface(12, -1) + "</td>";
v += "<td>" + face(12, true) + "</td><td>" + vface(4, 1) + "</td><td>" + face(21, false);
v += "</td></tr><tr><td></td><td>" + hface(9,-1) + "</td></tr></table>";
gebi('q').innerHTML = v;
for (var i=1; i<4; i++)
gebi(i).bgColor = colors[1];
for (var i=4; i<7; i++)
gebi(i).bgColor = colors[2];
for (var i=7; i<10; i++)
gebi(i).bgColor = colors[3];
for (var i=10; i<13; i++)
gebi(i).bgColor = colors[4];
for (var i=13; i<22; i++)
gebi(i).bgColor = colors[0];
for (var i=22; i<31; i++)
gebi(i).bgColor = colors[5];
}
function hface(n, inc) {
var w = "<table><tr>";
var cnt = n;
for (var i=0; i<s; i++) {
w += "<td id='"+cnt+"' height='"+h+"' width='"+h+"'><img src='x.png' class='t'>";
cnt += inc;
}
w += "</tr></table>";
return w;
}
function vface(n, inc) {
var w = "<table>";
var cnt = n;
for (var i=0; i<s; i++) {
w += "<tr><td id='"+cnt+"' height='"+h+"' width='"+h+"'><img src='x.png' class='t'></tr>";
cnt += inc;
}
w += "</table>";
return w;
}
function face(n, trans) {
var w = "<table>";
for (var i=0; i<s; i++) {
w += "<tr>";
for (var j=0; j<s; j++) {
if (trans)
w += "<td id='"+(n+i*s+j+1)+"' height='"+h+"' width='"+h+"'><img src='x.png' class='t'></td>";
else
w += "<td id='"+(n+i*s+j+1)+"' class='no'></td>";
}
w += "</tr>";
}
w += "</table>";
return w;
}
function doKey(k, shift) {
if (solving && (k==73||k==75||k==74||k==70||k==68||k==69||
k==85||k==77||k==86||k==82||k==83||k==76)) {cnt++; startTimer();}
// space to scramble
if (k == 32 && !solving) {
scramble();
cnt = 0;
inspectionID = setTimeout(startTimer, 15000);
started = false;
solving = true;
}
//i k = R R'
else if (k == 73 || k == 75) move(2, 1);
//j f = U U'
else if (k == 74 || k == 70) move(1, 1);
//d e = L L'
else if (k == 68 || k == 69) move(2, 3);
//u m = r r'
else if (k == 85 || k == 77) {move(2, 1); move(2, 2);}
//v r = l l'
else if (k == 86 || k == 82) {move(2, 3); move(2, 2);}
//s l = D D'
else if (k == 83 || k == 76) move(1, s);
//shift + - for square size
else if (shift && (keyCode == 107 || ((browser == "Chrome" || browser == "IE") && keyCode == 187))) reSize(h+1);
else if (shift && (keyCode == 109 || ((browser == "Chrome" || browser == "IE") && keyCode == 189))) reSize(h-1);
//escape to reset
else if (k == 27) {
stopTimer(false);
if(solving) clearTimes();
solving = false;
started = false;
init();
}
}
function reSize(newH) {
if (newH < 1) return;
h = newH;
for (var i=1; i<=30; i++) {
gebi(i).style.height = h;
gebi(i).style.width = h;
}
}
function move(face, layer) {
// face: 1=U 2=R
if (face == 2) {
for (var i=1; i<=s; i++)
cyc2(13 + s*i - layer, 30 - s*i + layer);
cyc2(4 - layer, 6 + layer);
if (layer == 1)
cyc2(4,6);
if (layer == s)
cyc2(10,12);
} else if (face == 1) {
for (var i=1; i<=s; i++)
cyc2(9 + i + s*layer, 18 + i + s*layer);
cyc2(3 + layer, 13 - layer);
if (layer == 1)
cyc2(1,3);
if (layer == s)
cyc2(7,9);
}
if (isSolved()) {
stopTimer(true);
started = false;
solving = false;
}
}
function isSolved() {
for (var i=1; i<=10; i+=3) {
for (var j=1; j<3; j++) {
if (gebi(i+j).bgColor != gebi(i).bgColor)
return false;
}
}
for (var i=13; i<=22; i+=9) {
for (var j=1; j<9; j++) {
if (gebi(i+j).bgColor != gebi(i).bgColor)
return false;
}
}
return true;
}
function scramble() {
var maxcnt = 100 + Math.floor(Math.random()*2); // randomly even or odd parity
for (var i=0; i<maxcnt; i++)
move(Math.floor(Math.random()*2)+1, Math.floor(Math.random()*3)+1);
}
function startTimer() {
clearTimeout(inspectionID);
if (!started) {
started = true;
startTime = new Date();
timerID = setInterval(updateTimer, 100);
}
}
function pretty(time) {
time = Math.round(time);
var mins = Math.floor(time/60000);
var secs = (time - 60000*mins)/1000;
if (mins == 0) {
return secs;
} else {
return mins + (secs<10?":0":":") + secs;
}
}
function updateTimer() {
curTime = new Date();
var time = curTime.getTime() - startTime.getTime();
gebi('t').innerHTML = pretty(time);
}
function stopTimer(good) {
if (started) {
started = false;
curTime = new Date();
var time = curTime.getTime() - startTime.getTime();
gebi('t').innerHTML = pretty(time) + (good ? "" : "*");
clearInterval(timerID);
if (good) { // store the time
times[times.length] = time;
if (times.length > 100) times = times.slice(times.length - 100);
// figure out averages and display
var v = "";
if (times.length >= 5) v += getAvg(5, times.slice(times.length - 5)) + "<br>";
if (times.length >= 12) v += getAvg(12, times.slice(times.length - 12)) + "<br>";
if (times.length >= 100) v += getAvg(100, times);
gebi('e').innerHTML = v;
gebi('h').innerHTML = cnt + " @ " + Math.round(100000*cnt/time)/100;
}
}
}
function getAvg(n, list) {
var max = 0;
var min = 0;
var sum = list[0];
for (var i=1; i<n; i++) {
if (list[i] > list[max]) max = i;
if (list[i] < list[min]) min = i;
sum += list[i];
}
sum = sum - list[min] - list[max];
var v = "";
for (var i=0; i<n; i++) {
if (i == min || i == max) {
v += "(" + pretty(list[i]) + ") ";
} else {
v += pretty(list[i]) + " ";
}
}
v += "=> " + pretty(sum/(n-2));
return v;
}
function clearTimes() {
times = [];
gebi('e').innerHTML = "";
}
function cyc2(id1, id2) {
test = gebi(id1).bgColor;
gebi(id1).bgColor = gebi(id2).bgColor;
gebi(id2).bgColor = test;
}
function gebi(str) {return document.getElementById(str);}
function getBrowser() {
// http://www.quirksmode.org/js/detect.html
var versionSearchString;
var dataBrowser = [
{string:navigator.userAgent, subString:"Chrome", identity:"Chrome"},
{string:navigator.userAgent, subString:"Firefox", identity:"Firefox"},
{string:navigator.userAgent, subString:"MSIE", identity:"IE", versionSearch:"MSIE"}];
function searchString(data) {
for (var i=0;i<data.length;i++) {
var dataString = data[i].string;
var dataProp = data[i].prop;
if (dataString) {
if (dataString.indexOf(data[i].subString) != -1)
return data[i].identity;
} else if (dataProp)
return data[i].identity;
}
};
return searchString(dataBrowser) || "An unknown browser";
}
// -->
</script>
</head>
<body bgColor="black" text="white" onload="init()" onkeydown="doKey(event.keyCode, event.shiftKey)">
<div id="q"></div><br>
<div id="t" style="font-size:200%"></div><br>
<div id="e"></div>
<div id="h"></div>
</body>
</html>
One move away![]()
Solve: L R (2)
Time: 0 seconds
lim 2/x = ∞ tps.
x->0
lol@have to use limits to calculate tps.
I think Andrew Ricci has done it.