রক, পেপার, কাঁচি, টিকটিকি, স্পক [বন্ধ]


16

ইনপুট হিসাবে দুটি স্ট্রিং নেবে এবং ফলাফলের জন্য একটি একক আউটপুট ফেরত দেবে এমন একটি ফাংশন তৈরি করুন। সর্বাধিক জনপ্রিয় উত্তর জয়।

রক-পেপার-কাঁচি-টিকটিকি-স্পকের বিধিগুলি হ'ল:

  • কাঁচি কাটা কাগজ
  • কাগজ শিলা কভার
  • রক টিকটিকি টুকরো টুকরো করে
  • টিকটিকি বিষ স্পোক
  • স্পোক কাঁচি ধাক্কা
  • কাঁচি টিকটিক করে টিকটিকি
  • টিকটিকি খায় কাগজ
  • কাগজ স্পোককে অস্বীকার করে
  • স্পোক শিলাটি বাষ্পীভবন করে
  • কাঁচি ভেঙে দেয় রক

প্রতিটি সম্ভাব্য ইনপুট ক্ষেত্রে আউটপুট হয়:

winner('Scissors', 'Paper') -> 'Scissors cut Paper'
winner('Scissors', 'Rock') -> 'Rock breaks Scissors'
winner('Scissors', 'Spock') -> 'Spock smashes Scissors'
winner('Scissors', 'Lizard') -> 'Scissors decapitate Lizard'
winner('Scissors', 'Scissors') -> 'Scissors tie Scissors'
winner('Paper', 'Rock') -> 'Paper covers Rock'
winner('Paper', 'Spock') -> 'Paper disproves Spock'
winner('Paper', 'Lizard') -> 'Lizard eats Paper'
winner('Paper', 'Scissors') -> 'Scissors cut Paper'
winner('Paper', 'Paper') -> 'Paper ties Paper'
winner('Rock', 'Spock') -> 'Spock vaporizes Rock'
winner('Rock', 'Lizard') -> 'Rock crushes Lizard'
winner('Rock', 'Scissors') -> 'Rock breaks Scissors'
winner('Rock', 'Paper') -> 'Paper covers Rock'
winner('Rock', 'Rock') -> 'Rock ties Rock'
winner('Lizard', 'Rock') -> 'Rock crushes Lizard'
winner('Lizard', 'Spock') -> 'Lizard poisons Spock'
winner('Lizard', 'Scissors') -> 'Scissors decapitate Lizard'
winner('Lizard', 'Paper') -> 'Lizard eats Paper'
winner('Lizard', 'Lizard') -> 'Lizard ties Lizard'
winner('Spock', 'Rock') -> 'Spock vaporizes Rock'
winner('Spock', 'Lizard') -> 'Lizard poisons Spock'
winner('Spock', 'Scissors') -> 'Spock smashes Scissors'
winner('Spock', 'Paper') -> 'Paper disproves Spock'
winner('Spock', 'Spock') -> 'Spock ties Spock'

@ শিয়ান চ্যাশায়ার দ্বারা প্রস্তাবিত অতিরিক্ত চ্যালেঞ্জ: কাস্টম তালিকাগুলি যেমন এই সাইট থেকে দেওয়া মঞ্জুরি দিন। এন-আইটেমের তালিকার সাথে আইটেমটি পূর্ববর্তী (n-1) / 2 এর কাছে হেরে যায় এবং নীচের (এন -1) / 2 এর উপর জয়ী হয়


7
একটি 25-উপাদান অনুসন্ধান সারণী তৈরি করা একটি চ্যালেঞ্জ নয়, এবং জনপ্রিয় হওয়া কোনও কোড-চ্যালেঞ্জ নয়
পিটার টেলর

6
এবং যখন আমি বলি যে জনপ্রিয় হওয়া কোনও কোড-চ্যালেঞ্জ নয় : সেই ট্যাগটির ব্যাখ্যা শুরু হয় কোড চ্যালেঞ্জ কোড আকার ছাড়াই অন্য কোনও উদ্দেশ্যগত মানদণ্ডের জন্য প্রোগ্রামিং ধাঁধা সমাধান করার সৃজনশীল উপায়গুলির জন্য একটি প্রতিযোগিতা। "সর্বাধিক জনপ্রিয় উত্তর জয়" কোনও উদ্দেশ্যমূলক মানদণ্ড নয়: আপনি কাউকে দুটি উত্তরের পাঠ্য দিতে এবং কোনটি সবচেয়ে জনপ্রিয় তা জিজ্ঞাসা করতে পারেন নি।
পিটার টেলর

1
@PeterTaylor, dansalmo অধিকার, তাই যতদিন যে লুকআপ টেবিল একটি লুপ রয়েছে: এই Conway একটি বিখ্যাত উপপাদ্য হল: en.wikipedia.org/wiki/FRACTRAN
boothby

1
@ ডানসালমো আপনার সাথে যে চ্যালেঞ্জটি লিঙ্ক করেছেন সেটি জনপ্রিয়তা-প্রতিযোগিতা ট্যাগটির অস্তিত্বের আগে তৈরি হয়েছিল ।
primo

1
চ্যালেঞ্জটিতে যুক্ত করার জন্য একটি পরামর্শ - 101 টি আইটেমের উপরে আসা এই সাইটটির মতো কাস্টম তালিকাগুলির মঞ্জুরি দিন । এন-আইটেমের তালিকার সাথে আইটেমটি আগের (এন -1) / 2 এর কাছে হেরে যায় এবং (এন -1) / 2
ফোলিংয়ের

উত্তর:


13

APL

vs←{
    n←'Scissors' 'Paper' 'Rock' 'Lizard' 'Spock'
    x←n⍳⊂⍺ ⋄ y←n⍳⊂⍵ ⋄ X←⍺ ⋄ Y←⍵ ⋄ r←{X,⍵,⊂Y}
    x=y:     r (-x=0)↓'ties'
    y=5|1+x: r x⌷'cut' 'covers' 'crushes' 'poisons' 'smashes'
    y=5|3+x: r x⌷'decapitate' 'disproves' 'breaks' 'eats' 'vaporizes'
    ⍵∇⍺
}

টাই / টাই সহ সমস্ত ক্ষেত্রে ঠিক যেমন প্রয়োজন তেমন আউটপুট। প্রকৃত শব্দ ব্যতীত কোনও অনুসন্ধান সারণী নেই।

আপনি এটি http://ngn.github.io/apl/web/ এ চেষ্টা করতে পারেন

'Spock' vs 'Paper'
Paper  disproves  Spock

এপিএল শুধু জানে!


+1, এখনও অবধি এপিএল লক্ষ্য করেনি। Mesmerizing। আপনার কাঠামোটিও দুর্দান্ত। আমি সর্বশেষ লাইনটি পছন্দ করি।
dansalmo

@ ডানসালমো ধন্যবাদ :) আমি এটি অনেক পছন্দ করি। এবং এখন github.com/ngn/apl ধন্যবাদ আমাদের একটি ওপেন সোর্স এবং ওয়েব-রেডি ইন্টারপ্রেটার (কয়েক দশক ধরে সেখানে কেবল বাণিজ্যিক দোভাষী ছিল)
টোবিয়া

@ ডানসালমো বিটিডব্লিউ, এপিএল আপনি পাইথনে যে ধরণের কার্যকরী কোডিং করছেন বলে মনে হচ্ছে তার জন্য উপযুক্ত (যা আমিও করতে চাই)
টোবিয়া

10

SED

#!/bin/sed
#expects input as 2 words, eg: scissors paper

s/^.*$/\L&/
s/$/;scissors cut paper covers rock crushes lizard poisons spock smashes scissors decapitates lizard eats paper disproves spock vaporizes rock breaks scissors/
t a
:a
s/^\(\w\+\)\s\+\(\w\+\);.*\1 \(\w\+\) \2.*$/\u\1 \3 \u\2/
s/^\(\w\+\)\s\+\(\w\+\);.*\2 \(\w\+\) \1.*$/\u\2 \3 \u\1/
t b
s/^\(\w\+\)\s\+\1;\(\1\?\(s\?\)\).*$/\u\1 tie\3 \u\1/
:b

1
এটি ... ডায়াবোলিকাল।
ওয়েন কনরাড

4

এখানে যে কোনও আকারের রুল স্ট্রিংয়ের উপর ভিত্তি করে একটি সাধারণ সমাধান রয়েছে। এটি যথাযথ নাম "স্পোক" এর জন্য সঠিক মূলধন সম্পাদন করে এবং বহুবস্তুর জন্য 'টাই' পরিবর্তে 'টাই' নির্দিষ্ট করার নিয়মকেও মঞ্জুরি দেয়।

def winner(p1, p2):
    rules = ('scissors cut paper covers rock crushes lizard poisons Spock'
    ' smashes scissors decapitate lizard eats paper disproves Spock vaporizes'
    ' rock breaks scissors tie scissors'.split())

    idxs = sorted(set(i for i, x in enumerate(rules) 
                      if x.lower() in (p1.lower(), p2.lower())))
    idx = [i for i, j in zip(idxs, idxs[1:]) if j-i == 2]
    s=' '.join(rules[idx[0]:idx[0]+3] if idx 
          else (rules[idxs[0]], 'ties', rules[idxs[0]]))
    return s[0].upper()+s[1:]

ফলাফল:

>>> winner('spock', 'paper')
'Paper disproves Spock'
>>> winner('spock', 'lizard')
'Lizard poisons Spock'
>>> winner('Paper', 'lizard')
'Lizard eats paper'
>>> winner('Paper', 'Paper')
'Paper ties paper'
>>> winner('scissors',  'scissors')
'Scissors tie scissors'    

সংজ্ঞায়িত করার সময় rulesআপনি আক্ষরিক মনোযোগের পরিবর্তে একাধিক স্ট্রিং ব্যবহার করতে পারেন। এটি আপনাকে অপ্রয়োজনীয় প্রথম বন্ধনী অপসারণ করতে দেয়।
বাকুরিউ

3

পাইথন

class Participant (object):
    def __str__(self): return str(type(self)).split(".")[-1].split("'")[0]
    def is_a(self, cls): return (type(self) is cls)
    def do(self, method, victim): return "%s %ss %s" % (self, method, victim)

class Rock (Participant):
        def fight(self, opponent):
                return (self.do("break", opponent)  if opponent.is_a(Scissors) else
                        self.do("crushe", opponent) if opponent.is_a(Lizard)   else
                        None)

class Paper (Participant):
        def fight(self, opponent):
                return (self.do("cover", opponent)    if opponent.is_a(Rock)  else
                        self.do("disprove", opponent) if opponent.is_a(Spock) else
                        None)

class Scissors (Participant):
        def fight(self, opponent):
                return (self.do("cut", opponent)       if opponent.is_a(Paper)  else
                        self.do("decaitate", opponent) if opponent.is_a(Lizard) else
                        None)

class Lizard (Participant):
        def fight(self, opponent):
                return (self.do("poison", opponent) if opponent.is_a(Spock) else
                        self.do("eat", opponent)    if opponent.is_a(Paper) else
                        None)

class Spock (Participant):
        def fight(self, opponent):
                return (self.do("vaporize", opponent) if opponent.is_a(Rock)     else
                        self.do("smashe", opponent)    if opponent.is_a(Scissors) else
                        None)

def winner(a, b):
    a,b = ( eval(x+"()") for x in (a,b))
    return a.fight(b) or b.fight(a) or a.do("tie", b)

কাঁচিগুলি বহুবচন, সুতরাং "কাটা এস " কাগজ এবং "ডিকিয়েট এস " টিকটিকি "ভুল (শেষটি একটি পি কেও মিস করে)। এবং" স্পোক স্ম্যাশস "" স্ম্যাশ "হওয়া উচিত;)
ড্যানিরো

@ দানিরো, ধন্যবাদ আমি কাঁচির সমস্যা লক্ষ্য করেছি, তবে এটি ঠিক করা জিনিসগুলিকে জটিল করে তোলে। এখনই "চূর্ণবিচূর্ণ" ঠিক করা।
ugoren

@ ড্যানিয়েল "কাঁচি" বহুবচন। "কাঁচি" এছাড়াও একবচন। দেখুন en.wiktionary.org/wiki/scissors
DavidC

এত সূক্ষ্ম। এটা ভাল।
কাওড

2

পাইথন

def winner(p1, p2):
    actors = ['Paper', 'Scissors', 'Spock', 'Lizard', 'Rock']
    verbs = {'RoLi':'crushes', 'RoSc':'breaks', 'LiSp':'poisons',
             'LiPa':'eats', 'SpSc':'smashes', 'SpRo':'vaporizes', 
             'ScPa':'cut', 'ScLi':'decapitate', 'PaRo':'covers', 
             'PaSp':'disproves', 'ScSc':'tie'}
    p1, p2 = actors.index(p1), actors.index(p2)
    winner, loser = ((p1, p2), (p2, p1))[(1,0,1,0,1)[p1 - p2]]
    return ' '.join([actors[winner],
                     verbs.get(actors[winner][0:2] + actors[loser][0:2],
                               'ties'),
                     actors[loser]])

1
যাইহোক, "আলগা" "শক্ত" এর বিপরীত। "হারানো" "বিজয়ী" এর বিপরীত। এবং এটি আপনাকে আপনার কোডে কয়েকটি অক্ষর সংরক্ষণ করবে।
জো

2

রুবি, পাটিগণিত পদ্ধতির

অভিনেতাদের এমনভাবে সাজানো যেতে পারে যে প্রতিটি অভিনেতা a[i]অভিনেতাদের বিরুদ্ধে জিততে পারে a[i+1]এবং a[i+2]উদাহরণস্বরূপ, মডেল 5,

%w(Scissors Lizard Paper Spock Rock)

তারপরে, Aসূচকের সাথে একজন অভিনেতার জন্য iআমরা দেখতে পাচ্ছি যে কীভাবে তিনি কাজ করে Bসূচকের সাথে আবার অভিনেতার সাথে মিলিত হন : ফলাফল এবং এর অর্থ এই যে অভিনেতা এ তার সামনে যথাক্রমে 1 বা 2 জায়গা কোনও অভিনেতার বিরুদ্ধে জিতেছে; এবং একইভাবে তিনি অ্যারে তার পিছনে একজন অভিনেতার বিরুদ্ধে হারিয়েছেন মানে। একটি টাই মানে। (দ্রষ্টব্য যে এটি ভাষা নির্ভর হতে পারে; রুবিতেও যখন ।jresult = (j-i)%512340(j-i)%5 == (5+j-i)%5j>i

আমার কোডের সবচেয়ে আকর্ষণীয় অংশটি হ'ল দুটি অভিনেতার সূচকগুলির বাছাইয়ের ফাংশন সন্ধান করার জন্য এই সম্পত্তিটি ব্যবহার। রিটার্নের মানটি -1, 0 বা 1 এর মতো হবে :

winner,loser = [i,j].sort { |x,y| ((y-x)%5+1)/2-1 }

পুরো জিনিসটি এখানে:

def battle p1,p2
    who = %w(Scissors Lizard Paper Spock Rock)
    how = %w(cut decapitate poisons eats covers disproves smashes vaporizes crushes breaks)
    i,j = [p1,p2].map { |s| who.find_index s }

    winner,loser = [i,j].sort { |x,y| ((y-x)%5+1)/2-1 }

    method = (winner-loser)%5/2
    what = method == 0 && "ties" || how[winner*2 + method-1]

    return "#{who[winner]} #{what} #{who[loser]}"
end

2

পাইথন


  def winner(p,q):
        if p==q:
           return(' '.join([p,'tie',q]))
        d = {'ca':'cut','ao':'covers','oi':'crushes','ip':'poisons','pc': 'smashes','ci':'decapitate','ia':'eats', 'ap':'disproves', 'po':'vaporizes','oc': 'breaks'}
        [a,b] = [p[1],q[1]]
        try:
           return(' '.join([p,d[a+b],q]))
        except KeyError:
           return(' '.join([q,d[b+a],p]))

একটি জটিল অভিধান ব্যবহার করে।


সুন্দর. return(' '.join([p,'tie' + 's'*(p[1]!='c'),q]))ক্রিয়া কাল সঠিক হবে।
ডানসালমো

2

সি শার্প

অনুমিতি

প্রতিপক্ষরা একটি এন-আইটে অ্যারেতে সাজানো হয় যেখানে খেলোয়াড়রা তাদের (এন -1) / 2 খেলোয়াড়দের আগে পরাজিত করে এবং তাদের পিছনে (এন -1) / 2 প্লেয়ারের কাছে হেরে যায়। (এমনকি দৈর্ঘ্যের তালিকাগুলি সহ, প্লেয়ার তাদের ((এন -১) / ২ + 1) প্লেয়ারদের কাছে হেরে যায়)

প্লেয়ার ক্রিয়াগুলি একটি অ্যারেতে সাজানো হয় যেখানে [(indexOfPlayer * (n-1) / 2)] থেকে [(indexOfPlayer * (n-1) / 2)) + (n-2) / 2 - 1 এর মধ্যে সীমাবদ্ধ থাকে ]।

অতিরিক্ত তথ্য

CircularBuffer<T>একটি "অসীম" ঠিকানাযোগ্য অ্যারে তৈরি করতে অ্যারের চারপাশে একটি মোড়ক। IndexOfফাংশন অ্যারের প্রকৃত সীমার মধ্যে একটি আইটেম সূচক ফেরৎ।

শ্রেণী

public class RockPaperScissors<T> where T : IComparable
{
    private CircularBuffer<T> players;
    private CircularBuffer<T> actions;

    private RockPaperScissors() { }

    public RockPaperScissors(T[] opponents, T[] actions)
    {
        this.players = new CircularBuffer<T>(opponents);
        this.actions = new CircularBuffer<T>(actions);
    }

    public string Battle(T a, T b)
    {
        int indexA = players.IndexOf(a);
        int indexB = players.IndexOf(b);

        if (indexA == -1 || indexB == -1)
        {
            return "A dark rift opens in the side of the arena.\n" +
                   "Out of it begins to crawl a creature of such unimaginable\n" +
                   "horror, that the spectators very minds are rendered\n" +
                   "but a mass of gibbering, grey jelly. The horrific creature\n" +
                   "wins the match by virtue of rendering all possible opponents\n" +
                   "completely incapable of conscious thought.";
        }

        int range = (players.Length - 1) / 2;

        if (indexA == indexB)
        {
            return "'Tis a tie!";
        }
        else
        {
            indexB = indexB < indexA ? indexB + players.Length : indexB;
            if (indexA + range < indexB)
            {
                // A Lost
                indexB = indexB >= players.Length ? indexB - players.Length : indexB;
                int actionIndex = indexB * range + (indexA > indexB ? indexA - indexB : (indexA + players.Length) - indexB) - 1;

                return players[indexB] + " " + actions[actionIndex] + " " + players[indexA];
            }
            else
            {
                // A Won
                int actionIndex = indexA * range + (indexB - indexA) - 1;

                return players[indexA] + " " + actions[actionIndex] + " " + players[indexB];
            }
        }
    }
}

উদাহরণ

string[] players = new string[] { "Scissors", "Lizard", "Paper", "Spock", "Rock" };
string[] actions = new string[] { "decapitates", "cuts", "eats", "poisons", "disproves", "covers", "vaporizes", "smashes", "breaks", "crushes" };

RockPaperScissors<string> rps = new RockPaperScissors<string>(players, actions);

foreach (string player1 in players)
{
    foreach (string player2 in players)
    {
        Console.WriteLine(rps.Battle(player1, player2));
    }
}
Console.ReadKey(true);

1

পাইথন, ওয়ান-লাইনার

winner=lambda a,b:(
    [a+" ties "+b]+
    [x for x in 
        "Scissors cut Paper,Paper covers Rock,Rock crushes Lizard,Lizard poisons Spock,Spock smashes Scissors,Scissors decapitate Lizard,Lizard eats Paper,Paper disproves Spock,Spock vaporizes Rock,Rock break Scissors"
        .split(',') 
     if a in x and b in x])[a!=b]

খুব ঠান্ডা! আপনাকে .split(', ')একসাথে জ্যাম করতে হবে না, করতে হবে।
ডানসালমো

@ ডানসালমো, ধন্যবাদ, তবে আমি জ্যামমিংআরুলসটোয়রে কোনও ক্ষতি দেখছি না। যদিও এটি কোনও গল্ফিং প্রতিযোগিতা নয় তবে আমি মনে করি সংক্ষিপ্ততরটি আরও ভাল।
ugoren

1

আমি কেবল একটি ছোট জিনিস নিয়ে এসেছি:

echo "winners('Paper', 'Rock')"|sed -r ":a;s/[^ ]*'([[:alpha:]]+)'./\1/;ta;h;s/([[:alpha:]]+) ([[:alpha:]]+)/\2 \1/;G"|awk '{while(getline line<"rules"){split(line,a," ");if(match(a[1],$1)&&match(a[3],$2))print line};close("rules")}' IGNORECASE=1

এখানে, বিধিগুলি হ'ল সমস্ত বিধি যে ফাইল দেওয়া হয়েছিল সেগুলি ফাইল।


0

পাইথন

@ টোবিয়ার এপিএল কোড থেকে অনুপ্রাণিত।

def winner(p1, p2):
  x,y = map(lambda s:'  scparolisp'.find(s.lower())/2, (p1[:2], p2[:2]))
  v = (' cut covers crushes poisons smashes'.split(' ')[x*(y in (x+1, x-4))] or
       ' decapitate disproves breaks eats vaporizes'.split(' ')[x*(y in (x+3, x-2))])
  return ' '.join((p1.capitalize(), v or 'tie'+'s'*(x!=1), p2)) if v or p1==p2 \
    else winner(p2, p1)

ফলাফল:

>>> winner('Spock', 'paper')
'Paper disproves Spock'
>>> winner('Spock', 'lizard')
'Lizard poisons Spock'
>>> winner('paper', 'lizard')
'Lizard eats paper'
>>> winner('paper', 'paper')
'Paper ties paper'
>>> winner('scissors',  'scissors')
'Scissors tie scissors'    

0

সি ++

#include <stdio.h>
#include <string>
#include <map>
using namespace std ;
map<string,int> type = { {"Scissors",0},{"Paper",1},{"Rock",2},{"Lizard",3},{"Spock",4} };
map<pair<int,int>, string> joiner = {
  {{0,1}, " cuts "},{{0,3}, " decapitates "}, {{1,2}, " covers "},{{1,4}, " disproves "},
  {{2,3}, " crushes "},{{2,0}, " crushes "},  {{3,4}, " poisons "},{{3,1}, " eats "},
  {{4,0}, " smashes "},{{4,2}, " vaporizes "},
} ;
// return 0 if first loses, return 1 if 2nd wins
int winner( pair<int,int> p ) {
  return (p.first+1)%5!=p.second && (p.first+3)%5!=p.second ;
}
string winner( string sa, string sb ) {
  pair<int,int> pa = {type[sa],type[sb]};
  int w = winner( pa ) ;
  if( w )  swap(pa.first,pa.second), swap(sa,sb) ;
  return sa+(pa.first==pa.second?" Ties ":joiner[pa])+sb ;
}

একটি পরীক্ষা একটি বিট

int main(int argc, const char * argv[])
{
  for( pair<const string&, int> a : type )
    for( pair<const string&, int> b : type )
      puts( winner( a.first, b.first ).c_str() ) ;
}

0

জাভাস্ক্রিপ্ট

function winner(c1,c2){
    var c = ["Scissors", "Paper", "Rock", "Lizard", "Spock"];
    var method={
        1:["cut", "covers", "crushes", "poisons", "smashes"],
        2:["decapitate", "disproves", "breaks", "eats", "vaporizes"]};
    //Initial hypothesis: first argument wins
    var win = [c.indexOf(c1),c.indexOf(c2)];
    //Check for equality
    var diff = win[0] - win[1];
    if(diff === 0){
        return c1 + ((win[0]===0)?" tie ":" ties ") + c2;
    }
    //If s is -1 we'll swap the order of win[] array
    var s = (diff>0)?1:-1;
    diff = Math.abs(diff);
    if(diff >2){
        diff = 5-diff;
        s= s * -1;
    }
    s=(diff==1)?s*-1:s;
    if(s === -1){
        win = [win[1],win[0]];
    }
    return c[win[0]] + " " + method[diff][win[0]] + " " + c[win[1]];
}

0

জাভাস্ক্রিপ্ট

আমি দেখতে পাচ্ছি যে এটি কোনও গল্ফিং প্রতিযোগিতা নয়, তবে এই থ্রেডটি সন্ধান করার আগে আমি কিছুক্ষণ এই ধাঁধাটি নিয়ে ঝাঁপিয়ে পড়েছিলাম, সুতরাং এখানে।

এখানে 278 টি অক্ষরে একটি (স্ট্যান্ডার্ড) জেএস সংস্করণ রয়েছে:

function winner(a,b){var c={rock:0,paper:1,scissors:2,spock:3,lizard:4},d="crushe,crushe,cover,disprove,cut,decapitate,smashe,vaporize,poison,eat".split(","),i=c[a],j=c[b],I=i==(j+3)%5;return i^j?i==(j+1)%5||I?a+" "+d[i*2+I]+"s "+b:b+" "+d[j*2+(j==(i+3)%5)]+"s "+a:a+" ties "+b}

অথবা 259 টি অক্ষরে E6 বৈশিষ্ট্য (সম্ভবত ফায়ারফক্সে কাজ করে) ব্যবহার করে:

winner=(a,b,c={rock:0,paper:1,scissors:2,spock:3,lizard:4},d="crushe,crushe,cover,disprove,cut,decapitate,smashe,vaporize,poison,eat".split(","),i=c[a],j=c[b],I=i==(j+3)%5)=>i^j?i==(j+1)%5||I?a+" "+d[i*2+I]+"s "+b:b+" "+d[j*2+(j==(i+3)%5)]+"s "+a:a+" ties "+b
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.