tasks a-s
This commit is contained in:
parent
47bf37c096
commit
b83f433714
12433 changed files with 156208 additions and 123 deletions
|
|
@ -0,0 +1,140 @@
|
|||
while(isobject(RockPaperScissors))
|
||||
RockPaperScissors.delete();
|
||||
|
||||
new scriptObject(RockPaperScissors);
|
||||
|
||||
function RockPaperScissors::startGame(%this)
|
||||
{
|
||||
%this.idle = true;
|
||||
echo("Starting rock paper scissors, please type choose(\"choice\"); to proceed!");
|
||||
}
|
||||
|
||||
function RockPaperScissors::endGame(%this)
|
||||
{
|
||||
%this.idle = true;
|
||||
}
|
||||
|
||||
function RockPaperScissors::main(%this)
|
||||
{
|
||||
%this.idle = 0;
|
||||
|
||||
if(getRandom(1,2) == 1)
|
||||
{
|
||||
%result = %this.getChoiceByUserFrequency();
|
||||
}
|
||||
else
|
||||
{
|
||||
%c[0] = "rock";
|
||||
%c[1] = "paper";
|
||||
%c[2] = "scissors";
|
||||
|
||||
%result = %c[getRandom(0,2)];
|
||||
}
|
||||
|
||||
%userChoice = %this.current;
|
||||
|
||||
%winner = thisVSthat(%userChoice,%result);
|
||||
|
||||
if(%winner == 0)
|
||||
{
|
||||
echo("You both chose "@%userChoice@", tie!");
|
||||
}
|
||||
else
|
||||
if(%winner == 1)
|
||||
{
|
||||
echo("You chose "@%userChoice@" computer chose "@%result@", you win!");
|
||||
}
|
||||
else
|
||||
if(%winner == 2)
|
||||
{
|
||||
echo("You chose "@%userChoice@" computer chose "@%result@", you lose!");
|
||||
}
|
||||
|
||||
%this.idle = true;
|
||||
}
|
||||
|
||||
function RockPaperScissors::getChoiceByUserFrequency(%this)
|
||||
{
|
||||
%weakness["rock"] = "paper";
|
||||
%weakness["paper"] = "Scissors";
|
||||
%weakness["scissors"] = "rock";
|
||||
|
||||
%a[0] = %this.choice["rock"];
|
||||
%a[1] = %this.choice["paper"];
|
||||
%a[2] = %this.choice["Scissors"];
|
||||
|
||||
%b[0] = "rock";
|
||||
%b[1] = "paper";
|
||||
%b[2] = "scissors";
|
||||
|
||||
for(%i=0;%i<3;%i++)
|
||||
{
|
||||
%curr = %a[%i];
|
||||
|
||||
if(%temp $= "")
|
||||
{
|
||||
%temp = %curr;
|
||||
%tempi = %i;
|
||||
}
|
||||
else
|
||||
if(%curr > %temp)
|
||||
{
|
||||
%temp = %curr;
|
||||
%tempi = %i;
|
||||
}
|
||||
}
|
||||
|
||||
return %weakness[%b[%tempi]];
|
||||
}
|
||||
|
||||
function choose(%this)
|
||||
{
|
||||
%rps = rockPaperScissors;
|
||||
|
||||
if(!%rps.idle)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
if(%this !$= "rock" && %this !$= "paper" && %this !$= "scissors")
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
%rps.choice[%this]++;
|
||||
%rps.current = %this;
|
||||
%rps.main();
|
||||
|
||||
return %this;
|
||||
}
|
||||
|
||||
function thisVSthat(%this,%that)
|
||||
{
|
||||
if(%this !$= "rock" && %this !$= "paper" && %this !$= "scissors")
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
if(%that !$= "rock" && %that !$= "paper" && %that !$= "scissors")
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
%weakness["rock"] = "paper";
|
||||
%weakness["paper"] = "Scissors";
|
||||
%weakness["scissors"] = "rock";
|
||||
|
||||
if(%weakness[%this] $= %that)
|
||||
{
|
||||
%result = 2;
|
||||
}
|
||||
else
|
||||
if(%weakness[%that] $= %this)
|
||||
{
|
||||
%result = 1;
|
||||
}
|
||||
else
|
||||
%result = 0;
|
||||
|
||||
return %result;
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
RockPaperScissors.startGame();
|
||||
|
|
@ -0,0 +1 @@
|
|||
choose("Rock");
|
||||
Loading…
Add table
Add a link
Reference in a new issue