A batch file that teach english!

Discussion forum for all Windows batch related topics.

Moderator: DosItHelp

Post Reply
Message
Author
Rafhack
Posts: 19
Joined: 23 Feb 2014 15:02

A batch file that teach english!

#1 Post by Rafhack » 30 Aug 2014 17:00

This batch can help english learners (like me) to improve their Listening skills.

Code: Select all

@echo off
setlocal enabledelayedexpansion
set pontos=0
:1
set opt=
call:palavra palavra1
for /l %%p in (2,1,4) do (call:palavra palavra%%p)
SET /A pal1=%RANDOM% * 4 / 32768 + 1
:pal2
SET /A pal2=%RANDOM% * 4 / 32768 + 1
if !pal2! equ !pal1! goto pal2
:pal3
SET /A pal3=%RANDOM% * 4 / 32768 + 1
if !pal3! equ !pal2! goto pal3
if !pal3! equ !pal1! goto pal3
:pal4
SET /A pal4=%RANDOM% * 4 / 32768 + 1
if !pal4! equ !pal3! goto pal4
if !pal4! equ !pal2! goto pal4
if !pal4! equ !pal1! goto pal4
:choice
cls
echo=============================================Score: %pontos%
echo/1^) !palavra%pal1%!     2^) !palavra%pal2%!    3^) !palavra%pal3%!     4^) !palavra%pal4%!
call:falar "%palavra1%"
set /p "opt=> "
if "%opt%" equ "" goto choice
set word=!pal%opt%!
if !palavra%word%! equ !palavra1! set /a pontos = pontos + 1
goto 1
exit/b
:falar [what]
echo/Dim ProSpeak > "dim.vbs"
echo/Set ProSpeak = WScript.CreateObject^("SAPI.SpVoice"^) >> "dim.vbs"
echo/ProSpeak.Speak "%~1" >>  "dim.vbs"
dim.vbs&del "dim.vbs"
exit/b
:palavra
(
echo/for /f "skip=%random%" %%%%a in ^(dict.txt^) do ^(
echo/ set "%~1=%%%%a"
echo/ goto break
echo/^)
echo/:break
)>_t.bat
call _t.bat
del _t.bat
exit/b


You will also need a dict file like this one
name this file as dict.txt and put it next to the batch file

foxidrive
Expert
Posts: 6031
Joined: 10 Feb 2012 02:20

Re: A batch file that teach english!

#2 Post by foxidrive » 30 Aug 2014 21:41

That's a clever game. Nice work Rafhack.

Post Reply