Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
2
Task/Magic-8-ball/00-META.yaml
Normal file
2
Task/Magic-8-ball/00-META.yaml
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
---
|
||||
from: http://rosettacode.org/wiki/Magic_8-ball
|
||||
10
Task/Magic-8-ball/00-TASK.txt
Normal file
10
Task/Magic-8-ball/00-TASK.txt
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
;Task:
|
||||
Create Magic 8-Ball.
|
||||
|
||||
|
||||
See details at: [https://en.wikipedia.org/wiki/Magic_8-Ball Magic 8-Ball].
|
||||
|
||||
|
||||
{{Template:strings}}
|
||||
<br><br>
|
||||
|
||||
21
Task/Magic-8-ball/11l/magic-8-ball.11l
Normal file
21
Task/Magic-8-ball/11l/magic-8-ball.11l
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
V s = [‘It is certain’, ‘It is decidedly so’, ‘Without a doubt’, ‘Yes, definitely’,
|
||||
‘You may rely on it’, ‘As I see it, yes’, ‘Most likely’, ‘Outlook good’,
|
||||
‘Signs point to yes’, ‘Yes’, ‘Reply hazy, try again’, ‘Ask again later’,
|
||||
‘Better not tell you now’, ‘Cannot predict now’, ‘Concentrate and ask again’,
|
||||
‘Don't bet on it’, ‘My reply is no’, ‘My sources say no’, ‘Outlook not so good’,
|
||||
‘Very doubtful’]
|
||||
|
||||
Set[String] qs
|
||||
|
||||
L
|
||||
V question = input(‘Ask your question:’)
|
||||
I question.empty
|
||||
L.break
|
||||
|
||||
V answer = random:choice(s)
|
||||
|
||||
I question C qs
|
||||
print(‘Your question has already been answered’)
|
||||
E
|
||||
qs.add(question)
|
||||
print(answer)
|
||||
83
Task/Magic-8-ball/8080-Assembly/magic-8-ball.8080
Normal file
83
Task/Magic-8-ball/8080-Assembly/magic-8-ball.8080
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
bdos: equ 5 ; CP/M calls
|
||||
puts: equ 9
|
||||
gets: equ 10
|
||||
org 100h
|
||||
lxi d,message ; Print message
|
||||
mvi c,puts
|
||||
call bdos
|
||||
question: lxi d,prompt ; Ask for question
|
||||
mvi c,puts
|
||||
call bdos
|
||||
lxi d,bufdef ; Read answer
|
||||
mvi c,gets
|
||||
call bdos
|
||||
lxi d,newline ; Print newline
|
||||
mvi c,puts
|
||||
call bdos
|
||||
lxi h,buf ; XOR the question w/ the RNG state
|
||||
mvi b,20
|
||||
xorouter: lxi d,xabcdat + 1
|
||||
mvi c,3
|
||||
xorinner: ldax d
|
||||
xra m
|
||||
stax d
|
||||
inx d
|
||||
inx h
|
||||
dcr c
|
||||
jnz xorinner
|
||||
dcr b
|
||||
jnz xorouter
|
||||
getrnd: call xabcrand ; Generate random number <20
|
||||
ani 1fh
|
||||
cpi 20
|
||||
jnc getrnd
|
||||
inr a
|
||||
mov b,a ; That is the number of the message
|
||||
lxi h,responses ; Skip that many strings
|
||||
mvi a,'$'
|
||||
skipstring: cmp m
|
||||
inx h
|
||||
jnz skipstring
|
||||
dcr b
|
||||
jnz skipstring
|
||||
xchg ; Print the chosen string
|
||||
mvi c,puts
|
||||
call bdos
|
||||
jmp question ; Get another question
|
||||
;; RNG to make it a little less predictable
|
||||
xabcrand: lxi h,xabcdat
|
||||
inr m ; X++
|
||||
mov a,m ; X,
|
||||
inx h ;
|
||||
xra m ; ^ C,
|
||||
inx h ;
|
||||
xra m ; ^ A,
|
||||
mov m,a ; -> A
|
||||
inx h
|
||||
add m ; + B,
|
||||
mov m,a ; -> B
|
||||
rar ; >>1
|
||||
dcx h
|
||||
xra m ; ^ A,
|
||||
dcx h
|
||||
add m ; + C
|
||||
mov m,a ; -> C
|
||||
ret
|
||||
;; Strings
|
||||
message: db 'Magic 8 Ball$'
|
||||
newline: db 13,10,'$'
|
||||
prompt: db 13,10,13,10,'What is your question? '
|
||||
;; The possible responses
|
||||
responses: db '$It is certain$It is decidedly so$Without a doubt$'
|
||||
db 'Yes, definitely$You may rely on it$As I see it, yes$'
|
||||
db 'Most likely$Outlook good$Signs point to yes$Yes$'
|
||||
db 'Reply hazy, try again$Ask again later$'
|
||||
db 'Better not tell you now$Cannot predict now$'
|
||||
db 'Concentrate and ask again$Don',39,'t bet on it$'
|
||||
db 'My reply is no$My sources say no$Outlook not so good$'
|
||||
db 'Very doubtful$'
|
||||
;; Variables
|
||||
bufdef: db 60,0 ; 60 = 20*3
|
||||
buf: equ $ ; question will be XOR'ed with the RNG state
|
||||
xabcdat: equ buf + 60 ; Point RNG data into uninitialized memory,
|
||||
; to make it more exciting.
|
||||
78
Task/Magic-8-ball/8086-Assembly/magic-8-ball.8086
Normal file
78
Task/Magic-8-ball/8086-Assembly/magic-8-ball.8086
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
.model small
|
||||
.stack 1024
|
||||
|
||||
.data
|
||||
UserRam BYTE 256 DUP(0)
|
||||
xorshift32_state_lo equ UserRam
|
||||
xorshift32_state_hi equ UserRam+2
|
||||
|
||||
Ans0 byte "It is certain.",0
|
||||
Ans1 byte "It is decidedly so.",0
|
||||
Ans2 byte "Signs point to yes.",0
|
||||
Ans3 byte "You can rely on it.",0
|
||||
Ans4 byte "Most likely.",0
|
||||
Ans5 byte "Cannot predict now.",0
|
||||
Ans6 byte "Reply hazy, try again.",0
|
||||
Ans7 byte "Outlook not so good.",0
|
||||
Ans8 byte "My sources say no.",0
|
||||
Ans9 byte "Very doubtful.",0
|
||||
AnsA byte "Without a doubt.",0
|
||||
AnsB byte "Outlook good.",0
|
||||
AnsC byte "Ask again later.",0
|
||||
AnsD byte "Better not tell you now.",0
|
||||
AnsE byte "Don't count on it.",0
|
||||
AnsF byte "Yes.",0
|
||||
|
||||
AnswerLookup word Ans0,Ans1,Ans2,Ans3,Ans4,Ans5,Ans6,Ans7
|
||||
word Ans8,Ans9,AnsA,AnsB,AnsC,AnsD,AnsE,AnsF
|
||||
.code
|
||||
|
||||
start:
|
||||
|
||||
mov ax,@data
|
||||
mov ds,ax
|
||||
|
||||
mov ax,@code
|
||||
mov es,ax
|
||||
|
||||
|
||||
CLD ;have LODSB,MOVSB,STOSB,etc. auto-increment
|
||||
|
||||
mov ax,03h
|
||||
int 10h ;sets video mode to MS-DOS text mode. Which the program is already in, so this just clears the screen.
|
||||
|
||||
mov ah,2Ch
|
||||
int 21h ;returns hour:minute in cx, second:100ths of second in dx
|
||||
mov word ptr [ds:xorshift32_state_lo],dx
|
||||
mov word ptr [ds:xorshift32_state_hi],cx
|
||||
|
||||
call doXorshift32 ;uses the above memory locations as input. Do it three times just to mix it up some more
|
||||
call doXorshift32
|
||||
call doXorshift32
|
||||
|
||||
mov ax,word ptr[ds:xorshift32_state_lo] ;get the random output from the RNG
|
||||
and al,0Fh
|
||||
;keep only the bottom nibble of al, there are only 16 possible messages.
|
||||
mov bx,offset AnswerLookup
|
||||
call XLATW
|
||||
;translates AX using a table of words as a lookup table.
|
||||
mov si,ax ;use this looked-up value as the source index for our text.
|
||||
call PrintString ;print to the screen
|
||||
|
||||
mov ax,4C00h
|
||||
int 21h ;return to DOS
|
||||
|
||||
XLATW:
|
||||
;input: ds:bx = the table you wish to look up
|
||||
;AL= the raw index into this table as if it were byte data.
|
||||
;So don't left shift prior to calling this.
|
||||
;AH is destroyed.
|
||||
SHL AL,1
|
||||
mov ah,al ;copy AL to AH
|
||||
XLAT ;returns low byte in al
|
||||
inc ah
|
||||
xchg al,ah ;XLAT only works with AL
|
||||
XLAT ;returns high byte in al (old ah)
|
||||
xchg al,ah
|
||||
;now the word is loaded into ax, big-endian.
|
||||
ret
|
||||
15
Task/Magic-8-ball/ALGOL-68/magic-8-ball.alg
Normal file
15
Task/Magic-8-ball/ALGOL-68/magic-8-ball.alg
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
BEGIN
|
||||
[]STRING answers = ("It is certain.", "It is decidedly so.",
|
||||
"Without a doubt.", "Yes - definitely.", "You may rely on it.",
|
||||
"As I see it, yes.", "Most likely.", "Outlook good.",
|
||||
"Yes.", "Signs point to yes.", "Reply hazy, try again.",
|
||||
"Ask again later.", "Better not tell you now.", "Cannot predict now.",
|
||||
"Concentrate and ask again.", "Don't count on it.", "My reply is no.",
|
||||
"My sources say no.", "Outlook not so good.", "Very doubtful.");
|
||||
DO
|
||||
REF STRING question := LOC STRING;
|
||||
print("Your question: ");
|
||||
read((question, new line));
|
||||
print((answers[ENTIER (random * UPB answers) + 1], new line))
|
||||
OD
|
||||
END
|
||||
35
Task/Magic-8-ball/AWK/magic-8-ball.awk
Normal file
35
Task/Magic-8-ball/AWK/magic-8-ball.awk
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
# syntax: GAWK -f MAGIC_8-BALL.AWK
|
||||
BEGIN {
|
||||
# Ten answers are affirmative, five are non-committal, and five are negative.
|
||||
arr[++i] = "It is certain"
|
||||
arr[++i] = "It is decidedly so"
|
||||
arr[++i] = "Without a doubt"
|
||||
arr[++i] = "Yes, definitely"
|
||||
arr[++i] = "You may rely on it"
|
||||
arr[++i] = "As I see it, yes"
|
||||
arr[++i] = "Most likely"
|
||||
arr[++i] = "Outlook good"
|
||||
arr[++i] = "Signs point to yes"
|
||||
arr[++i] = "Yes"
|
||||
arr[++i] = "Reply hazy, try again"
|
||||
arr[++i] = "Ask again later"
|
||||
arr[++i] = "Better not tell you now"
|
||||
arr[++i] = "Cannot predict now"
|
||||
arr[++i] = "Concentrate and ask again"
|
||||
arr[++i] = "Don't bet on it"
|
||||
arr[++i] = "My reply is no"
|
||||
arr[++i] = "My sources say no"
|
||||
arr[++i] = "Outlook not so good"
|
||||
arr[++i] = "Very doubtful"
|
||||
srand()
|
||||
printf("Please enter your question or a blank line to quit.\n")
|
||||
while (1) {
|
||||
printf("\n? ")
|
||||
getline ans
|
||||
if (ans ~ /^ *$/) {
|
||||
break
|
||||
}
|
||||
printf("%s\n",arr[int(rand()*i)+1])
|
||||
}
|
||||
exit(0)
|
||||
}
|
||||
39
Task/Magic-8-ball/Action-/magic-8-ball.action
Normal file
39
Task/Magic-8-ball/Action-/magic-8-ball.action
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
PROC Main()
|
||||
DEFINE PTR="CARD"
|
||||
DEFINE COUNT="20"
|
||||
CHAR ARRAY s(256)
|
||||
PTR ARRAY a(COUNT)
|
||||
BYTE i
|
||||
|
||||
a(0)="It is certain."
|
||||
a(1)="It is decidedly so."
|
||||
a(2)="Without a doubt."
|
||||
a(3)="Yes - definitely."
|
||||
a(4)="You may rely on it."
|
||||
a(5)="As I see it, yes."
|
||||
a(6)="Most likely."
|
||||
a(7)="Outlook good."
|
||||
a(8)="Yes."
|
||||
a(9)="Signs point to yes."
|
||||
a(10)="Reply hazy, try again."
|
||||
a(11)="Ask again later."
|
||||
a(12)="Better not tell you now."
|
||||
a(13)="Cannot predict now."
|
||||
a(14)="Concentrate and ask again."
|
||||
a(15)="Don't count on it."
|
||||
a(16)="My reply is no."
|
||||
a(17)="My sources say no."
|
||||
a(18)="Outlook not so good."
|
||||
a(19)="Very doubtful."
|
||||
|
||||
DO
|
||||
PrintE("Enter your question or blank to exit:")
|
||||
InputS(s)
|
||||
IF s(0)=0 THEN
|
||||
EXIT
|
||||
FI
|
||||
i=Rand(COUNT)
|
||||
PrintE(a(i))
|
||||
PutE()
|
||||
OD
|
||||
RETURN
|
||||
53
Task/Magic-8-ball/Ada/magic-8-ball.ada
Normal file
53
Task/Magic-8-ball/Ada/magic-8-ball.ada
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
with Ada.Text_IO; use Ada.Text_IO;
|
||||
with Ada.Strings; use Ada.Strings;
|
||||
with Ada.Numerics.Discrete_Random;
|
||||
|
||||
|
||||
procedure Main is
|
||||
|
||||
|
||||
--Creation of type with all the possible answers
|
||||
--
|
||||
type Possible_Answers_Type is (It_Is_Certain, It_Is_Decidedly_So, Without_A_Doubt,
|
||||
Yes_Definitely, You_May_Rely_On_It, As_I_See_It, Yes_Most_Likely,
|
||||
Outlook_Good, Signs_Point_To_Yes, Yes_Reply_Hazy,
|
||||
Try_Again, Ask_Again_Later, Better_Not_Tell_You_Now,
|
||||
Cannot_Predict_Now, Concentrate_And_Ask_Again,
|
||||
Dont_Bet_On_It, My_Reply_Is_No, My_Sources_Say_No,
|
||||
Outlook_Not_So_Good, Very_Doubtful);
|
||||
---------------------------------------------------------------------
|
||||
|
||||
|
||||
-- Variable declaration
|
||||
Answer : Possible_Answers_Type := Possible_Answers_Type'First;
|
||||
User_Question : String := " ";
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
|
||||
--Randomizer
|
||||
--
|
||||
package Random_Answer is new Ada.Numerics.Discrete_Random (Possible_Answers_Type);
|
||||
use Random_Answer;
|
||||
G : Generator;
|
||||
|
||||
begin
|
||||
|
||||
Reset (G); -- Starts the generator in a unique state in each run
|
||||
|
||||
--User get provides question
|
||||
Put_Line ("Welcome."); New_Line;
|
||||
|
||||
Put_Line ("WARNING!!! Please remember that there's no need to shake your device for this program to work, and shaking your device could damage it");
|
||||
New_Line;
|
||||
|
||||
Put_Line ("What's your question? ");
|
||||
Get (Item => User_Question); New_Line;
|
||||
|
||||
|
||||
--Output Answer
|
||||
Answer := (Random (G)); --Assigns random answer to variable Answer
|
||||
|
||||
Put (Answer'Image); --Prints Answer
|
||||
|
||||
end Main;
|
||||
3
Task/Magic-8-ball/AppleScript/magic-8-ball.applescript
Normal file
3
Task/Magic-8-ball/AppleScript/magic-8-ball.applescript
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
set the answers to {"It is certain", "It is decidedly so", "Without a doubt", "Yes, definitely", "You may rely on it", "As I see it, yes", "Most likely", "Outlook good", "Signs point to yes", "Yes", "Reply hazy, try again", "Ask again later", "Better not tell you now", "Cannot predict now", "Concentrate and ask again", "Don't bet on it", "My reply is no", "My sources say no", "Outlook not so good", "Very doubtful"}
|
||||
|
||||
display dialog some item of the answers
|
||||
4
Task/Magic-8-ball/Applesoft-BASIC/magic-8-ball.basic
Normal file
4
Task/Magic-8-ball/Applesoft-BASIC/magic-8-ball.basic
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
0 DIM F$(19): FOR I = 0 TO 19: READ F$(I): NEXT :M$ = CHR$ (13): DEF FN U(K) = K - 32 * (K > 95): FOR Q = 0 TO 1: HOME : PRINT M$" PRESS ANY KEY TO REVEAL YOUR FORTUNE."M$M$" PRESS Q TO QUIT."M$M$" ";:FO = INT ( RND (1) * 20): GET K$
|
||||
1 K$ = CHR$ ( FN U( ASC (K$))):Q = K$ = "Q": IF NOT Q THEN HOME : PRINT M$" YOUR FORTUNE READS:"M$M$ SPC( 5);F$(FO)M$M$" AGAIN? (Y/N) ";: GET K$:K$ = CHR$ ( FN U( ASC (K$))):Q = K$ < > "Y"
|
||||
2 NEXT Q: DATA "IT IS CERTAIN.","IT IS DECIDEDLY SO.","WITHOUT A DOUBT.","YES DEFINITELY.","YOU MAY RELY ON IT.","AS I SEE IT, YES.","MOST LIKELY.","OUTLOOK GOOD.","YES.","SIGNS POINT TO YES."
|
||||
3 DATA "REPLY HAZY, TRY AGAIN.","ASK AGAIN LATER.","BETTER NOT TELL YOU NOW.","CANNOT PREDICT NOW.","CONCENTRATE AND ASK AGAIN.","DON'T COUNT ON IT.","MY REPLY IS NO.","MY SOURCES SAY NO.","OUTLOOK NOT SO GOOD.","VERY DOUBTFUL."
|
||||
15
Task/Magic-8-ball/Arturo/magic-8-ball.arturo
Normal file
15
Task/Magic-8-ball/Arturo/magic-8-ball.arturo
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
answers: [
|
||||
"It is certain" "It is decidedly so" "Without a doubt"
|
||||
"Yes, definitely" "You may rely on it" "As I see it, yes"
|
||||
"Most likely" "Outlook good" "Signs point to yes" "Yes"
|
||||
"Reply hazy, try again" "Ask again later"
|
||||
"Better not tell you now" "Cannot predict now"
|
||||
"Concentrate and ask again" "Don't bet on it"
|
||||
"My reply is no" "My sources say no" "Outlook not so good"
|
||||
"Very doubtful"
|
||||
]
|
||||
|
||||
while ø [
|
||||
input "Ask a question: "
|
||||
print sample answers
|
||||
]
|
||||
17
Task/Magic-8-ball/AutoHotkey/magic-8-ball.ahk
Normal file
17
Task/Magic-8-ball/AutoHotkey/magic-8-ball.ahk
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
answers := [
|
||||
(join
|
||||
"It is certain", "It is decidedly so", "Without a doubt","Yes, definitely",
|
||||
"You may rely on it", "As I see it, yes","Most likely", "Outlook good",
|
||||
"Signs point to yes", "Yes","Reply hazy, try again", "Ask again later",
|
||||
"Better not tell you now", "Cannot predict now","Concentrate and ask again",
|
||||
"Don't bet on it","My reply is no", "My sources say no", "Outlook not so good",
|
||||
"Very doubtful"
|
||||
)]
|
||||
Ask:
|
||||
InputBox, Question, Magic 8-Ball, Please ask your question or a blank line to quit.,,, 130
|
||||
Random, rnd, 1, 20
|
||||
if !question
|
||||
ExitApp
|
||||
MsgBox % answers[rnd]
|
||||
gosub, Ask
|
||||
return
|
||||
30
Task/Magic-8-ball/BASIC256/magic-8-ball.basic
Normal file
30
Task/Magic-8-ball/BASIC256/magic-8-ball.basic
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
dim answer$(20)
|
||||
answer$[0] = "It is certain."
|
||||
answer$[1] = "It is decidedly so."
|
||||
answer$[2] = "Without a doubt."
|
||||
answer$[3] = "Yes - definitely."
|
||||
answer$[4] = "You may rely on it."
|
||||
answer$[5] = "As I see it, yes."
|
||||
answer$[6] = "Most likely."
|
||||
answer$[7] = "Outlook good."
|
||||
answer$[8] = "Yes."
|
||||
answer$[9] = "Signs point to yes."
|
||||
answer$[10] = "Reply hazy, try again."
|
||||
answer$[11] = "Ask again later."
|
||||
answer$[12] = "Better not tell you now."
|
||||
answer$[13] = "Cannot predict now."
|
||||
answer$[14] = "Concentrate and ask again."
|
||||
answer$[15] = "Don't count on it."
|
||||
answer$[16] = "My reply is no."
|
||||
answer$[17] = "My sources say no."
|
||||
answer$[18] = "Outlook not so good."
|
||||
answer$[19] = "Very doubtful."
|
||||
|
||||
print "Q to quit."
|
||||
while True
|
||||
input string "What would you like to know? ", question$
|
||||
if upper(question$) = "Q" then exit while
|
||||
print answer$[int(rand * answer$[?])]
|
||||
print
|
||||
end while
|
||||
end
|
||||
44
Task/Magic-8-ball/C++/magic-8-ball.cpp
Normal file
44
Task/Magic-8-ball/C++/magic-8-ball.cpp
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
#include <array>
|
||||
#include <cstdlib>
|
||||
#include <ctime>
|
||||
#include <iostream>
|
||||
#include <string>
|
||||
|
||||
int main()
|
||||
{
|
||||
constexpr std::array<const char*, 20> answers = {
|
||||
"It is certain.",
|
||||
"It is decidedly so.",
|
||||
"Without a doubt.",
|
||||
"Yes - definitely.",
|
||||
"You may rely on it.",
|
||||
"As I see it, yes.",
|
||||
"Most likely.",
|
||||
"Outlook good.",
|
||||
"Yes.",
|
||||
"Signs point to yes.",
|
||||
"Reply hazy, try again.",
|
||||
"Ask again later.",
|
||||
"Better not tell you now.",
|
||||
"Cannot predict now.",
|
||||
"Concentrate and ask again.",
|
||||
"Don't count on it.",
|
||||
"My reply is no.",
|
||||
"My sources say no.",
|
||||
"Outlook not so good.",
|
||||
"Very doubtful."
|
||||
};
|
||||
|
||||
std::string input;
|
||||
std::srand(std::time(nullptr));
|
||||
while (true) {
|
||||
std::cout << "\n? : ";
|
||||
std::getline(std::cin, input);
|
||||
|
||||
if (input.empty()) {
|
||||
break;
|
||||
}
|
||||
|
||||
std::cout << answers[std::rand() % answers.size()] << '\n';
|
||||
}
|
||||
}
|
||||
48
Task/Magic-8-ball/C-sharp/magic-8-ball.cs
Normal file
48
Task/Magic-8-ball/C-sharp/magic-8-ball.cs
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
using System;
|
||||
|
||||
namespace newProg
|
||||
{
|
||||
|
||||
class Program
|
||||
{
|
||||
static void Main(string[] args)
|
||||
{
|
||||
string[] answers =
|
||||
{
|
||||
"It is certain.",
|
||||
"It is decidedly so.",
|
||||
"Without a doubt.",
|
||||
"Yes – definitely.",
|
||||
"You may rely on it.",
|
||||
"As I see it, yes.",
|
||||
"Most likely.",
|
||||
"Outlook good.",
|
||||
"Yes.",
|
||||
"Signs point to yes.",
|
||||
"Reply hazy, try again.",
|
||||
"Ask again later",
|
||||
"Better not tell you now.",
|
||||
"Cannot predict now.",
|
||||
"Concentrate and ask again.",
|
||||
"Don't count on it.",
|
||||
"My reply is no.",
|
||||
"My sources say no.",
|
||||
"Outlook not so good.",
|
||||
"Very doubtful."
|
||||
};
|
||||
|
||||
while (true)
|
||||
{
|
||||
Random rnd = new Random();
|
||||
int result = rnd.Next(0, 19);
|
||||
|
||||
Console.WriteLine("Magic 8 Ball! Ask question and hit a key for the answer!");
|
||||
|
||||
string inp = Console.ReadLine();
|
||||
|
||||
Console.WriteLine(answers[result]);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
29
Task/Magic-8-ball/C/magic-8-ball.c
Normal file
29
Task/Magic-8-ball/C/magic-8-ball.c
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <time.h>
|
||||
|
||||
int main() {
|
||||
char *question = NULL;
|
||||
size_t len = 0;
|
||||
ssize_t read;
|
||||
const char* answers[20] = {
|
||||
"It is certain", "It is decidedly so", "Without a doubt",
|
||||
"Yes, definitely", "You may rely on it", "As I see it, yes",
|
||||
"Most likely", "Outlook good", "Signs point to yes", "Yes",
|
||||
"Reply hazy, try again", "Ask again later",
|
||||
"Better not tell you now", "Cannot predict now",
|
||||
"Concentrate and ask again", "Don't bet on it",
|
||||
"My reply is no", "My sources say no", "Outlook not so good",
|
||||
"Very doubtful"
|
||||
};
|
||||
srand(time(NULL));
|
||||
printf("Please enter your question or a blank line to quit.\n");
|
||||
while (1) {
|
||||
printf("\n? : ");
|
||||
read = getline(&question, &len, stdin);
|
||||
if (read < 2) break;
|
||||
printf("\n%s\n", answers[rand() % 20]);
|
||||
}
|
||||
if (question) free(question);
|
||||
return 0;
|
||||
}
|
||||
47
Task/Magic-8-ball/CFEngine/magic-8-ball.cfengine
Normal file
47
Task/Magic-8-ball/CFEngine/magic-8-ball.cfengine
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
#!/var/cfengine/bin/cf-agent --no-lock
|
||||
bundle agent __main__
|
||||
{
|
||||
methods: "rosettacode_org:magic_8_ball";
|
||||
}
|
||||
body file control
|
||||
{
|
||||
namespace => "rosettacode_org";
|
||||
}
|
||||
bundle agent magic_8_ball
|
||||
{
|
||||
vars:
|
||||
"_responses"
|
||||
slist => {
|
||||
"It is certain", "It is decidedly so", "Without a doubt",
|
||||
"Yes definitely", "You may rely on it", "As I see it yes",
|
||||
"Most likely", "Outlook good", "Signs point to yes", "Yes",
|
||||
"Reply hazy try again", "Ask again later",
|
||||
"Better not tell you now", "Cannot predict now",
|
||||
"Concentrate and ask again", "Don't bet on it",
|
||||
"My reply is no", "My sources say no", "Outlook not so good",
|
||||
"Very doubtful",
|
||||
};
|
||||
"_selected_response"
|
||||
int => randomint( 0, length( _responses) ),
|
||||
unless => isvariable( "$(this.namespace):$(this.promiser)" );
|
||||
|
||||
"_consideration_time"
|
||||
int => randomint( 3, 5),
|
||||
unless => isvariable( "$(this.namespace):$(this.promiser)" );
|
||||
|
||||
commands:
|
||||
"/bin/sleep $(_consideration_time)"
|
||||
inform => "false",
|
||||
handle => "consider",
|
||||
depends_on => { "think" },
|
||||
comment => "This magic 8 ball takes a few seconds to consider the answer
|
||||
after you bring your question to mind.";
|
||||
|
||||
reports:
|
||||
"Think about your question ..."
|
||||
handle => "think";
|
||||
|
||||
"Response: $(with)"
|
||||
with => nth( _responses, $(_selected_response) ),
|
||||
depends_on => { "consider" };
|
||||
}
|
||||
38
Task/Magic-8-ball/CMake/magic-8-ball.cmake
Normal file
38
Task/Magic-8-ball/CMake/magic-8-ball.cmake
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
CMAKE_MINIMUM_REQUIRED(VERSION 3.6)
|
||||
|
||||
PROJECT(EightBall)
|
||||
|
||||
SET(CMAKE_DISABLE_SOURCE_CHANGES ON)
|
||||
SET(CMAKE_DISABLE_IN_SOURCE_BUILD ON)
|
||||
|
||||
LIST(APPEND RESPONSES "It is certain." "It is decidedly so." "Without a doubt.")
|
||||
LIST(APPEND RESPONSES "Yes - definitely." "You may rely on it.")
|
||||
LIST(APPEND RESPONSES "As I see it yes." "Most likely." "Outlook good.")
|
||||
LIST(APPEND RESPONSES "Yes." "Signs point to yes." "Reply hazy try again.")
|
||||
LIST(APPEND RESPONSES "Ask again later." "Better not tell you now.")
|
||||
LIST(APPEND RESPONSES "Cannot predict now." "Concentrate and ask again.")
|
||||
LIST(APPEND RESPONSES "Don't count on it." "My reply is no.")
|
||||
LIST(APPEND RESPONSES "My sources say no." "Outlook not so good." "Very doubtful.")
|
||||
|
||||
FUNCTION(RANDOM_RESPONSE)
|
||||
STRING(RANDOM LENGTH 1 ALPHABET 01 TENS)
|
||||
STRING(RANDOM LENGTH 1 ALPHABET 0123456789 UNITS)
|
||||
MATH(EXPR INDEX "${TENS}${UNITS}")
|
||||
LIST(GET RESPONSES ${INDEX} RESPONSE)
|
||||
MESSAGE(STATUS "Question: ${QUESTION}")
|
||||
MESSAGE(STATUS "Response: ${RESPONSE}")
|
||||
ENDFUNCTION(RANDOM_RESPONSE)
|
||||
|
||||
OPTION(QUESTION "User's input question" "")
|
||||
|
||||
MESSAGE("===================== 8 Ball =====================")
|
||||
IF(NOT QUESTION)
|
||||
MESSAGE(STATUS "Welcome to 8 ball! Please provide a question ")
|
||||
MESSAGE(STATUS "using the flag -DQUESTION=\"my question\"")
|
||||
ELSE()
|
||||
RANDOM_RESPONSE()
|
||||
ENDIF()
|
||||
MESSAGE("==================================================")
|
||||
|
||||
|
||||
ADD_CUSTOM_TARGET(${PROJECT_NAME} ALL)
|
||||
19
Task/Magic-8-ball/Chipmunk-Basic/magic-8-ball.basic
Normal file
19
Task/Magic-8-ball/Chipmunk-Basic/magic-8-ball.basic
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
100 cls
|
||||
110 data "It is certain.","It is decidedly so."
|
||||
120 data "Without a doubt.","Yes - definitely."
|
||||
130 data "You may rely on it.","As I see it, yes."
|
||||
140 data "Most likely.","Outlook good."
|
||||
150 data "Yes.","Signs point to yes."
|
||||
160 data "Reply hazy, try again.","Ask again later."
|
||||
170 data "Better not tell you now.","Cannot predict now."
|
||||
180 data "Concentrate and ask again.","Don't count on it."
|
||||
190 data "My reply is no.","My sources say no."
|
||||
200 data "Outlook not so good.","Very doubtful."
|
||||
210 dim m8ball$(20)
|
||||
220 for i = 0 to 19
|
||||
230 read m8ball$(i)
|
||||
240 next i
|
||||
250 randomize timer
|
||||
260 input "What would you like to know? ",q$
|
||||
270 print m8ball$(int(rnd(20)))
|
||||
280 end
|
||||
14
Task/Magic-8-ball/Clojure/magic-8-ball.clj
Normal file
14
Task/Magic-8-ball/Clojure/magic-8-ball.clj
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
(def responses
|
||||
["It is certain" "It is decidedly so" "Without a doubt"
|
||||
"Yes, definitely" "You may rely on it" "As I see it, yes"
|
||||
"Most likely" "Outlook good" "Signs point to yes" "Yes"
|
||||
"Reply hazy, try again" "Ask again later"
|
||||
"Better not tell you now" "Cannot predict now"
|
||||
"Concentrate and ask again" "Don't bet on it"
|
||||
"My reply is no" "My sources say no" "Outlook not so good"
|
||||
"Very doubtful"])
|
||||
|
||||
(do
|
||||
(println "Ask a question. ")
|
||||
(read-line)
|
||||
(println (rand-nth responses)))
|
||||
22
Task/Magic-8-ball/Commodore-BASIC/magic-8-ball.basic
Normal file
22
Task/Magic-8-ball/Commodore-BASIC/magic-8-ball.basic
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
10 dim f$(19):for i=0 to 19:read f$(i):next
|
||||
20 print chr$(147);chr$(14)
|
||||
30 print "Press any key to reveal your fortune."
|
||||
40 print:print "Press Q to quit.":print
|
||||
50 fo=int(rnd(1)*20):get k$:if k$="" then 50
|
||||
60 if k$="q" then print "Good luck!":end
|
||||
70 print "Your fortune reads:"
|
||||
80 print spc(5);f$(fo):print
|
||||
90 print "Again? (Y/N)"
|
||||
100 get k$:if k$="" then 100
|
||||
110 if k$="y" then goto 20
|
||||
120 end
|
||||
1000 data "It is certain.","It is decidedly so."
|
||||
1010 data "Without a doubt.","Yes – definitely."
|
||||
1020 data "You may rely on it.","As I see it, yes."
|
||||
1030 data "Most likely.","Outlook good.","Yes."
|
||||
1040 data "Signs point to yes.","Reply hazy, try again."
|
||||
1050 data "Ask again later.","Better not tell you now."
|
||||
1060 data "Cannot predict now.","Concentrate and ask again."
|
||||
1070 data "Don't count on it.","My reply is no."
|
||||
1080 data "My sources say no.","Outlook not so good."
|
||||
1090 data "Very doubtful."
|
||||
164
Task/Magic-8-ball/Craft-Basic/magic-8-ball.basic
Normal file
164
Task/Magic-8-ball/Craft-Basic/magic-8-ball.basic
Normal file
|
|
@ -0,0 +1,164 @@
|
|||
title "Magic 8 Ball"
|
||||
|
||||
resize 0, 0, 340, 150
|
||||
center
|
||||
|
||||
bgcolor 0, 0, 255
|
||||
cls graphics
|
||||
|
||||
formid 1
|
||||
formtext "Think of a question and select the magic button."
|
||||
staticform 10, 10, 310, 20
|
||||
bgcolor 0, 0, 0
|
||||
fgcolor 255, 0, 255
|
||||
colorform
|
||||
|
||||
formid 2
|
||||
formtext "Magic Button"
|
||||
buttonform 115, 50, 100, 20
|
||||
bgcolor 255, 0, 0
|
||||
fgcolor 0, 0, 255
|
||||
colorform
|
||||
|
||||
do
|
||||
|
||||
|
||||
if forms = 2 then
|
||||
|
||||
gosub magicbutton
|
||||
|
||||
endif
|
||||
|
||||
button k, 27
|
||||
|
||||
wait
|
||||
|
||||
loop k = 0
|
||||
|
||||
end
|
||||
|
||||
sub magicbutton
|
||||
|
||||
let r = int(rnd * 20) + 1
|
||||
|
||||
if r = 1 then
|
||||
|
||||
alert "It is certain."
|
||||
|
||||
endif
|
||||
|
||||
if r = 2 then
|
||||
|
||||
alert "It is decidedly so."
|
||||
|
||||
endif
|
||||
|
||||
if r = 3 then
|
||||
|
||||
alert "Without a doubt."
|
||||
|
||||
endif
|
||||
|
||||
if r = 4 then
|
||||
|
||||
alert "Yes – definitely."
|
||||
|
||||
endif
|
||||
|
||||
if r = 5 then
|
||||
|
||||
alert "You may rely on it."
|
||||
|
||||
endif
|
||||
|
||||
if r = 6 then
|
||||
|
||||
alert "As I see it", comma, " yes."
|
||||
|
||||
endif
|
||||
|
||||
if r = 7 then
|
||||
|
||||
alert "Most likely."
|
||||
|
||||
endif
|
||||
|
||||
if r = 8 then
|
||||
|
||||
alert "Outlook good."
|
||||
|
||||
endif
|
||||
|
||||
if r = 9 then
|
||||
|
||||
alert "Yes."
|
||||
|
||||
endif
|
||||
|
||||
if r = 10 then
|
||||
|
||||
alert "Signs point to yes."
|
||||
|
||||
endif
|
||||
|
||||
if r = 11 then
|
||||
|
||||
alert "Reply hazy", comma, " try again."
|
||||
|
||||
endif
|
||||
|
||||
if r = 12 then
|
||||
|
||||
alert "Ask again later."
|
||||
|
||||
endif
|
||||
|
||||
if r = 13 then
|
||||
|
||||
alert "Better not tell you now."
|
||||
|
||||
endif
|
||||
|
||||
if r = 14 then
|
||||
|
||||
alert "Cannot predict now."
|
||||
|
||||
endif
|
||||
|
||||
if r = 15 then
|
||||
|
||||
alert "Concentrate and ask again."
|
||||
|
||||
endif
|
||||
|
||||
if r = 16 then
|
||||
|
||||
alert "Don't count on it."
|
||||
|
||||
endif
|
||||
|
||||
if r = 17 then
|
||||
|
||||
alert "My reply is no."
|
||||
|
||||
endif
|
||||
|
||||
if r = 18 then
|
||||
|
||||
alert "My sources say no."
|
||||
|
||||
endif
|
||||
|
||||
if r = 19 then
|
||||
|
||||
alert "Outlook not so good."
|
||||
|
||||
endif
|
||||
|
||||
if r = 20 then
|
||||
|
||||
alert "Very doubtful."
|
||||
|
||||
endif
|
||||
|
||||
return
|
||||
35
Task/Magic-8-ball/D/magic-8-ball.d
Normal file
35
Task/Magic-8-ball/D/magic-8-ball.d
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
import std.random, std.stdio, std.string;
|
||||
|
||||
const string[] responses = ["It is certain", "It is decidedly so",
|
||||
"Without a doubt", "Yes, definitely",
|
||||
"You may rely on it", "As I see it, yes",
|
||||
"Most likely", "Outlook good", "Signs point to yes",
|
||||
"Yes", "Reply hazy, try again", "Ask again later",
|
||||
"Better not tell you now", "Cannot predict now",
|
||||
"Concentrate and ask again", "Don't bet on it",
|
||||
"My reply is no", "My sources say no",
|
||||
"Outlook not so good", "Very doubtful"];
|
||||
|
||||
void main()
|
||||
{
|
||||
string question = "";
|
||||
auto rnd = Random(unpredictableSeed);
|
||||
int index = -1;
|
||||
|
||||
writeln("Welcome to 8 ball! Please enter your question to ");
|
||||
write("find the answers you seek.");
|
||||
write("Type 'quit' to exit.", "\n\n");
|
||||
|
||||
while(true)
|
||||
{
|
||||
write("Question: ");
|
||||
question = stdin.readln();
|
||||
if(strip(question) == "quit")
|
||||
{
|
||||
break;
|
||||
}
|
||||
write("Response: ");
|
||||
index = uniform(0, 20, rnd);
|
||||
write(responses[index], "\n\n");
|
||||
}
|
||||
}
|
||||
51
Task/Magic-8-ball/Delphi/magic-8-ball.delphi
Normal file
51
Task/Magic-8-ball/Delphi/magic-8-ball.delphi
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
program Magic_8_ball;
|
||||
|
||||
{$APPTYPE CONSOLE}
|
||||
|
||||
uses
|
||||
System.SysUtils,
|
||||
windows;
|
||||
|
||||
// https://stackoverflow.com/questions/29794559/delphi-console-xe7-clearscreen
|
||||
procedure ClearScreen;
|
||||
var
|
||||
stdout: THandle;
|
||||
csbi: TConsoleScreenBufferInfo;
|
||||
ConsoleSize: DWORD;
|
||||
NumWritten: DWORD;
|
||||
Origin: TCoord;
|
||||
begin
|
||||
stdout := GetStdHandle(STD_OUTPUT_HANDLE);
|
||||
Win32Check(stdout <> INVALID_HANDLE_VALUE);
|
||||
Win32Check(GetConsoleScreenBufferInfo(stdout, csbi));
|
||||
ConsoleSize := csbi.dwSize.X * csbi.dwSize.Y;
|
||||
Origin.X := 0;
|
||||
Origin.Y := 0;
|
||||
Win32Check(FillConsoleOutputCharacter(stdout, ' ', ConsoleSize, Origin, NumWritten));
|
||||
Win32Check(FillConsoleOutputAttribute(stdout, csbi.wAttributes, ConsoleSize,
|
||||
Origin, NumWritten));
|
||||
Win32Check(SetConsoleCursorPosition(stdout, Origin));
|
||||
end;
|
||||
|
||||
const
|
||||
answers: array[0..19] of string = ('It is certain.', 'It is decidedly so.',
|
||||
'Without a doubt.', 'Yes – definitely.', 'You may rely on it.',
|
||||
'As I see it, yes.', 'Most likely.', 'Outlook good.', 'Yes.',
|
||||
'Signs point to yes.', 'Reply hazy, try again.', 'Ask again later',
|
||||
'Better not tell you now.', 'Cannot predict now.',
|
||||
'Concentrate and ask again.', 'Don''t count on it.', 'My reply is no.',
|
||||
'My sources say no.', 'Outlook not so good.', 'Very doubtful.');
|
||||
|
||||
begin
|
||||
Randomize;
|
||||
while True do
|
||||
begin
|
||||
writeln('Magic 8 Ball! Ask question and hit ENTER key for the answer!');
|
||||
readln;
|
||||
ClearScreen;
|
||||
writeln(answers[Random(length(answers))], #10#10#10);
|
||||
writeln('(Hit ENTER key to ask again)');
|
||||
readln;
|
||||
ClearScreen;
|
||||
end;
|
||||
end.
|
||||
18
Task/Magic-8-ball/Factor/magic-8-ball.factor
Normal file
18
Task/Magic-8-ball/Factor/magic-8-ball.factor
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
USING: io kernel random sequences ;
|
||||
IN: rosetta-code.magic-8-ball
|
||||
|
||||
CONSTANT: phrases {
|
||||
"It is certain" "It is decidedly so" "Without a doubt"
|
||||
"Yes, definitely" "You may rely on it" "As I see it, yes"
|
||||
"Most likely" "Outlook good" "Signs point to yes" "Yes"
|
||||
"Reply hazy, try again" "Ask again later"
|
||||
"Better not tell you now" "Cannot predict now"
|
||||
"Concentrate and ask again" "Don't bet on it"
|
||||
"My reply is no" "My sources say no" "Outlook not so good"
|
||||
"Very doubtful"
|
||||
}
|
||||
|
||||
"Please enter your question or a blank line to quit." print
|
||||
|
||||
[ "? : " write flush readln empty? [ f ]
|
||||
[ phrases random print t ] if ] loop
|
||||
36
Task/Magic-8-ball/Forth/magic-8-ball.fth
Normal file
36
Task/Magic-8-ball/Forth/magic-8-ball.fth
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
\ magic eight ball Rosetta Code
|
||||
INCLUDE RANDOM.FS
|
||||
DECIMAL
|
||||
: CASE: ( -- -7) CREATE ;
|
||||
: ;CASE ( n -- ) DOES> SWAP CELLS + @ EXECUTE ;
|
||||
|
||||
: VECTORS 0 DO , LOOP ;
|
||||
|
||||
:NONAME ." It is certain" ;
|
||||
:NONAME ." It is decidedly so" ;
|
||||
:NONAME ." Without a doubt" ;
|
||||
:NONAME ." Yes, definitely" ;
|
||||
:NONAME ." You may rely on it" ;
|
||||
:NONAME ." As I see it, yes." ;
|
||||
:NONAME ." Most likely" ;
|
||||
:NONAME ." Outlook good" ;
|
||||
:NONAME ." Signs point to yes." ;
|
||||
:NONAME ." Yes." ;
|
||||
:NONAME ." Reply hazy, try again" ;
|
||||
:NONAME ." Ask again later" ;
|
||||
:NONAME ." Better not tell you now" ;
|
||||
:NONAME ." Cannot predict now" ;
|
||||
:NONAME ." Concentrate and ask again" ;
|
||||
:NONAME ." Don't bet on it" ;
|
||||
:NONAME ." My reply is no" ;
|
||||
:NONAME ." My sources say no" ;
|
||||
:NONAME ." Outlook not so good" ;
|
||||
:NONAME ." Very doubtful" ;
|
||||
|
||||
CASE: MAGIC8BALL 20 VECTORS ;CASE
|
||||
|
||||
: GO
|
||||
CR ." Please enter your question or a blank line to quit."
|
||||
BEGIN CR ." ? :" PAD 80 ACCEPT 0>
|
||||
WHILE CR 19 RANDOM MAGIC8BALL CR
|
||||
REPEAT ;
|
||||
42
Task/Magic-8-ball/Fortran/magic-8-ball.f
Normal file
42
Task/Magic-8-ball/Fortran/magic-8-ball.f
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
PROGRAM EIGHT_BALL
|
||||
CHARACTER(LEN=100) :: RESPONSE
|
||||
CHARACTER(LEN=100) :: QUESTION
|
||||
CHARACTER(LEN=100), DIMENSION(20) :: RESPONSES
|
||||
REAL :: R
|
||||
|
||||
CALL RANDOM_SEED()
|
||||
|
||||
RESPONSES(1) = "It is certain"
|
||||
RESPONSES(2) = "It is decidedly so"
|
||||
RESPONSES(3) = "Without a doubt"
|
||||
RESPONSES(4) = "Yes, definitely"
|
||||
RESPONSES(5) = "You may rely on it"
|
||||
RESPONSES(6) = "As I see it, yes"
|
||||
RESPONSES(7) = "Most likely"
|
||||
RESPONSES(8) = "Outlook good"
|
||||
RESPONSES(9) = "Signs point to yes"
|
||||
RESPONSES(10) = "Yes"
|
||||
RESPONSES(11) = "Reply hazy, try again"
|
||||
RESPONSES(12) = "Ask again later"
|
||||
RESPONSES(13) = "Better not tell you now"
|
||||
RESPONSES(14) = "Cannot predict now"
|
||||
RESPONSES(15) = "Concentrate and ask again"
|
||||
RESPONSES(16) = "Don't bet on it"
|
||||
RESPONSES(17) = "My reply is no"
|
||||
RESPONSES(18) = "My sources say no"
|
||||
RESPONSES(19) = "Outlook not so good"
|
||||
RESPONSES(20) = "Very doubtful"
|
||||
|
||||
WRITE(*,*) "Welcome to 8 Ball! Ask a question to find the answers"
|
||||
WRITE(*,*) "you seek, type either 'quit' or 'q' to exit", NEW_LINE('A')
|
||||
|
||||
DO WHILE(.TRUE.)
|
||||
PRINT*, "Ask your question: "
|
||||
READ(*,*) QUESTION
|
||||
IF(QUESTION == "q" .OR. QUESTION == "quit") THEN
|
||||
CALL EXIT(0)
|
||||
ENDIF
|
||||
CALL RANDOM_NUMBER(R)
|
||||
PRINT*, "Response: ", TRIM(RESPONSES(FLOOR(R*20))), NEW_LINE('A')
|
||||
ENDDO
|
||||
END PROGRAM EIGHT_BALL
|
||||
24
Task/Magic-8-ball/Free-Pascal/magic-8-ball.pas
Normal file
24
Task/Magic-8-ball/Free-Pascal/magic-8-ball.pas
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
program Magic_8_ball;
|
||||
{$IFDEF WINDOWS}{$APPTYPE CONSOLE}{$ENDIF}
|
||||
uses
|
||||
SysUtils,crt;
|
||||
const
|
||||
answers: array[0..19] of string = ('It is certain.', 'It is decidedly so.',
|
||||
'Without a doubt.', 'Yes - definitely.', 'You may rely on it.',
|
||||
'As I see it, yes.', 'Most likely.', 'Outlook good.', 'Yes.',
|
||||
'Signs point to yes.', 'Reply hazy, try again.', 'Ask again later',
|
||||
'Better not tell you now.', 'Cannot predict now.',
|
||||
'Concentrate and ask again.', 'Don''t count on it.', 'My reply is no.',
|
||||
'My sources say no.', 'Outlook not so good.', 'Very doubtful.');
|
||||
begin
|
||||
Randomize;
|
||||
repeat
|
||||
writeln('Magic 8 Ball! Ask question and hit ENTER key for the answer!');
|
||||
readln;
|
||||
ClrScr;
|
||||
writeln(answers[Random(length(answers))],#13#10);
|
||||
writeln('Hit ESCape to leave');
|
||||
repeat until keypressed;
|
||||
ClrScr;
|
||||
until readkey=#27;
|
||||
end.
|
||||
16
Task/Magic-8-ball/FreeBASIC/magic-8-ball.basic
Normal file
16
Task/Magic-8-ball/FreeBASIC/magic-8-ball.basic
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
dim as string answer(0 to 19) = { "It is certain.", "It is decidedly so.", "Without a doubt.", "Yes – definitely.",_
|
||||
"You may rely on it.", "As I see it, yes.", "Most likely.", "Outlook good.",_
|
||||
"Yes.", "Signs point to yes.", "Reply hazy, try again.", "Ask again later.",_
|
||||
"Better not tell you now.", "Cannot predict now.", "Concentrate and ask again.", "Don't count on it.",_
|
||||
"My reply is no.", "My sources say no.", "Outlook not so good.", "Very doubtful." }
|
||||
|
||||
dim as string question
|
||||
randomize timer
|
||||
|
||||
print "Q to quit."
|
||||
do
|
||||
input "What would you like to know? ", question
|
||||
if ucase(question)="Q" then exit do
|
||||
print answer(int(rnd*20))
|
||||
print
|
||||
loop
|
||||
18
Task/Magic-8-ball/GW-BASIC/magic-8-ball.basic
Normal file
18
Task/Magic-8-ball/GW-BASIC/magic-8-ball.basic
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
0 DATA "It is certain.", "It is decidedly so."
|
||||
20 DATA "Without a doubt.", "Yes - definitely."
|
||||
30 DATA "You may rely on it.", "As I see it, yes."
|
||||
40 DATA "Most likely.", "Outlook good."
|
||||
50 DATA "Yes.", "Signs point to yes."
|
||||
60 DATA "Reply hazy, try again.", "Ask again later."
|
||||
70 DATA "Better not tell you now.", "Cannot predict now."
|
||||
80 DATA "Concentrate and ask again.", "Don't count on it."
|
||||
90 DATA "My reply is no.", "My sources say no."
|
||||
100 DATA "Outlook not so good.", "Very doubtful."
|
||||
110 DIM M8BALL$(20)
|
||||
120 FOR I=0 TO 19
|
||||
130 READ M8BALL$(I)
|
||||
140 NEXT I
|
||||
150 RANDOMIZE TIMER
|
||||
160 INPUT "What would you like to know? ", Q$
|
||||
170 PRINT M8BALL$(INT(RND*20))
|
||||
180 END
|
||||
40
Task/Magic-8-ball/Go/magic-8-ball.go
Normal file
40
Task/Magic-8-ball/Go/magic-8-ball.go
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
package main
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"bytes"
|
||||
"fmt"
|
||||
"log"
|
||||
"math/rand"
|
||||
"os"
|
||||
"time"
|
||||
)
|
||||
|
||||
func main() {
|
||||
rand.Seed(time.Now().UnixNano())
|
||||
answers := [...]string{
|
||||
"It is certain", "It is decidedly so", "Without a doubt",
|
||||
"Yes, definitely", "You may rely on it", "As I see it, yes",
|
||||
"Most likely", "Outlook good", "Signs point to yes", "Yes",
|
||||
"Reply hazy, try again", "Ask again later",
|
||||
"Better not tell you now", "Cannot predict now",
|
||||
"Concentrate and ask again", "Don't bet on it",
|
||||
"My reply is no", "My sources say no", "Outlook not so good",
|
||||
"Very doubtful",
|
||||
}
|
||||
const prompt = "\n? : "
|
||||
fmt.Print("Please enter your question or a blank line to quit.\n" + prompt)
|
||||
sc := bufio.NewScanner(os.Stdin)
|
||||
for sc.Scan() {
|
||||
question := sc.Bytes()
|
||||
question = bytes.TrimSpace(question)
|
||||
if len(question) == 0 {
|
||||
break
|
||||
}
|
||||
answer := answers[rand.Intn(len(answers))]
|
||||
fmt.Printf("\n%s\n"+prompt, answer)
|
||||
}
|
||||
if err := sc.Err(); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
33
Task/Magic-8-ball/Haskell/magic-8-ball.hs
Normal file
33
Task/Magic-8-ball/Haskell/magic-8-ball.hs
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
import System.Random (getStdRandom, randomR)
|
||||
import Control.Monad (forever)
|
||||
|
||||
answers :: [String]
|
||||
answers =
|
||||
[ "It is certain"
|
||||
, "It is decidedly so"
|
||||
, "Without a doubt"
|
||||
, "Yes, definitely"
|
||||
, "You may rely on it"
|
||||
, "As I see it, yes"
|
||||
, "Most likely"
|
||||
, "Outlook good"
|
||||
, "Signs point to yes"
|
||||
, "Yes"
|
||||
, "Reply hazy, try again"
|
||||
, "Ask again later"
|
||||
, "Better not tell you now"
|
||||
, "Cannot predict now"
|
||||
, "Concentrate and ask again"
|
||||
, "Don't bet on it"
|
||||
, "My reply is no"
|
||||
, "My sources say no"
|
||||
, "Outlook not so good"
|
||||
, "Very doubtful"]
|
||||
|
||||
main :: IO ()
|
||||
main = do
|
||||
putStrLn "Hello. The Magic 8 Ball knows all. Type your question."
|
||||
forever $ do
|
||||
getLine
|
||||
n <- getStdRandom (randomR (0, pred $ length answers))
|
||||
putStrLn $ answers !! n
|
||||
20
Task/Magic-8-ball/IS-BASIC/magic-8-ball.basic
Normal file
20
Task/Magic-8-ball/IS-BASIC/magic-8-ball.basic
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
100 PROGRAM "Magic8.bas"
|
||||
110 RANDOMIZE
|
||||
120 STRING ANSWER$(1 TO 20)*26
|
||||
130 FOR I=1 TO 20
|
||||
140 READ ANSWER$(I)
|
||||
150 NEXT
|
||||
160 CLEAR SCREEN
|
||||
170 PRINT "Magic 8-ball":PRINT "Q to quit.":PRINT
|
||||
180 DO
|
||||
190 INPUT PROMPT "What would you like to know? ":QUESTION$
|
||||
200 IF LCASE$(QUESTION$)="q" THEN EXIT DO
|
||||
210 PRINT ANSWER$(RND(20)+1):PRINT
|
||||
220 LOOP
|
||||
230 DATA It is certain.,It is decidedly so.,Without a doubt.
|
||||
240 DATA Yes - definitely.,You may rely on it.,"As I see it, yes."
|
||||
250 DATA Most likely.,Outlook good.,Yes.
|
||||
260 DATA Signs point to yes.,"Reply hazy, try again.",Ask again later.
|
||||
270 DATA Better not tell you now.,Cannot predict now.,Concentrate and ask again.
|
||||
280 DATA Don't count on it.,My reply is no.,My sources say no.
|
||||
290 DATA Outlook not so good.,Very doubtful.
|
||||
11
Task/Magic-8-ball/J/magic-8-ball.j
Normal file
11
Task/Magic-8-ball/J/magic-8-ball.j
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
NB. translated from awk
|
||||
|
||||
prompt=: [: 1!:1 [: 1: echo
|
||||
|
||||
ANSWERS=: [;._2'It is certain"It is decidedly so"Without a doubt"Yes, definitely"You may rely on it"As I see it, yes"Most likely"Outlook good"Signs point to yes"Yes"Reply hazy, try again"Ask again later"Better not tell you now"Cannot predict now"Concentrate and ask again"Don''t bet on it"My reply is no"My sources say no"Outlook not so good"Very doubtful"'
|
||||
|
||||
eight_ball=: ANSWERS&$: :(dyad define)
|
||||
while. 0 < # prompt 'Please enter your question or a blank line to quit.' do.
|
||||
echo ({~ ?@:#) x
|
||||
end.
|
||||
)
|
||||
27
Task/Magic-8-ball/Java/magic-8-ball.java
Normal file
27
Task/Magic-8-ball/Java/magic-8-ball.java
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
import java.util.Random;
|
||||
import java.util.Scanner;
|
||||
|
||||
public class MagicEightBall {
|
||||
|
||||
public static void main(String[] args) {
|
||||
new MagicEightBall().run();
|
||||
}
|
||||
|
||||
private static String[] ANSWERS = new String[] {"It is certain.", "It is decidedly so.", "Without a doubt.", "Yes - definitely.",
|
||||
"You may rely on it.", "As I see it, yes.", "Most likely.", "Outlook good.", "Yes.", "Signs point to yes.",
|
||||
"Reply hazy, try again.", "Ask again later.", "Better not tell you now.", "Cannot predict now.", "Concentrate and ask again.",
|
||||
"Don't count on it.", "My reply is no.", "My sources say no.", "Outlook not so good.", "Very doubtful. "};
|
||||
|
||||
public void run() {
|
||||
Random random = new Random();
|
||||
System.out.printf("Hello. The Magic 8 Ball knows all. Type your question.%n%n");
|
||||
try ( Scanner in = new Scanner(System.in); ) {
|
||||
System.out.printf("? ");
|
||||
while ( (in.nextLine()).length() > 0 ) {
|
||||
System.out.printf("8 Ball Response: %s%n", ANSWERS[random.nextInt(ANSWERS.length)]);
|
||||
System.out.printf("? ");
|
||||
}
|
||||
}
|
||||
System.out.printf("%n8 Ball Done. Bye.");
|
||||
}
|
||||
}
|
||||
17
Task/Magic-8-ball/JavaScript/magic-8-ball.js
Normal file
17
Task/Magic-8-ball/JavaScript/magic-8-ball.js
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
//console
|
||||
var answers = [ "It is certain", "It is decidedly so", "Without a doubt",
|
||||
"Yes, definitely", "You may rely on it", "As I see it, yes",
|
||||
"Most likely", "Outlook good", "Signs point to yes", "Yes",
|
||||
"Reply hazy, try again", "Ask again later",
|
||||
"Better not tell you now", "Cannot predict now",
|
||||
"Concentrate and ask again", "Don't bet on it",
|
||||
"My reply is no", "My sources say no", "Outlook not so good",
|
||||
"Very doubtful"])
|
||||
|
||||
console.log("ASK ANY QUESTION TO THE MAGIC 8-BALL AND YOU SHALL RECEIVE AN ANSWER!")
|
||||
|
||||
for(;;){
|
||||
var answer = prompt("question:")
|
||||
console.log(answer)
|
||||
console.log(answers[Math.floor(Math.random()*answers.length)]);
|
||||
}
|
||||
14
Task/Magic-8-ball/Julia/magic-8-ball.julia
Normal file
14
Task/Magic-8-ball/Julia/magic-8-ball.julia
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
const responses = ["It is certain", "It is decidedly so", "Without a doubt",
|
||||
"Yes, definitely", "You may rely on it", "As I see it, yes", "Most likely",
|
||||
"Outlook good", "Signs point to yes", "Yes", "Reply hazy, try again",
|
||||
"Ask again later", "Better not tell you now", "Cannot predict now",
|
||||
"Concentrate and ask again", "Don't bet on it", "My reply is no",
|
||||
"My sources say no", "Outlook not so good", "Very doubtful"]
|
||||
|
||||
while true
|
||||
println("Ask a question (blank to exit):")
|
||||
if !occursin(r"[a-zA-Z]", readline(stdin))
|
||||
break
|
||||
end
|
||||
println(rand(responses))
|
||||
end
|
||||
1
Task/Magic-8-ball/K/magic-8-ball-1.k
Normal file
1
Task/Magic-8-ball/K/magic-8-ball-1.k
Normal file
|
|
@ -0,0 +1 @@
|
|||
ask:{` 0:*1?"/"\"It is certain/It is decidedly so/Without a doubt/Yes, definitely/You may rely on it/As I see it, yes/Most likely/Outlook good/Signs point to yes/Yes/Reply hazy, try again/Ask again later/Better not tell you now/Cannot predict now/Concentrate and ask again/Don't bet on it/My reply is no/My sources say no/Outlook not so good/Very doubtful"}
|
||||
6
Task/Magic-8-ball/K/magic-8-ball-2.k
Normal file
6
Task/Magic-8-ball/K/magic-8-ball-2.k
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
ask "Will this work?"
|
||||
Signs point to yes
|
||||
ask "Was this worth doing?"
|
||||
Without a doubt
|
||||
ask "Can I have a cookie?"
|
||||
Yes, definitely
|
||||
25
Task/Magic-8-ball/Kotlin/magic-8-ball.kotlin
Normal file
25
Task/Magic-8-ball/Kotlin/magic-8-ball.kotlin
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
// Version 1.2.40
|
||||
|
||||
import java.util.Random
|
||||
|
||||
fun main(args: Array<String>) {
|
||||
val answers = listOf(
|
||||
"It is certain", "It is decidedly so", "Without a doubt",
|
||||
"Yes, definitely", "You may rely on it", "As I see it, yes",
|
||||
"Most likely", "Outlook good", "Signs point to yes", "Yes",
|
||||
"Reply hazy, try again", "Ask again later",
|
||||
"Better not tell you now", "Cannot predict now",
|
||||
"Concentrate and ask again", "Don't bet on it",
|
||||
"My reply is no", "My sources say no", "Outlook not so good",
|
||||
"Very doubtful"
|
||||
)
|
||||
val rand = Random()
|
||||
println("Please enter your question or a blank line to quit.")
|
||||
while (true) {
|
||||
print("\n? : ")
|
||||
val question = readLine()!!
|
||||
if (question.trim() == "") return
|
||||
val answer = answers[rand.nextInt(20)]
|
||||
println("\n$answer")
|
||||
}
|
||||
}
|
||||
18
Task/Magic-8-ball/Liberty-BASIC/magic-8-ball.basic
Normal file
18
Task/Magic-8-ball/Liberty-BASIC/magic-8-ball.basic
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
data "It is certain","It is decidedly so","Without a doubt","Yes - definitely",_
|
||||
"You may rely on it","As I see it, yes","Most likely","Outlook good","Yes",_
|
||||
"Signs point to yes","Reply hazy, try again","Ask again later","Better not tell you now",_
|
||||
"Cannot predict now","Concentrate and ask again","Don't count on it","My reply is no",_
|
||||
"My sources say no","Outlook not so good","Very doubtful"
|
||||
|
||||
dim c$(20)
|
||||
for a = 1 to 20
|
||||
read b$
|
||||
c$(a) = b$
|
||||
next a
|
||||
|
||||
[loop]
|
||||
input "Type your question: ";a$
|
||||
if a$="" then end
|
||||
d=int(rnd(1)*20)+1
|
||||
print "Answer: ";c$(d)
|
||||
goto [loop]
|
||||
26
Task/Magic-8-ball/Locomotive-Basic/magic-8-ball.basic
Normal file
26
Task/Magic-8-ball/Locomotive-Basic/magic-8-ball.basic
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
10 mode 2:defint a-z:randomize time
|
||||
20 input "Your question (hit Return to quit)";i$
|
||||
30 if i$="" then print "Goodbye!":end
|
||||
40 q=1+19*rnd
|
||||
50 on q gosub 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290
|
||||
60 goto 20
|
||||
100 print "It is certain":return
|
||||
110 print "It is decidedly so":return
|
||||
120 print "Without a doubt":return
|
||||
130 print "Yes, definitely":return
|
||||
140 print "You may rely on it":return
|
||||
150 print "As I see it, yes":return
|
||||
160 print "Most likely":return
|
||||
170 print "Outlook good":return
|
||||
180 print "Signs point to yes":return
|
||||
190 print "Yes":return
|
||||
200 print "Reply hazy, try again":return
|
||||
210 print "Ask again later":return
|
||||
220 print "Better not tell you now":return
|
||||
230 print "Cannot predict now":return
|
||||
240 print "Concentrate and ask again":return
|
||||
250 print "Don't bet on it":return
|
||||
260 print "My reply is no":return
|
||||
270 print "My sources say no":return
|
||||
280 print "Outlook not so good":return
|
||||
290 print "Very doubtful":return
|
||||
12
Task/Magic-8-ball/Lua/magic-8-ball.lua
Normal file
12
Task/Magic-8-ball/Lua/magic-8-ball.lua
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
math.randomseed(os.time())
|
||||
answers = {
|
||||
"It is certain.", "It is decidedly so.", "Without a doubt.", "Yes, definitely.", "You may rely on it.",
|
||||
"As I see it, yes.", "Most likely.", "Outlook good.", "Signs point to yes.", "Yes.",
|
||||
"Reply hazy, try again.", "Ask again later.", "Better not tell you now.", "Cannot predict now.", "Concentrate and ask again.",
|
||||
"Don't bet on it.", "My reply is no.", "My sources say no.", "Outlook not so good.", "Very doubtful."
|
||||
}
|
||||
while true do
|
||||
io.write("Q: ")
|
||||
question = io.read()
|
||||
print("A: "..answers[math.random(#answers)])
|
||||
end
|
||||
13
Task/Magic-8-ball/M2000-Interpreter/magic-8-ball.m2000
Normal file
13
Task/Magic-8-ball/M2000-Interpreter/magic-8-ball.m2000
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
Module Magic.8.Ball {
|
||||
answers=("It is certain", "It is decidedly so", "Without a doubt", "Yes, definitely", "You may rely on it", "As I see it, yes", "Most likely", "Outlook good", "Signs point to yes", "Yes", "Reply hazy, try again", "Ask again later", "Better not tell you now", "Cannot predict now", "Concentrate and ask again", "Don't bet on it", "My reply is no", "My sources say no", "Outlook not so good", "Very doubtful")
|
||||
Print "Please enter your question or a blank line to quit."
|
||||
{
|
||||
Line Input A$
|
||||
Print
|
||||
A$=trim$(A$)
|
||||
If A$="" Then Exit
|
||||
Print Array$(answers, Random(0, 19))
|
||||
Loop
|
||||
}
|
||||
}
|
||||
Magic.8.Ball
|
||||
18
Task/Magic-8-ball/MSX-Basic/magic-8-ball.basic
Normal file
18
Task/Magic-8-ball/MSX-Basic/magic-8-ball.basic
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
100 CLS
|
||||
110 DATA "It is certain.","It is decidedly so."
|
||||
120 DATA "Without a doubt.","Yes - definitely."
|
||||
130 DATA "You may rely on it.","As I see it, yes."
|
||||
140 DATA "Most likely.","Outlook good."
|
||||
150 DATA "Yes.","Signs point to yes."
|
||||
160 DATA "Reply hazy, try again.","Ask again later."
|
||||
170 DATA "Better not tell you now.","Cannot predict now."
|
||||
180 DATA "Concentrate and ask again.","Don't count on it."
|
||||
190 DATA "My reply is no.","My sources say no."
|
||||
200 DATA "Outlook not so good.","Very doubtful."
|
||||
210 DIM m$(20)
|
||||
220 FOR i = 0 TO 19
|
||||
230 READ m$(i)
|
||||
240 NEXT i
|
||||
260 INPUT "What would you like to know? "; q$
|
||||
270 PRINT m$(INT(RND(20)))
|
||||
280 END
|
||||
11
Task/Magic-8-ball/Mathematica/magic-8-ball.math
Normal file
11
Task/Magic-8-ball/Mathematica/magic-8-ball.math
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
answers = {"It is certain.", "It is decidedly so.",
|
||||
"Without a doubt.", "Yes - definitely.", "You may rely on it.",
|
||||
"As I see it, yes.", "Most likely.", "Outlook good.", "Yes.",
|
||||
"Signs point to yes.", "Reply hazy, try again.",
|
||||
"Ask again later.", "Better not tell you now.",
|
||||
"Cannot predict now.", "Concentrate and ask again.",
|
||||
"Don't count on it.", "My reply is no.", "My sources say no.",
|
||||
"Outlook not so good.", "Very doubtful."};
|
||||
q = Input["Please enter your question"];
|
||||
SeedRandom[Hash[q]];
|
||||
Print[RandomChoice[answers]]
|
||||
16
Task/Magic-8-ball/Min/magic-8-ball.min
Normal file
16
Task/Magic-8-ball/Min/magic-8-ball.min
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
randomize ; Seed the RNG with current timestamp.
|
||||
|
||||
(
|
||||
"It is certain" "It is decidedly so" "Without a doubt"
|
||||
"Yes, definitely" "You may rely on it" "As I see it, yes"
|
||||
"Most likely" "Outlook good" "Signs point to yes" "Yes"
|
||||
"Reply hazy, try again" "Ask again later"
|
||||
"Better not tell you now" "Cannot predict now"
|
||||
"Concentrate and ask again" "Don't bet on it"
|
||||
"My reply is no" "My sources say no" "Outlook not so good"
|
||||
"Very doubtful"
|
||||
) =phrases
|
||||
|
||||
(phrases dup size pred random get puts!) :answer
|
||||
|
||||
(true) ("Ask a question" ask answer) while
|
||||
11
Task/Magic-8-ball/MiniScript/magic-8-ball.mini
Normal file
11
Task/Magic-8-ball/MiniScript/magic-8-ball.mini
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
answers = ["It is certain", "It is decidedly so", "Without a doubt",
|
||||
"Yes, definitely", "You may rely on it", "As I see it, yes",
|
||||
"Most likely", "Outlook good", "Signs point to yes", "Yes",
|
||||
"Reply hazy, try again", "Ask again later",
|
||||
"Better not tell you now", "Cannot predict now",
|
||||
"Concentrate and ask again", "Don't bet on it",
|
||||
"My reply is no", "My sources say no", "Outlook not so good",
|
||||
"Very doubtful"]
|
||||
print "Ask your question and the Magic 8 Ball will give you the answer!"
|
||||
input "What is your question?"
|
||||
print answers[rnd * answers.len]
|
||||
26
Task/Magic-8-ball/Nim/magic-8-ball.nim
Normal file
26
Task/Magic-8-ball/Nim/magic-8-ball.nim
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
import random, strutils
|
||||
|
||||
const Answers = ["It is certain", "It is decidedly so", "Without a doubt",
|
||||
"Yes, definitely", "You may rely on it", "As I see it, yes",
|
||||
"Most likely", "Outlook good", "Signs point to yes", "Yes",
|
||||
"Reply hazy, try again", "Ask again later",
|
||||
"Better not tell you now", "Cannot predict now",
|
||||
"Concentrate and ask again", "Don't bet on it",
|
||||
"My reply is no", "My sources say no", "Outlook not so good",
|
||||
"Very doubtful"]
|
||||
|
||||
proc exit() =
|
||||
echo "Bye."
|
||||
quit QuitSuccess
|
||||
|
||||
randomize()
|
||||
|
||||
try:
|
||||
while true:
|
||||
echo "Type your question or an empty line to quit."
|
||||
stdout.write "? "
|
||||
let question = stdin.readLine()
|
||||
if question.strip().len == 0: exit()
|
||||
echo Answers[rand(19)], ".\n"
|
||||
except EOFError:
|
||||
exit()
|
||||
16
Task/Magic-8-ball/OoRexx/magic-8-ball.rexx
Normal file
16
Task/Magic-8-ball/OoRexx/magic-8-ball.rexx
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
/* REXX */
|
||||
a=.array~of("It is certain", "It is decidedly so", "Without a doubt",,
|
||||
"Yes, definitely", "You may rely on it", "As I see it, yes",,
|
||||
"Most likely", "Outlook good", "Signs point to yes", "Yes",,
|
||||
"Reply hazy, try again", "Ask again later",,
|
||||
"Better not tell you now", "Cannot predict now",,
|
||||
"Concentrate and ask again", "Don't bet on it",,
|
||||
"My reply is no", "My sources say no", "Outlook not so good",,
|
||||
"Very doubtful")
|
||||
Do Forever
|
||||
Say 'your question:'
|
||||
Parse Pull q
|
||||
If q='' Then Leave
|
||||
Say a[random(1,20)]
|
||||
Say ''
|
||||
End
|
||||
49
Task/Magic-8-ball/PHP/magic-8-ball.php
Normal file
49
Task/Magic-8-ball/PHP/magic-8-ball.php
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
<?php
|
||||
|
||||
$fortunes = array(
|
||||
"It is certain",
|
||||
"It is decidedly so",
|
||||
"Without a doubt",
|
||||
"Yes, definitely",
|
||||
"You may rely on it",
|
||||
"As I see it, yes",
|
||||
"Most likely",
|
||||
"Outlook good",
|
||||
"Signs point to yes",
|
||||
"Yes",
|
||||
"Reply hazy, try again",
|
||||
"Ask again later",
|
||||
"Better not tell you now",
|
||||
"Cannot predict now",
|
||||
"Concentrate and ask again",
|
||||
"Don't bet on it",
|
||||
"My reply is no",
|
||||
"My sources say no",
|
||||
"Outlook not so good",
|
||||
"Very doubtful"
|
||||
);
|
||||
|
||||
/*
|
||||
* Prompt the user at the CLI for the command
|
||||
*/
|
||||
function cli_prompt( $prompt='> ', $default=false ) {
|
||||
|
||||
// keep asking until a non-empty response is given
|
||||
do {
|
||||
// display the prompt
|
||||
echo $prompt;
|
||||
|
||||
// read input and remove CRLF
|
||||
$cmd = chop( fgets( STDIN ) );
|
||||
|
||||
} while ( empty( $default ) and empty( $cmd ) );
|
||||
|
||||
return $cmd ?: $default;
|
||||
|
||||
}
|
||||
|
||||
$question = cli_prompt( 'What is your question? ' );
|
||||
|
||||
echo 'Q: ', $question, PHP_EOL;
|
||||
|
||||
echo 'A: ', $fortunes[ array_rand( $fortunes ) ], PHP_EOL;
|
||||
12
Task/Magic-8-ball/Perl/magic-8-ball.pl
Normal file
12
Task/Magic-8-ball/Perl/magic-8-ball.pl
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
@a = ('It is certain', 'It is decidedly so', 'Without a doubt', 'Yes, definitely',
|
||||
'You may rely on it', 'As I see it, yes', 'Most likely', 'Outlook good',
|
||||
'Signs point to yes', 'Yes', 'Reply hazy, try again', 'Ask again later',
|
||||
'Better not tell you now', 'Cannot predict now', 'Concentrate and ask again',
|
||||
"Don't bet on it", 'My reply is no', 'My sources say no', 'Outlook not so good',
|
||||
'Very doubtful');
|
||||
|
||||
while () {
|
||||
print 'Enter your question:';
|
||||
last unless <> =~ /\w/;
|
||||
print @a[int rand @a], "\n";
|
||||
}
|
||||
51
Task/Magic-8-ball/Phix/magic-8-ball.phix
Normal file
51
Task/Magic-8-ball/Phix/magic-8-ball.phix
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
(phixonline)-->
|
||||
<span style="color: #008080;">with</span> <span style="color: #008080;">javascript_semantics</span>
|
||||
<span style="color: #008080;">constant</span> <span style="color: #000000;">answers</span> <span style="color: #0000FF;">=</span> <span style="color: #0000FF;">{</span><span style="color: #008000;">"As I see it, yes"</span><span style="color: #0000FF;">,</span> <span style="color: #008000;">"Ask again later"</span><span style="color: #0000FF;">,</span> <span style="color: #008000;">"You may rely on it"</span><span style="color: #0000FF;">,</span>
|
||||
<span style="color: #008000;">"Without a doubt"</span><span style="color: #0000FF;">,</span> <span style="color: #008000;">"Don't bet on it"</span><span style="color: #0000FF;">,</span> <span style="color: #008000;">"Outlook not so good"</span><span style="color: #0000FF;">,</span>
|
||||
<span style="color: #008000;">"Signs point to yes"</span><span style="color: #0000FF;">,</span> <span style="color: #008000;">"It is decidedly so"</span><span style="color: #0000FF;">,</span> <span style="color: #008000;">"It is certain"</span><span style="color: #0000FF;">,</span>
|
||||
<span style="color: #008000;">"Better not tell you now"</span><span style="color: #0000FF;">,</span> <span style="color: #008000;">"My reply is no"</span><span style="color: #0000FF;">,</span> <span style="color: #008000;">"Outlook good"</span><span style="color: #0000FF;">,</span>
|
||||
<span style="color: #008000;">"Concentrate and ask again"</span><span style="color: #0000FF;">,</span> <span style="color: #008000;">"Reply hazy, try again"</span><span style="color: #0000FF;">,</span> <span style="color: #008000;">"Yes"</span><span style="color: #0000FF;">,</span>
|
||||
<span style="color: #008000;">"Most likely"</span><span style="color: #0000FF;">,</span> <span style="color: #008000;">"Cannot predict now"</span><span style="color: #0000FF;">,</span> <span style="color: #008000;">"My sources say maybe"</span><span style="color: #0000FF;">,</span>
|
||||
<span style="color: #008000;">"My sources say no"</span><span style="color: #0000FF;">,</span> <span style="color: #008000;">"Yes, definitely"</span><span style="color: #0000FF;">,</span> <span style="color: #008000;">"Yes, probably not"</span><span style="color: #0000FF;">,</span>
|
||||
<span style="color: #008000;">"Very doubtful"</span><span style="color: #0000FF;">,</span> <span style="color: #008000;">"Your question has already been answered"</span><span style="color: #0000FF;">}</span>
|
||||
|
||||
<span style="color: #008080;">include</span> <span style="color: #000000;">pGUI</span><span style="color: #0000FF;">.</span><span style="color: #000000;">e</span>
|
||||
<span style="color: #004080;">Ihandle</span> <span style="color: #000000;">dlg</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">vbox</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">question</span><span style="color: #0000FF;">,</span> <span style="color: #000000;">answer</span>
|
||||
|
||||
<span style="color: #004080;">sequence</span> <span style="color: #000000;">answered</span> <span style="color: #0000FF;">=</span> <span style="color: #0000FF;">{}</span>
|
||||
<span style="color: #004080;">bool</span> <span style="color: #000000;">clearkey</span> <span style="color: #0000FF;">=</span> <span style="color: #004600;">false</span>
|
||||
|
||||
<span style="color: #008080;">function</span> <span style="color: #000000;">key_cb</span><span style="color: #0000FF;">(</span><span style="color: #004080;">Ihandle</span> <span style="color: #000080;font-style:italic;">/*dlg*/</span><span style="color: #0000FF;">,</span> <span style="color: #004080;">atom</span> <span style="color: #000000;">c</span><span style="color: #0000FF;">)</span>
|
||||
<span style="color: #008080;">if</span> <span style="color: #000000;">c</span><span style="color: #0000FF;">=</span><span style="color: #004600;">K_ESC</span> <span style="color: #008080;">then</span> <span style="color: #008080;">return</span> <span style="color: #004600;">IUP_CLOSE</span> <span style="color: #008080;">end</span> <span style="color: #008080;">if</span> <span style="color: #000080;font-style:italic;">-- (standard practice for me)</span>
|
||||
<span style="color: #008080;">if</span> <span style="color: #000000;">c</span><span style="color: #0000FF;">=</span><span style="color: #004600;">K_F5</span> <span style="color: #008080;">then</span> <span style="color: #008080;">return</span> <span style="color: #004600;">IUP_DEFAULT</span> <span style="color: #008080;">end</span> <span style="color: #008080;">if</span> <span style="color: #000080;font-style:italic;">-- (let browser reload work)</span>
|
||||
<span style="color: #008080;">if</span> <span style="color: #000000;">c</span><span style="color: #0000FF;">=</span><span style="color: #004600;">K_CR</span> <span style="color: #008080;">then</span>
|
||||
<span style="color: #004080;">string</span> <span style="color: #000000;">q</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">IupGetAttribute</span><span style="color: #0000FF;">(</span><span style="color: #000000;">question</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"VALUE"</span><span style="color: #0000FF;">),</span> <span style="color: #000000;">reply</span>
|
||||
<span style="color: #008080;">if</span> <span style="color: #7060A8;">length</span><span style="color: #0000FF;">(</span><span style="color: #000000;">q</span><span style="color: #0000FF;">)</span> <span style="color: #008080;">then</span>
|
||||
<span style="color: #008080;">if</span> <span style="color: #7060A8;">find</span><span style="color: #0000FF;">(</span><span style="color: #000000;">q</span><span style="color: #0000FF;">,</span><span style="color: #000000;">answered</span><span style="color: #0000FF;">)</span> <span style="color: #008080;">then</span>
|
||||
<span style="color: #000000;">reply</span> <span style="color: #0000FF;">=</span> <span style="color: #008000;">"Your question has already been answered"</span>
|
||||
<span style="color: #008080;">else</span>
|
||||
<span style="color: #000000;">answered</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">append</span><span style="color: #0000FF;">(</span><span style="color: #000000;">answered</span><span style="color: #0000FF;">,</span><span style="color: #000000;">q</span><span style="color: #0000FF;">)</span>
|
||||
<span style="color: #000000;">reply</span> <span style="color: #0000FF;">=</span> <span style="color: #000000;">answers</span><span style="color: #0000FF;">[</span><span style="color: #7060A8;">rand</span><span style="color: #0000FF;">(</span><span style="color: #7060A8;">length</span><span style="color: #0000FF;">(</span><span style="color: #000000;">answers</span><span style="color: #0000FF;">))]</span>
|
||||
<span style="color: #008080;">end</span> <span style="color: #008080;">if</span>
|
||||
<span style="color: #7060A8;">IupSetStrAttribute</span><span style="color: #0000FF;">(</span><span style="color: #000000;">answer</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"TITLE"</span><span style="color: #0000FF;">,</span><span style="color: #000000;">reply</span><span style="color: #0000FF;">)</span>
|
||||
<span style="color: #000000;">clearkey</span> <span style="color: #0000FF;">=</span> <span style="color: #004600;">true</span>
|
||||
<span style="color: #008080;">end</span> <span style="color: #008080;">if</span>
|
||||
<span style="color: #008080;">elsif</span> <span style="color: #000000;">clearkey</span> <span style="color: #008080;">then</span>
|
||||
<span style="color: #7060A8;">IupSetAttribute</span><span style="color: #0000FF;">(</span><span style="color: #000000;">question</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"VALUE"</span><span style="color: #0000FF;">,</span><span style="color: #008000;">""</span><span style="color: #0000FF;">)</span>
|
||||
<span style="color: #000000;">clearkey</span> <span style="color: #0000FF;">=</span> <span style="color: #004600;">false</span>
|
||||
<span style="color: #008080;">end</span> <span style="color: #008080;">if</span>
|
||||
<span style="color: #008080;">return</span> <span style="color: #004600;">IUP_CONTINUE</span>
|
||||
<span style="color: #008080;">end</span> <span style="color: #008080;">function</span>
|
||||
|
||||
<span style="color: #7060A8;">IupOpen</span><span style="color: #0000FF;">()</span>
|
||||
<span style="color: #000000;">question</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">IupText</span><span style="color: #0000FF;">(</span><span style="color: #008000;">"EXPAND=HORIZONTAL"</span><span style="color: #0000FF;">)</span>
|
||||
<span style="color: #000000;">answer</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">IupLabel</span><span style="color: #0000FF;">(</span><span style="color: #008000;">""</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"EXPAND=HORIZONTAL"</span><span style="color: #0000FF;">)</span>
|
||||
<span style="color: #000000;">vbox</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">IupVbox</span><span style="color: #0000FF;">({</span><span style="color: #000000;">question</span><span style="color: #0000FF;">,</span><span style="color: #000000;">answer</span><span style="color: #0000FF;">},</span><span style="color: #008000;">`MARGIN=40x40`</span><span style="color: #0000FF;">)</span>
|
||||
<span style="color: #000000;">dlg</span> <span style="color: #0000FF;">=</span> <span style="color: #7060A8;">IupDialog</span><span style="color: #0000FF;">(</span><span style="color: #000000;">vbox</span><span style="color: #0000FF;">,</span><span style="color: #008000;">`TITLE="Magic 8-ball",SIZE=250x100`</span><span style="color: #0000FF;">)</span>
|
||||
<span style="color: #7060A8;">IupSetCallback</span><span style="color: #0000FF;">(</span><span style="color: #000000;">dlg</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"KEY_CB"</span><span style="color: #0000FF;">,</span><span style="color: #7060A8;">Icallback</span><span style="color: #0000FF;">(</span><span style="color: #008000;">"key_cb"</span><span style="color: #0000FF;">))</span>
|
||||
<span style="color: #7060A8;">IupShow</span><span style="color: #0000FF;">(</span><span style="color: #000000;">dlg</span><span style="color: #0000FF;">)</span>
|
||||
<span style="color: #008080;">if</span> <span style="color: #7060A8;">platform</span><span style="color: #0000FF;">()!=</span><span style="color: #004600;">JS</span> <span style="color: #008080;">then</span>
|
||||
<span style="color: #7060A8;">IupMainLoop</span><span style="color: #0000FF;">()</span>
|
||||
<span style="color: #7060A8;">IupHide</span><span style="color: #0000FF;">(</span><span style="color: #000000;">dlg</span><span style="color: #0000FF;">)</span>
|
||||
<span style="color: #008080;">end</span> <span style="color: #008080;">if</span>
|
||||
<!--
|
||||
28
Task/Magic-8-ball/PureBasic/magic-8-ball.basic
Normal file
28
Task/Magic-8-ball/PureBasic/magic-8-ball.basic
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
Define.s Magic8="● It is certain."+#LF$+
|
||||
"● It is decidedly so."+#LF$+
|
||||
"● Without a doubt."+#LF$+
|
||||
"● Yes – definitely."+#LF$+
|
||||
"● You may rely on it."+#LF$+
|
||||
"● As I see it, yes."+#LF$+
|
||||
"● Most likely."+#LF$+
|
||||
"● Outlook good."+#LF$+
|
||||
"● Yes."+#LF$+
|
||||
"● Signs point To yes."+#LF$+
|
||||
"● Reply hazy, try again."+#LF$+
|
||||
"● Ask again later."+#LF$+
|
||||
"● Better Not tell you now."+#LF$+
|
||||
"● Cannot predict now."+#LF$+
|
||||
"● Concentrate And ask again."+#LF$+
|
||||
"● Don't count on it."+#LF$+
|
||||
"● My reply is no."+#LF$+
|
||||
"● My sources say no."+#LF$+
|
||||
"● Outlook Not so good."+#LF$+
|
||||
"● Very doubtful."+#LF$
|
||||
|
||||
OpenConsole()
|
||||
|
||||
Repeat
|
||||
Print("MAGIC8: What would you like To know? "): q$=Input()
|
||||
If Len(q$)=0 : End : EndIf
|
||||
PrintN(StringField(Magic8,Random(CountString(Magic8,#LF$),1),#LF$))
|
||||
ForEver
|
||||
21
Task/Magic-8-ball/Python/magic-8-ball.py
Normal file
21
Task/Magic-8-ball/Python/magic-8-ball.py
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
import random
|
||||
|
||||
s = ('It is certain', 'It is decidedly so', 'Without a doubt', 'Yes, definitely',
|
||||
'You may rely on it', 'As I see it, yes', 'Most likely', 'Outlook good',
|
||||
'Signs point to yes', 'Yes', 'Reply hazy, try again', 'Ask again later',
|
||||
'Better not tell you now', 'Cannot predict now', 'Concentrate and ask again',
|
||||
"Don't bet on it", 'My reply is no', 'My sources say no', 'Outlook not so good',
|
||||
'Very doubtful')
|
||||
|
||||
q_and_a = {}
|
||||
|
||||
while True:
|
||||
question = input('Ask your question:')
|
||||
if len(question) == 0: break
|
||||
|
||||
if question in q_and_a:
|
||||
print('Your question has already been answered')
|
||||
else:
|
||||
answer = random.choice(s)
|
||||
q_and_a[question] = answer
|
||||
print(answer)
|
||||
23
Task/Magic-8-ball/QBasic/magic-8-ball.basic
Normal file
23
Task/Magic-8-ball/QBasic/magic-8-ball.basic
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
DIM answer$(19)
|
||||
FOR i = 0 TO UBOUND(answer$): READ answer$(i): NEXT i
|
||||
RANDOMIZE TIMER
|
||||
|
||||
PRINT "Q to quit."
|
||||
DO
|
||||
INPUT "What would you like to know? ", question$
|
||||
IF UCASE$(question$) = "Q" THEN EXIT DO
|
||||
PRINT answer$(INT(RND * UBOUND(answer$)))
|
||||
PRINT
|
||||
LOOP
|
||||
END
|
||||
|
||||
DATA "It is certain.","It is decidedly so."
|
||||
DATA "Without a doubt.","Yes – definitely."
|
||||
DATA "You may rely on it.","As I see it, yes."
|
||||
DATA "Most likely.","Outlook good.","Yes."
|
||||
DATA "Signs point to yes.","Reply hazy, try again."
|
||||
DATA "Ask again later.","Better not tell you now."
|
||||
DATA "Cannot predict now.","Concentrate and ask again."
|
||||
DATA "Don't count on it.","My reply is no."
|
||||
DATA "My sources say no.","Outlook not so good."
|
||||
DATA "Very doubtful."
|
||||
13
Task/Magic-8-ball/Quackery/magic-8-ball.quackery
Normal file
13
Task/Magic-8-ball/Quackery/magic-8-ball.quackery
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
[ 20 random
|
||||
[ table
|
||||
$ "Concentrate and ask again." $ "Yes."
|
||||
$ "Better not tell you now." $ "Most likely."
|
||||
$ "Reply hazy, try again." $ "Outlook good."
|
||||
$ "Outlook not so good." $ "It is certain."
|
||||
$ "Cannot predict now." $ "Very doubtful."
|
||||
$ "Signs point to yes." $ "My reply is no."
|
||||
$ "It is decidedly so." $ "Ask again later."
|
||||
$ "You may rely on it." $ "Without a doubt."
|
||||
$ "Don't count on it." $ "Yes - definitely."
|
||||
$ "My sources say no." $ "As I see it, yes." ]
|
||||
do echo$ cr ] is 8-ball ( --> )
|
||||
32
Task/Magic-8-ball/R/magic-8-ball.r
Normal file
32
Task/Magic-8-ball/R/magic-8-ball.r
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
eight_ball <- function()
|
||||
{
|
||||
responses <- c("It is certain", "It is decidedly so", "Without a doubt",
|
||||
"Yes, definitely", "You may rely on it", "As I see it, yes",
|
||||
"Most likely", "Outlook good", "Signs point to yes", "Yes",
|
||||
"Reply hazy, try again", "Ask again later",
|
||||
"Better not tell you now", "Cannot predict now",
|
||||
"Concentrate and ask again", "Don't bet on it",
|
||||
"My reply is no", "My sources say no", "Outlook not so good",
|
||||
"Very doubtful")
|
||||
|
||||
question <- ""
|
||||
|
||||
cat("Welcome to 8 ball!\n\n", "Please ask yes/no questions to get answers.",
|
||||
" Type 'quit' to exit the program\n\n")
|
||||
|
||||
while(TRUE)
|
||||
{
|
||||
question <- readline(prompt="Enter Question: ")
|
||||
if(question == 'quit')
|
||||
{
|
||||
break
|
||||
}
|
||||
randint <- runif(1, 1, 20)
|
||||
cat("Response: ", responses[randint], "\n")
|
||||
}
|
||||
}
|
||||
|
||||
if(!interactive())
|
||||
{
|
||||
eight_ball()
|
||||
}
|
||||
24
Task/Magic-8-ball/REXX/magic-8-ball-1.rexx
Normal file
24
Task/Magic-8-ball/REXX/magic-8-ball-1.rexx
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
/* REXX */
|
||||
Call mk_a "It is certain", "It is decidedly so", "Without a doubt",,
|
||||
"Yes, definitely", "You may rely on it", "As I see it, yes",,
|
||||
"Most likely", "Outlook good", "Signs point to yes", "Yes",,
|
||||
"Reply hazy, try again", "Ask again later",,
|
||||
"Better not tell you now", "Cannot predict now",,
|
||||
"Concentrate and ask again", "Don't bet on it",,
|
||||
"My reply is no", "My sources say no", "Outlook not so good",,
|
||||
"Very doubtful"
|
||||
Do Forever
|
||||
Say 'your question:'
|
||||
Parse Pull q
|
||||
If q='' Then Leave
|
||||
z=random(1,a.0)
|
||||
Say a.z
|
||||
Say ''
|
||||
End
|
||||
Exit
|
||||
mk_a:
|
||||
a.0=arg()
|
||||
Do i=1 To a.0
|
||||
a.i=arg(i)
|
||||
End
|
||||
Return
|
||||
7
Task/Magic-8-ball/REXX/magic-8-ball-2.rexx
Normal file
7
Task/Magic-8-ball/REXX/magic-8-ball-2.rexx
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
/*REXX program simulates the "shaking" of a "Magic 8-ball" and displaying an answer.*/
|
||||
$="It is certain ÷It is decidedly so ÷Without a doubt÷Yes, definitely÷Signs point to yes",
|
||||
"÷You may rely on it÷ As I see it, yes÷My reply is no÷Outlook good÷Outlook not so good",
|
||||
"÷Yes÷Ask again later÷Better not tell you now÷Cannot predict now÷Reply hazy, try again",
|
||||
"÷Concentrate and ask again÷Don't bet on it÷Most likely÷My sources say no÷Very doubtful"
|
||||
|
||||
say space(translate(word(translate(translate($, '┼', " "), , '÷'), random(1, 20)), ,"┼")).
|
||||
18
Task/Magic-8-ball/Racket/magic-8-ball.rkt
Normal file
18
Task/Magic-8-ball/Racket/magic-8-ball.rkt
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
(define eight-ball-responses
|
||||
(list "It is certain" "It is decidedly so" "Without a doubt" "Yes definitely" "You may rely on it"
|
||||
"As I see it, yes" "Most likely" "Outlook good" "Yes" "Signs point to yes"
|
||||
"Reply hazy try again" "Ask again later" "Better not tell you now" "Cannot predict now"
|
||||
"Concentrate and ask again"
|
||||
"Don't count on it" "My reply is no" "My sources say no" "Outlook not so good"
|
||||
"Very doubtful"))
|
||||
|
||||
(define ((answer-picker answers)) (sequence-ref answers (random (sequence-length answers))))
|
||||
|
||||
(define magic-eightball (answer-picker eight-ball-responses))
|
||||
|
||||
(module+ main
|
||||
(let loop ()
|
||||
(display "What do you want to know\n?")
|
||||
(read-line)
|
||||
(displayln (magic-eightball))
|
||||
(loop)))
|
||||
8
Task/Magic-8-ball/Raku/magic-8-ball.raku
Normal file
8
Task/Magic-8-ball/Raku/magic-8-ball.raku
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
put 'Please enter your question or a blank line to quit.';
|
||||
|
||||
["It is certain", "It is decidedly so", "Without a doubt", "Yes, definitely",
|
||||
"You may rely on it", "As I see it, yes", "Most likely", "Outlook good",
|
||||
"Signs point to yes", "Yes", "Reply hazy, try again", "Ask again later",
|
||||
"Better not tell you now", "Cannot predict now", "Concentrate and ask again",
|
||||
"Don't bet on it", "My reply is no", "My sources say no", "Outlook not so good",
|
||||
"Very doubtful"].roll.put while prompt('? : ').chars;
|
||||
12
Task/Magic-8-ball/Ring/magic-8-ball.ring
Normal file
12
Task/Magic-8-ball/Ring/magic-8-ball.ring
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
# Project : Magic 8-Ball
|
||||
|
||||
answers = ["It is certain", "It is decidedly so", "Without a doubt",
|
||||
"Yes, definitely", "You may rely on it", "As I see it, yes",
|
||||
"Most likely", "Outlook good", "Signs point to yes", "Yes",
|
||||
"Reply hazy, try again", "Ask again later",
|
||||
"Better not tell you now", "Cannot predict now",
|
||||
"Concentrate and ask again", "Don't bet on it",
|
||||
"My reply is no", "My sources say no", "Outlook not so good",
|
||||
"Very doubtful"]
|
||||
index = random(len(answers)-1)+1
|
||||
see answers[index] + nl
|
||||
39
Task/Magic-8-ball/Ruby/magic-8-ball.rb
Normal file
39
Task/Magic-8-ball/Ruby/magic-8-ball.rb
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
#!/usr/bin/ruby
|
||||
|
||||
class EightBall
|
||||
def initialize
|
||||
print "Welcome to 8 ball! Ask your question below. "
|
||||
puts "Type 'quit' to exit the program.\n\n"
|
||||
@responses = ["It is certain", "It is decidedly so",
|
||||
"Without a doubt", "Yes, definitely",
|
||||
"You may rely on it", "As I see it, yes",
|
||||
"Most likely", "Outlook good",
|
||||
"Signs point to yes", "Yes",
|
||||
"Reply hazy, try again", "Ask again later",
|
||||
"Better not tell you now",
|
||||
"Cannot predict now",
|
||||
"Concentrate and ask again", "Don't bet on it",
|
||||
"My reply is no", "My sources say no",
|
||||
"Outlook not so good", "Very doubtful"]
|
||||
end
|
||||
|
||||
def ask_question
|
||||
print "Question: "
|
||||
question = gets
|
||||
|
||||
if question.chomp.eql? "quit"
|
||||
exit(0)
|
||||
end
|
||||
|
||||
puts "Response: #{@responses.sample} \n\n"
|
||||
end
|
||||
|
||||
def run
|
||||
loop do
|
||||
ask_question
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
eight_ball = EightBall.new
|
||||
eight_ball.run
|
||||
43
Task/Magic-8-ball/Rust/magic-8-ball.rust
Normal file
43
Task/Magic-8-ball/Rust/magic-8-ball.rust
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
extern crate rand;
|
||||
|
||||
use rand::prelude::*;
|
||||
use std::io;
|
||||
|
||||
fn main() {
|
||||
let answers = [
|
||||
"It is certain",
|
||||
"It is decidedly so",
|
||||
"Without a doubt",
|
||||
"Yes, definitely",
|
||||
"You may rely on it",
|
||||
"As I see it, yes",
|
||||
"Most likely",
|
||||
"Outlook good",
|
||||
"Signs point to yes",
|
||||
"Yes",
|
||||
"Reply hazy, try again",
|
||||
"Ask again later",
|
||||
"Better not tell you now",
|
||||
"Cannot predict now",
|
||||
"Concentrate and ask again",
|
||||
"Don't bet on it",
|
||||
"My reply is no",
|
||||
"My sources say no",
|
||||
"Outlook not so good",
|
||||
"Very doubtful",
|
||||
];
|
||||
let mut rng = rand::thread_rng();
|
||||
let mut input_line = String::new();
|
||||
|
||||
println!("Please enter your question or a blank line to quit.\n");
|
||||
loop {
|
||||
io::stdin()
|
||||
.read_line(&mut input_line)
|
||||
.expect("The read line failed.");
|
||||
if input_line.trim() == "" {
|
||||
break;
|
||||
}
|
||||
println!("{}\n", answers.choose(&mut rng).unwrap());
|
||||
input_line.clear();
|
||||
}
|
||||
}
|
||||
20
Task/Magic-8-ball/Sather/magic-8-ball-1.sa
Normal file
20
Task/Magic-8-ball/Sather/magic-8-ball-1.sa
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
class MAIN is
|
||||
const answers: ARRAY{STR} :=
|
||||
|
|
||||
"It is certain.", "It is decidedly so.",
|
||||
"Without a doubt.", "Yes - definitely.", "You may rely on it.",
|
||||
"As I see it, yes.", "Most likely.", "Outlook good.",
|
||||
"Yes.", "Signs point to yes.", "Reply hazy, try again.",
|
||||
"Ask again later.", "Better not tell you now.", "Cannot predict now.",
|
||||
"Concentrate and ask again.", "Don't count on it.", "My reply is no.",
|
||||
"My sources say no.", "Outlook not so good.", "Very doubtful."
|
||||
|;
|
||||
main is
|
||||
RND::seed := #TIMES.wall_time;
|
||||
loop
|
||||
#OUT+"Your question: "; #OUT.flush;
|
||||
question ::= #IN.get_str;
|
||||
#OUT+answers[RND::int(0, answers.size-1)] + "\n";
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
29
Task/Magic-8-ball/Sather/magic-8-ball-2.sa
Normal file
29
Task/Magic-8-ball/Sather/magic-8-ball-2.sa
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
import scala.util.Random
|
||||
|
||||
object Magic8Ball extends App {
|
||||
val shake: () => String = {
|
||||
val answers = List(
|
||||
"It is certain.", "It is decidedly so.", "Without a doubt.",
|
||||
"Yes – definitely.", "You may rely on it.", "As I see it, yes.",
|
||||
"Most likely.", "Outlook good.", "Yes.", "Signs point to yes.",
|
||||
"Reply hazy, try again.", "Ask again later", "Better not tell you now.",
|
||||
"Cannot predict now.", "Concentrate and ask again.", "Don't count on it.",
|
||||
"My reply is no.", "My sources say no.", "Outlook not so good.",
|
||||
"Very doubtful."
|
||||
)
|
||||
val r = new Random
|
||||
() => answers(r.nextInt(answers.length))
|
||||
}
|
||||
|
||||
println("Ask the Magic 8-Ball your questions. ('q' or 'quit' to quit)\n")
|
||||
|
||||
while (true) {
|
||||
io.StdIn.readLine("Question: ").toLowerCase match {
|
||||
case "q" | "quit" =>
|
||||
println("Goodbye.")
|
||||
sys.exit()
|
||||
case _ =>
|
||||
println(s"Response: ${shake()}\n")
|
||||
}
|
||||
}
|
||||
}
|
||||
34
Task/Magic-8-ball/Sather/magic-8-ball-3.sa
Normal file
34
Task/Magic-8-ball/Sather/magic-8-ball-3.sa
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
namespace path {::tcl::mathop ::tcl::mathfunc}
|
||||
|
||||
set answers {
|
||||
"As I see it, yes"
|
||||
"Ask again later"
|
||||
"Better not tell you now"
|
||||
"Cannot predict now"
|
||||
"Concentrate and ask again"
|
||||
"Don't bet on it"
|
||||
"It is certain"
|
||||
"It is decidedly so"
|
||||
"Most likely"
|
||||
"My reply is no"
|
||||
"My sources say maybe"
|
||||
"My sources say no"
|
||||
"Outlook good"
|
||||
"Outlook not so good"
|
||||
"Reply hazy, try again"
|
||||
"Signs point to yes"
|
||||
"Very doubtful"
|
||||
"Without a doubt"
|
||||
"Yes"
|
||||
"Yes, definitely"
|
||||
"Yes, probably not"
|
||||
"You may rely on it"
|
||||
"Your question has already been answered"
|
||||
}
|
||||
|
||||
puts -nonewline "Question: "; flush stdout
|
||||
while {[gets stdin line] > 0} {
|
||||
set answer [lindex $answers [int [* [rand] [llength $answers]]]]
|
||||
puts "⑧ says “$answer”"
|
||||
puts -nonewline "Question: "; flush stdout
|
||||
}
|
||||
46
Task/Magic-8-ball/Sather/magic-8-ball-4.sa
Normal file
46
Task/Magic-8-ball/Sather/magic-8-ball-4.sa
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
10 PRINT "Concentrate hard on your question, then tell me your favorite number."
|
||||
20 INPUT N
|
||||
30 REM in lieu of a random number generator
|
||||
40 IF N<0 THEN LET N=-N
|
||||
50 IF N<20 THEN GOTO 1000+N*10
|
||||
60 LET N=N-20
|
||||
70 GOTO 50
|
||||
1000 PRINT "It is certain."
|
||||
1005 END
|
||||
1010 PRINT "It is decidedly so."
|
||||
1015 END
|
||||
1020 PRINT "Without a doubt."
|
||||
1025 END
|
||||
1030 PRINT "Yes - definitely."
|
||||
1035 END
|
||||
1040 PRINT "You may rely on it."
|
||||
1045 END
|
||||
1050 PRINT "As I see it, yes."
|
||||
1055 END
|
||||
1060 PRINT "Most likely."
|
||||
1065 END
|
||||
1070 PRINT "Outlook good."
|
||||
1075 END
|
||||
1080 PRINT "Yes."
|
||||
1085 END
|
||||
1090 PRINT "Signs point to yes."
|
||||
1095 END
|
||||
1100 PRINT "Reply hazy, try again."
|
||||
1105 END
|
||||
1110 PRINT "Ask again later."
|
||||
1115 END
|
||||
1120 PRINT "Better not tell you now."
|
||||
1125 END
|
||||
1130 PRINT "Cannot predict now."
|
||||
1135 END
|
||||
1140 PRINT "Concentrate and ask again."
|
||||
1145 END
|
||||
1150 PRINT "Don't count on it."
|
||||
1155 END
|
||||
1160 PRINT "My reply is no."
|
||||
1165 END
|
||||
1170 PRINT "My sources say no."
|
||||
1175 END
|
||||
1180 PRINT "Outlook not so good."
|
||||
1185 END
|
||||
1190 PRINT "Very doubtful."
|
||||
23
Task/Magic-8-ball/Transd/magic-8-ball.transd
Normal file
23
Task/Magic-8-ball/Transd/magic-8-ball.transd
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
#lang transd
|
||||
|
||||
MainModule : {
|
||||
ans: ["It is certain.", "It is decidedly so.", "Without a doubt.",
|
||||
"Yes - definitely.", "You may rely on it.", "As I see it, yes.",
|
||||
"Most likely.", "Outlook good.", "Yes.", "Signs point to yes.",
|
||||
"Reply hazy, try again.", "Ask again later.",
|
||||
"Better not tell you now.", "Cannot predict now.",
|
||||
"Concentrate and ask again.", "Don't count on it.",
|
||||
"My reply is no.", "My sources say no.", "Outlook not so good.",
|
||||
"Very doubtful."],
|
||||
_start: (lambda locals: sense 0 quest ""
|
||||
(while true
|
||||
(lout "Please, ask your question:")
|
||||
(getline quest)
|
||||
(if (not (size quest)) break)
|
||||
(if (neq (back quest) "?") (lout "\nEh?") continue)
|
||||
(= sense 0)
|
||||
(tql quest reduce: ["col1"] using: (λ c Char() (+= sense c)))
|
||||
(lout (get ans (mod sense 20)))
|
||||
)
|
||||
)
|
||||
}
|
||||
24
Task/Magic-8-ball/True-BASIC/magic-8-ball.basic
Normal file
24
Task/Magic-8-ball/True-BASIC/magic-8-ball.basic
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
DIM answer$(20)
|
||||
FOR i = 1 to ubound(answer$)
|
||||
READ answer$(i)
|
||||
NEXT i
|
||||
DATA "It is certain.", "It is decidedly so."
|
||||
DATA "Without a doubt.", "Yes – definitely."
|
||||
DATA "You may rely on it.", "As I see it, yes."
|
||||
DATA "Most likely.", "Outlook good.", "Yes."
|
||||
DATA "Signs point to yes.", "Reply hazy, try again."
|
||||
DATA "Ask again later.", "Better not tell you now."
|
||||
DATA "Cannot predict now.", "Concentrate and ask again."
|
||||
DATA "Don't count on it.", "My reply is no."
|
||||
DATA "My sources say no.", "Outlook not so good."
|
||||
DATA "Very doubtful."
|
||||
|
||||
RANDOMIZE
|
||||
PRINT "Q to quit."
|
||||
DO
|
||||
INPUT prompt "What would you like to know? ": question$
|
||||
IF ucase$(question$) = "Q" then EXIT DO
|
||||
PRINT answer$(int(rnd*ubound(answer$)))
|
||||
PRINT
|
||||
LOOP
|
||||
END
|
||||
24
Task/Magic-8-ball/UNIX-Shell/magic-8-ball.sh
Normal file
24
Task/Magic-8-ball/UNIX-Shell/magic-8-ball.sh
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
#!/bin/bash
|
||||
|
||||
RESPONSES=("It is certain" "It is decidedly so" "Without a doubt"
|
||||
"Yes definitely" "You may rely on it" "As I see it yes"
|
||||
"Most likely" "Outlook good" "Signs point to yes" "Yes"
|
||||
"Reply hazy try again" "Ask again later"
|
||||
"Better not tell you now" "Cannot predict now"
|
||||
"Concentrate and ask again" "Don't bet on it"
|
||||
"My reply is no" "My sources say no" "Outlook not so good"
|
||||
"Very doubtful")
|
||||
|
||||
printf "Welcome to 8 ball! Enter your questions using the prompt below to
|
||||
find the answers you seek. Type 'quit' to exit.\n\n"
|
||||
|
||||
while true; do
|
||||
read -p 'Enter Question: ' question
|
||||
if [ "$question" == "quit" ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
response_index=$(($RANDOM % 20))
|
||||
|
||||
printf "Response: ${RESPONSES[response_index]}\n\n"
|
||||
done
|
||||
23
Task/Magic-8-ball/Wren/magic-8-ball.wren
Normal file
23
Task/Magic-8-ball/Wren/magic-8-ball.wren
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
import "random" for Random
|
||||
import "io" for Stdin, Stdout
|
||||
|
||||
var answers = [
|
||||
"It is certain", "It is decidedly so", "Without a doubt",
|
||||
"Yes, definitely", "You may rely on it", "As I see it, yes",
|
||||
"Most likely", "Outlook good", "Signs point to yes", "Yes",
|
||||
"Reply hazy, try again", "Ask again later",
|
||||
"Better not tell you now", "Cannot predict now",
|
||||
"Concentrate and ask again", "Don't bet on it",
|
||||
"My reply is no", "My sources say no", "Outlook not so good",
|
||||
"Very doubtful"
|
||||
]
|
||||
var rand = Random.new()
|
||||
System.print("Please enter your question or a blank line to quit.")
|
||||
while (true) {
|
||||
System.write("\n? : ")
|
||||
Stdout.flush()
|
||||
var question = Stdin.readLine()
|
||||
if (question.trim() == "") return
|
||||
var answer = answers[rand.int(20)]
|
||||
System.print("\n%(answer)")
|
||||
}
|
||||
6
Task/Magic-8-ball/XBS/magic-8-ball-1.xbs
Normal file
6
Task/Magic-8-ball/XBS/magic-8-ball-1.xbs
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
set Responses = ["It is Certain.","It is decidedly so.","Without a doubt.","Yes definitely.","You may rely on it","As I see it, yes.","Most likely.","Outlook good.","Yes.","Sign points to yes.","Reply hazy, try again.","Ask again later.","Better not tell you now.","Cannot predict now.","Concentrate and ask again.","Don't count on it.","My reply is no.","My sources say no.","Outlook not so good.","Very doubtful."];
|
||||
|
||||
while(true){
|
||||
window->prompt("Ask 8-Ball a question");
|
||||
log(Responses[rnd(0,?Responses-1)]);
|
||||
}
|
||||
15
Task/Magic-8-ball/XBS/magic-8-ball-2.xbs
Normal file
15
Task/Magic-8-ball/XBS/magic-8-ball-2.xbs
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
set Responses = ["It is Certain.","It is decidedly so.","Without a doubt.","Yes definitely.","You may rely on it","As I see it, yes.","Most likely.","Outlook good.","Yes.","Sign points to yes.","Reply hazy, try again.","Ask again later.","Better not tell you now.","Cannot predict now.","Concentrate and ask again.","Don't count on it.","My reply is no.","My sources say no.","Outlook not so good.","Very doubtful."];
|
||||
|
||||
func Compile(String){
|
||||
set n = 0;
|
||||
foreach(k,v as String){
|
||||
n+=string.char(v);
|
||||
}
|
||||
send n;
|
||||
}
|
||||
|
||||
while(true){
|
||||
let Response = window->prompt("Ask 8-Ball a question");
|
||||
let N = Compile(Response);
|
||||
log(Responses[N%(?Responses)]);
|
||||
}
|
||||
21
Task/Magic-8-ball/XPL0/magic-8-ball.xpl0
Normal file
21
Task/Magic-8-ball/XPL0/magic-8-ball.xpl0
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
int Answers, Answer, Question;
|
||||
[Answers:= [
|
||||
"It is certain", "It is decidedly so", "Without a doubt",
|
||||
"Yes, definitely", "You may rely on it", "As I see it, yes",
|
||||
"Most likely", "Outlook good", "Signs point to yes", "Yes",
|
||||
"Reply hazy, try again", "Ask again later",
|
||||
"Better not tell you now", "Cannot predict now",
|
||||
"Concentrate and ask again", "Don't bet on it",
|
||||
"My reply is no", "My sources say no", "Outlook not so good",
|
||||
"Very doubtful"];
|
||||
Text(0, "Please enter your question or a blank line to quit.
|
||||
");
|
||||
while true do
|
||||
[CrLf(0); Text(0, "? : ");
|
||||
Question:= ChIn(0);
|
||||
if Question = \CR\$0D then return;
|
||||
OpenI(0); \discard any remaining chars in keyboard buffer
|
||||
Answer:= Answers(Ran(20));
|
||||
Text(0, Answer); CrLf(0);
|
||||
]
|
||||
]
|
||||
21
Task/Magic-8-ball/Yabasic/magic-8-ball.basic
Normal file
21
Task/Magic-8-ball/Yabasic/magic-8-ball.basic
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
dim answer$(19)
|
||||
for i = 0 to arraysize(answer$(),1): read answer$(i): next i
|
||||
|
||||
print "Q to quit."
|
||||
do
|
||||
input "What would you like to know? " question$
|
||||
if upper$(question$) = "Q" then end : fi
|
||||
print answer$(int(ran(arraysize(answer$(),1))))
|
||||
print
|
||||
loop
|
||||
|
||||
data "It is certain.","It is decidedly so."
|
||||
data "Without a doubt.","Yes – definitely."
|
||||
data "You may rely on it.","As I see it, yes."
|
||||
data "Most likely.","Outlook good.","Yes."
|
||||
data "Signs point to yes.","Reply hazy, try again."
|
||||
data "Ask again later.","Better not tell you now."
|
||||
data "Cannot predict now.","Concentrate and ask again."
|
||||
data "Don//t count on it.","My reply is no."
|
||||
data "My sources say no.","Outlook not so good."
|
||||
data "Very doubtful."
|
||||
12
Task/Magic-8-ball/Zkl/magic-8-ball.zkl
Normal file
12
Task/Magic-8-ball/Zkl/magic-8-ball.zkl
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
answers:=T(
|
||||
"It is certain", "It is decidedly so", "Without a doubt",
|
||||
"Yes, definitely", "You may rely on it", "As I see it, yes",
|
||||
"Most likely", "Outlook good", "Signs point to yes", "Yes",
|
||||
"Reply hazy, try again", "Ask again later",
|
||||
"Better not tell you now", "Cannot predict now",
|
||||
"Concentrate and ask again", "Don't bet on it",
|
||||
"My reply is no", "My sources say no", "Outlook not so good",
|
||||
"Very doubtful"
|
||||
);
|
||||
println("Please enter your question or a blank line to quit.");
|
||||
while(ask("? : ")){ println(answers[(0).random(answers.len())]) }
|
||||
Loading…
Add table
Add a link
Reference in a new issue