সাধারণত, চ্যালেঞ্জগুলি বাইট, বা কখনও কখনও লেভেনস্টাইন দূরত্বগুলিতে স্কোর করা হয়, তবে এটির জন্য আমরা কীবোর্ড দূরত্ব ব্যবহার করছি - প্রোগ্রামটি টাইপ করতে ব্যবহৃত কীগুলির মধ্যে কীগুলির সংখ্যা (উপরের কীবোর্ডকে চূড়ান্ত রেফারেন্স হিসাবে ব্যবহার করুন)। উদাহরণস্বরূপ, এর মধ্যে দূরত্ব 3 Aএবং Fকারণ পথ A=> S=> D=> F। এর মধ্যে Nএবং এর দূরত্ব 54, কারণ আপনি যে পথেই যান না কেন এটির জন্য কমপক্ষে 4 টি পদক্ষেপ প্রয়োজন। আপনার কাজটি হ'ল সম্ভব কীবোর্ডের দূরত্ব সহ নিম্নলিখিতগুলি (ট্রেলিং স্পেস সহ) আউটপুট করা:
Q W E R T Y U I O P
A S D F G H J K L
Z X C V B N M
মোড়ানো:
আপনার জীবনকে আরও সহজ করার জন্য, নির্দিষ্ট কীগুলি কীবোর্ডের চারপাশে মোড়ানো করতে পারে। Left Shiftথেকে গোপন Right Shift, Caps Lockকরতে গোপন Enter, Tabকরতে গোপন \এবং ~গোপন করার Backspace। উদাহরণস্বরূপ, এর মধ্যে দূরত্ব 5 Qএবং Pকারণ Q=> Tab=> \=> ]=> [=> P।
নোট: মোড়ানো শুধুমাত্র অনুভূমিকভাবে কাজ করে - আপনি বলতে পারবেন না, থেকে পদক্ষেপ, \করতেCaps Lock
স্কোরিং:
স্কোর = কীবোর্ড দূরত্ব + বাইট গণনা
উদাহরণ গণনা:
print(5);
- p=> r== 6
- r=> i== 4
- i=> n== 2
- n=> t== 3
- t=> (== 4
- (=> 5== 4
- 5=> )== 5
- )=> ;== 2
মোট: 30 + 9 = 39 ।
মন্তব্য:
- ছোট হাতের অক্ষর এবং বড় হাতের অক্ষর একই কী হিসাবে গণনা করে। যদি কোনও কীতে দুটি চিহ্ন থাকে (যেমন 7এবং &) তবে সেগুলিও একই কী হিসাবে গণনা করা হয়, পুশিং শিফ্ট অন্তর্ভুক্ত করার দরকার নেই।
- দুর্ভাগ্যক্রমে, আপনার কোডে যদি এমন চিহ্ন প্রয়োজন হয় যা কীবোর্ডে নেই তবে আপনি এটি ব্যবহার করতে পারবেন না।
- কীবোর্ড চিত্রে, শীর্ষ সারিটি উপেক্ষা করা যেতে পারে। নীচের সারিটিতে আপনি কেবলমাত্র কীটি ব্যবহার করতে পারেনSpace
- কীগুলি অবশ্যই ইনপুট করা উচিত, আপনি ক্যারেটটি সরিয়ে নিতে তীর কীগুলি ব্যবহার করতে পারবেন না এবং তারপরে একটি কী ইনপুট করতে পারেন।
স্কোর ক্যালকুলেটর:
- 12/27 এ আপডেট হয়েছে `=> ]এবং সম্পর্কিত বিভ্রান্তিকরণের জন্য । আপনার স্কোরগুলি আবার পরীক্ষা করুন এবং সেগুলি সম্ভবত আরও ছোট হবে (আশা করি বড় নয়!)
স্কোর গণনা করতে এখানে আপনার কোডে আটকান। আপনি যদি কখনও ত্রুটি পান বা এটি ভুল নম্বর প্রিন্ট করে তবে আমাকে জানান।
var keys = ["~1234567890-=←","\tqwertyuiop[]\\","↑asdfghjkl;\'\n","Lzxcvbnm,./R",
"AB CDEF"];
var con =["`!@#$%^&*()_+{}|:\"<>?","~1234567890-=[]\\;\',./"];
function hexagon(k) {
if(k === " ") return ["x","c","v","b","n","m",","];
var p = pos(k);
if(p === -1) return false;
var row = p[0],col = p[1];
var hexagon = [char(row,col-1,1),char(row-1,col),char(row-1,col+1),char(row,col+1,1),char(row+1,col),char(row+1,col-1)];
return hexagon;
}
function char(r,c,wrap) {
if(r < 0 || r >= keys.length) return "";
if(r === keys.length-1 && 1 < c && c < 8) return " ";
if(wrap) {
if(c === -1) c = keys[r].length-1;
if(c === keys[r].length) c = 0;
}
return keys[r].charAt(c);
}
function pos(c) {
var row = -1, col = -1;
for(var i = 0;i<keys.length;i++) {
col = keys[i].indexOf(c)
if( col != -1) { row = i; break;}
}
if(row === -1) return -1;
return [row,col];
}
function dist(a,b,s,w) {
if(typeof a === "object") {
var list = [];
for(var i = 0;i<a.length;i++) {
list[i] = dist(a[i],b,s,w);
}
return list;
}
if(a==="") return Infinity;
if(a===b) return 0;
var p = pos(a);
var q = pos(b);
if(!w && a!==" ") {
var chars = keys[p[0]].length;
var opp = char(p[0],p[1] < chars/2 ? chars-1 : 0);
return Math.min(dist(a,b,s,true),dist(a,opp,s,true)+dist(opp,b,s,true));
}
if(!s) { return Math.min(dist(a,b,true,w),dist(a," ",true,w)+dist(" ",b,true,w));}
var h = hexagon(a);
if(a === " ") return 1 + Math.min(...dist(h,b,true,w));
if(p[0]<q[0]) {
return 1 + Math.min(dist(h[4],b,s,w),dist(h[5],b,s,w));
}
else if(p[0] > q[0]) {
return 1 + Math.min(dist(h[1],b,s,w),dist(h[2],b,s,w));
}
if(b===" ") return Math.min(Math.abs(p[1]-7),Math.abs(2 - p[1]));
var d = Math.abs(p[1]-q[1]);
return Math.min(d,keys[p[0]].length-d);
}
function getTotalDistance(str) {
for(var i = 0;i<con[0].length;i++)
str = str.replace(new RegExp("\\"+con[0].charAt(i),"g"),con[1].charAt(i));
str = str.toLowerCase();
var total = 0;
for(var i = 0;i<str.length-1;i++) {
total += dist(str[i],str[i+1]);
}
return total;
}
enter.onclick = function() {
var a = getTotalDistance(program.value);
var b = program.value.length;
len.textContent = a;
count.textContent = b;
total.textContent = a+b;
};
<textarea rows=15 cols=40 id="program"></textarea>
<input type="submit" id="enter"/>
<div>
<div>Key distance: <span id="len"></span></div>
<div>Byte count: <span id="count"></span></div>
<div>Total: <span id="total"></span></div>
</div>
সম্পর্কিত:
===
যদি না চান যে কোনও কারণের জন্য আপনি জেএস চুপচাপভাবে আপনার ধরণের চাপ দিতে এবং পারফরম্যান্স স্তন্যপান করতে চান।