'21 days' game added
git-svn-id: svn://kolibrios.org@5299 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
339
programs/games/21days/COPYING
Executable file
339
programs/games/21days/COPYING
Executable file
@@ -0,0 +1,339 @@
|
|||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
Version 2, June 1991
|
||||||
|
|
||||||
|
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies
|
||||||
|
of this license document, but changing it is not allowed.
|
||||||
|
|
||||||
|
Preamble
|
||||||
|
|
||||||
|
The licenses for most software are designed to take away your
|
||||||
|
freedom to share and change it. By contrast, the GNU General Public
|
||||||
|
License is intended to guarantee your freedom to share and change free
|
||||||
|
software--to make sure the software is free for all its users. This
|
||||||
|
General Public License applies to most of the Free Software
|
||||||
|
Foundation's software and to any other program whose authors commit to
|
||||||
|
using it. (Some other Free Software Foundation software is covered by
|
||||||
|
the GNU Lesser General Public License instead.) You can apply it to
|
||||||
|
your programs, too.
|
||||||
|
|
||||||
|
When we speak of free software, we are referring to freedom, not
|
||||||
|
price. Our General Public Licenses are designed to make sure that you
|
||||||
|
have the freedom to distribute copies of free software (and charge for
|
||||||
|
this service if you wish), that you receive source code or can get it
|
||||||
|
if you want it, that you can change the software or use pieces of it
|
||||||
|
in new free programs; and that you know you can do these things.
|
||||||
|
|
||||||
|
To protect your rights, we need to make restrictions that forbid
|
||||||
|
anyone to deny you these rights or to ask you to surrender the rights.
|
||||||
|
These restrictions translate to certain responsibilities for you if you
|
||||||
|
distribute copies of the software, or if you modify it.
|
||||||
|
|
||||||
|
For example, if you distribute copies of such a program, whether
|
||||||
|
gratis or for a fee, you must give the recipients all the rights that
|
||||||
|
you have. You must make sure that they, too, receive or can get the
|
||||||
|
source code. And you must show them these terms so they know their
|
||||||
|
rights.
|
||||||
|
|
||||||
|
We protect your rights with two steps: (1) copyright the software, and
|
||||||
|
(2) offer you this license which gives you legal permission to copy,
|
||||||
|
distribute and/or modify the software.
|
||||||
|
|
||||||
|
Also, for each author's protection and ours, we want to make certain
|
||||||
|
that everyone understands that there is no warranty for this free
|
||||||
|
software. If the software is modified by someone else and passed on, we
|
||||||
|
want its recipients to know that what they have is not the original, so
|
||||||
|
that any problems introduced by others will not reflect on the original
|
||||||
|
authors' reputations.
|
||||||
|
|
||||||
|
Finally, any free program is threatened constantly by software
|
||||||
|
patents. We wish to avoid the danger that redistributors of a free
|
||||||
|
program will individually obtain patent licenses, in effect making the
|
||||||
|
program proprietary. To prevent this, we have made it clear that any
|
||||||
|
patent must be licensed for everyone's free use or not licensed at all.
|
||||||
|
|
||||||
|
The precise terms and conditions for copying, distribution and
|
||||||
|
modification follow.
|
||||||
|
|
||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||||
|
|
||||||
|
0. This License applies to any program or other work which contains
|
||||||
|
a notice placed by the copyright holder saying it may be distributed
|
||||||
|
under the terms of this General Public License. The "Program", below,
|
||||||
|
refers to any such program or work, and a "work based on the Program"
|
||||||
|
means either the Program or any derivative work under copyright law:
|
||||||
|
that is to say, a work containing the Program or a portion of it,
|
||||||
|
either verbatim or with modifications and/or translated into another
|
||||||
|
language. (Hereinafter, translation is included without limitation in
|
||||||
|
the term "modification".) Each licensee is addressed as "you".
|
||||||
|
|
||||||
|
Activities other than copying, distribution and modification are not
|
||||||
|
covered by this License; they are outside its scope. The act of
|
||||||
|
running the Program is not restricted, and the output from the Program
|
||||||
|
is covered only if its contents constitute a work based on the
|
||||||
|
Program (independent of having been made by running the Program).
|
||||||
|
Whether that is true depends on what the Program does.
|
||||||
|
|
||||||
|
1. You may copy and distribute verbatim copies of the Program's
|
||||||
|
source code as you receive it, in any medium, provided that you
|
||||||
|
conspicuously and appropriately publish on each copy an appropriate
|
||||||
|
copyright notice and disclaimer of warranty; keep intact all the
|
||||||
|
notices that refer to this License and to the absence of any warranty;
|
||||||
|
and give any other recipients of the Program a copy of this License
|
||||||
|
along with the Program.
|
||||||
|
|
||||||
|
You may charge a fee for the physical act of transferring a copy, and
|
||||||
|
you may at your option offer warranty protection in exchange for a fee.
|
||||||
|
|
||||||
|
2. You may modify your copy or copies of the Program or any portion
|
||||||
|
of it, thus forming a work based on the Program, and copy and
|
||||||
|
distribute such modifications or work under the terms of Section 1
|
||||||
|
above, provided that you also meet all of these conditions:
|
||||||
|
|
||||||
|
a) You must cause the modified files to carry prominent notices
|
||||||
|
stating that you changed the files and the date of any change.
|
||||||
|
|
||||||
|
b) You must cause any work that you distribute or publish, that in
|
||||||
|
whole or in part contains or is derived from the Program or any
|
||||||
|
part thereof, to be licensed as a whole at no charge to all third
|
||||||
|
parties under the terms of this License.
|
||||||
|
|
||||||
|
c) If the modified program normally reads commands interactively
|
||||||
|
when run, you must cause it, when started running for such
|
||||||
|
interactive use in the most ordinary way, to print or display an
|
||||||
|
announcement including an appropriate copyright notice and a
|
||||||
|
notice that there is no warranty (or else, saying that you provide
|
||||||
|
a warranty) and that users may redistribute the program under
|
||||||
|
these conditions, and telling the user how to view a copy of this
|
||||||
|
License. (Exception: if the Program itself is interactive but
|
||||||
|
does not normally print such an announcement, your work based on
|
||||||
|
the Program is not required to print an announcement.)
|
||||||
|
|
||||||
|
These requirements apply to the modified work as a whole. If
|
||||||
|
identifiable sections of that work are not derived from the Program,
|
||||||
|
and can be reasonably considered independent and separate works in
|
||||||
|
themselves, then this License, and its terms, do not apply to those
|
||||||
|
sections when you distribute them as separate works. But when you
|
||||||
|
distribute the same sections as part of a whole which is a work based
|
||||||
|
on the Program, the distribution of the whole must be on the terms of
|
||||||
|
this License, whose permissions for other licensees extend to the
|
||||||
|
entire whole, and thus to each and every part regardless of who wrote it.
|
||||||
|
|
||||||
|
Thus, it is not the intent of this section to claim rights or contest
|
||||||
|
your rights to work written entirely by you; rather, the intent is to
|
||||||
|
exercise the right to control the distribution of derivative or
|
||||||
|
collective works based on the Program.
|
||||||
|
|
||||||
|
In addition, mere aggregation of another work not based on the Program
|
||||||
|
with the Program (or with a work based on the Program) on a volume of
|
||||||
|
a storage or distribution medium does not bring the other work under
|
||||||
|
the scope of this License.
|
||||||
|
|
||||||
|
3. You may copy and distribute the Program (or a work based on it,
|
||||||
|
under Section 2) in object code or executable form under the terms of
|
||||||
|
Sections 1 and 2 above provided that you also do one of the following:
|
||||||
|
|
||||||
|
a) Accompany it with the complete corresponding machine-readable
|
||||||
|
source code, which must be distributed under the terms of Sections
|
||||||
|
1 and 2 above on a medium customarily used for software interchange; or,
|
||||||
|
|
||||||
|
b) Accompany it with a written offer, valid for at least three
|
||||||
|
years, to give any third party, for a charge no more than your
|
||||||
|
cost of physically performing source distribution, a complete
|
||||||
|
machine-readable copy of the corresponding source code, to be
|
||||||
|
distributed under the terms of Sections 1 and 2 above on a medium
|
||||||
|
customarily used for software interchange; or,
|
||||||
|
|
||||||
|
c) Accompany it with the information you received as to the offer
|
||||||
|
to distribute corresponding source code. (This alternative is
|
||||||
|
allowed only for noncommercial distribution and only if you
|
||||||
|
received the program in object code or executable form with such
|
||||||
|
an offer, in accord with Subsection b above.)
|
||||||
|
|
||||||
|
The source code for a work means the preferred form of the work for
|
||||||
|
making modifications to it. For an executable work, complete source
|
||||||
|
code means all the source code for all modules it contains, plus any
|
||||||
|
associated interface definition files, plus the scripts used to
|
||||||
|
control compilation and installation of the executable. However, as a
|
||||||
|
special exception, the source code distributed need not include
|
||||||
|
anything that is normally distributed (in either source or binary
|
||||||
|
form) with the major components (compiler, kernel, and so on) of the
|
||||||
|
operating system on which the executable runs, unless that component
|
||||||
|
itself accompanies the executable.
|
||||||
|
|
||||||
|
If distribution of executable or object code is made by offering
|
||||||
|
access to copy from a designated place, then offering equivalent
|
||||||
|
access to copy the source code from the same place counts as
|
||||||
|
distribution of the source code, even though third parties are not
|
||||||
|
compelled to copy the source along with the object code.
|
||||||
|
|
||||||
|
4. You may not copy, modify, sublicense, or distribute the Program
|
||||||
|
except as expressly provided under this License. Any attempt
|
||||||
|
otherwise to copy, modify, sublicense or distribute the Program is
|
||||||
|
void, and will automatically terminate your rights under this License.
|
||||||
|
However, parties who have received copies, or rights, from you under
|
||||||
|
this License will not have their licenses terminated so long as such
|
||||||
|
parties remain in full compliance.
|
||||||
|
|
||||||
|
5. You are not required to accept this License, since you have not
|
||||||
|
signed it. However, nothing else grants you permission to modify or
|
||||||
|
distribute the Program or its derivative works. These actions are
|
||||||
|
prohibited by law if you do not accept this License. Therefore, by
|
||||||
|
modifying or distributing the Program (or any work based on the
|
||||||
|
Program), you indicate your acceptance of this License to do so, and
|
||||||
|
all its terms and conditions for copying, distributing or modifying
|
||||||
|
the Program or works based on it.
|
||||||
|
|
||||||
|
6. Each time you redistribute the Program (or any work based on the
|
||||||
|
Program), the recipient automatically receives a license from the
|
||||||
|
original licensor to copy, distribute or modify the Program subject to
|
||||||
|
these terms and conditions. You may not impose any further
|
||||||
|
restrictions on the recipients' exercise of the rights granted herein.
|
||||||
|
You are not responsible for enforcing compliance by third parties to
|
||||||
|
this License.
|
||||||
|
|
||||||
|
7. If, as a consequence of a court judgment or allegation of patent
|
||||||
|
infringement or for any other reason (not limited to patent issues),
|
||||||
|
conditions are imposed on you (whether by court order, agreement or
|
||||||
|
otherwise) that contradict the conditions of this License, they do not
|
||||||
|
excuse you from the conditions of this License. If you cannot
|
||||||
|
distribute so as to satisfy simultaneously your obligations under this
|
||||||
|
License and any other pertinent obligations, then as a consequence you
|
||||||
|
may not distribute the Program at all. For example, if a patent
|
||||||
|
license would not permit royalty-free redistribution of the Program by
|
||||||
|
all those who receive copies directly or indirectly through you, then
|
||||||
|
the only way you could satisfy both it and this License would be to
|
||||||
|
refrain entirely from distribution of the Program.
|
||||||
|
|
||||||
|
If any portion of this section is held invalid or unenforceable under
|
||||||
|
any particular circumstance, the balance of the section is intended to
|
||||||
|
apply and the section as a whole is intended to apply in other
|
||||||
|
circumstances.
|
||||||
|
|
||||||
|
It is not the purpose of this section to induce you to infringe any
|
||||||
|
patents or other property right claims or to contest validity of any
|
||||||
|
such claims; this section has the sole purpose of protecting the
|
||||||
|
integrity of the free software distribution system, which is
|
||||||
|
implemented by public license practices. Many people have made
|
||||||
|
generous contributions to the wide range of software distributed
|
||||||
|
through that system in reliance on consistent application of that
|
||||||
|
system; it is up to the author/donor to decide if he or she is willing
|
||||||
|
to distribute software through any other system and a licensee cannot
|
||||||
|
impose that choice.
|
||||||
|
|
||||||
|
This section is intended to make thoroughly clear what is believed to
|
||||||
|
be a consequence of the rest of this License.
|
||||||
|
|
||||||
|
8. If the distribution and/or use of the Program is restricted in
|
||||||
|
certain countries either by patents or by copyrighted interfaces, the
|
||||||
|
original copyright holder who places the Program under this License
|
||||||
|
may add an explicit geographical distribution limitation excluding
|
||||||
|
those countries, so that distribution is permitted only in or among
|
||||||
|
countries not thus excluded. In such case, this License incorporates
|
||||||
|
the limitation as if written in the body of this License.
|
||||||
|
|
||||||
|
9. The Free Software Foundation may publish revised and/or new versions
|
||||||
|
of the General Public License from time to time. Such new versions will
|
||||||
|
be similar in spirit to the present version, but may differ in detail to
|
||||||
|
address new problems or concerns.
|
||||||
|
|
||||||
|
Each version is given a distinguishing version number. If the Program
|
||||||
|
specifies a version number of this License which applies to it and "any
|
||||||
|
later version", you have the option of following the terms and conditions
|
||||||
|
either of that version or of any later version published by the Free
|
||||||
|
Software Foundation. If the Program does not specify a version number of
|
||||||
|
this License, you may choose any version ever published by the Free Software
|
||||||
|
Foundation.
|
||||||
|
|
||||||
|
10. If you wish to incorporate parts of the Program into other free
|
||||||
|
programs whose distribution conditions are different, write to the author
|
||||||
|
to ask for permission. For software which is copyrighted by the Free
|
||||||
|
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||||
|
make exceptions for this. Our decision will be guided by the two goals
|
||||||
|
of preserving the free status of all derivatives of our free software and
|
||||||
|
of promoting the sharing and reuse of software generally.
|
||||||
|
|
||||||
|
NO WARRANTY
|
||||||
|
|
||||||
|
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||||
|
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||||
|
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||||
|
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||||
|
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||||
|
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||||
|
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||||
|
REPAIR OR CORRECTION.
|
||||||
|
|
||||||
|
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||||
|
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||||
|
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||||
|
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||||
|
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||||
|
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||||
|
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||||
|
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGES.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
How to Apply These Terms to Your New Programs
|
||||||
|
|
||||||
|
If you develop a new program, and you want it to be of the greatest
|
||||||
|
possible use to the public, the best way to achieve this is to make it
|
||||||
|
free software which everyone can redistribute and change under these terms.
|
||||||
|
|
||||||
|
To do so, attach the following notices to the program. It is safest
|
||||||
|
to attach them to the start of each source file to most effectively
|
||||||
|
convey the exclusion of warranty; and each file should have at least
|
||||||
|
the "copyright" line and a pointer to where the full notice is found.
|
||||||
|
|
||||||
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
|
Copyright (C) <year> <name of author>
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License along
|
||||||
|
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||||
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
|
||||||
|
Also add information on how to contact you by electronic and paper mail.
|
||||||
|
|
||||||
|
If the program is interactive, make it output a short notice like this
|
||||||
|
when it starts in an interactive mode:
|
||||||
|
|
||||||
|
Gnomovision version 69, Copyright (C) year name of author
|
||||||
|
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||||
|
This is free software, and you are welcome to redistribute it
|
||||||
|
under certain conditions; type `show c' for details.
|
||||||
|
|
||||||
|
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||||
|
parts of the General Public License. Of course, the commands you use may
|
||||||
|
be called something other than `show w' and `show c'; they could even be
|
||||||
|
mouse-clicks or menu items--whatever suits your program.
|
||||||
|
|
||||||
|
You should also get your employer (if you work as a programmer) or your
|
||||||
|
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||||
|
necessary. Here is a sample; alter the names:
|
||||||
|
|
||||||
|
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||||
|
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||||
|
|
||||||
|
<signature of Ty Coon>, 1 April 1989
|
||||||
|
Ty Coon, President of Vice
|
||||||
|
|
||||||
|
This General Public License does not permit incorporating your program into
|
||||||
|
proprietary programs. If your program is a subroutine library, you may
|
||||||
|
consider it more useful to permit linking proprietary applications with the
|
||||||
|
library. If this is what you want to do, use the GNU Lesser General
|
||||||
|
Public License instead of this License.
|
5
programs/games/21days/Makefile
Executable file
5
programs/games/21days/Makefile
Executable file
@@ -0,0 +1,5 @@
|
|||||||
|
OUTFILE = 21days
|
||||||
|
OBJS = main.o game.o interface.o sys.o
|
||||||
|
CPPFLAGS += -Wno-write-strings -D _KOS32
|
||||||
|
|
||||||
|
include $(MENUETDEV)/makefiles/Makefile_for_cpp_program
|
26
programs/games/21days/Makefile.linux
Executable file
26
programs/games/21days/Makefile.linux
Executable file
@@ -0,0 +1,26 @@
|
|||||||
|
OUTFILE = bin/21days
|
||||||
|
CXX = g++
|
||||||
|
OBJS = obj/main.o obj/game.o obj/interface.o obj/sys.o
|
||||||
|
|
||||||
|
CXXFLAGS = -Wno-write-strings
|
||||||
|
|
||||||
|
all: $(OUTFILE)
|
||||||
|
|
||||||
|
dirs:
|
||||||
|
test -d bin || mkdir -p bin
|
||||||
|
test -d obj || mkdir -p obj
|
||||||
|
|
||||||
|
$(OUTFILE): dirs $(OBJS)
|
||||||
|
$(CXX) -o $(OUTFILE) $(OBJS)
|
||||||
|
|
||||||
|
obj/%.o: %.cpp
|
||||||
|
$(CXX) $(CXXFLAGS) -c $< -o $@
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f $(OBJS) $(OUTFILE)
|
||||||
|
rm -rf bin
|
||||||
|
rm -rf obj
|
||||||
|
|
||||||
|
rebuild: clean $(OUTFILE)
|
||||||
|
|
||||||
|
.PHONY: dirs clean rebuild
|
27
programs/games/21days/Makefile.win
Executable file
27
programs/games/21days/Makefile.win
Executable file
@@ -0,0 +1,27 @@
|
|||||||
|
OUTFILE = bin\21days
|
||||||
|
CXX = g++
|
||||||
|
OBJS = obj/main.o obj/game.o obj/interface.o obj/sys.o
|
||||||
|
|
||||||
|
CXXFLAGS = -Wno-write-strings -D _WIN32
|
||||||
|
|
||||||
|
all: $(OUTFILE)
|
||||||
|
|
||||||
|
dirs:
|
||||||
|
if not exist "bin" mkdir bin
|
||||||
|
if not exist "obj" mkdir obj
|
||||||
|
|
||||||
|
$(OUTFILE): dirs $(OBJS)
|
||||||
|
$(CXX) -o $@ $(OBJS)
|
||||||
|
|
||||||
|
obj/%.o: %.cpp
|
||||||
|
$(CXX) $(CXXFLAGS) -c $< -o $@
|
||||||
|
|
||||||
|
clean:
|
||||||
|
if exist "obj\*.o" del /Q obj\*.o
|
||||||
|
if exist "bin\21days.exe" del /Q bin\21days.exe
|
||||||
|
if exist "bin" rd bin
|
||||||
|
if exist "obj" rd obj
|
||||||
|
|
||||||
|
rebuild: clean $(OUTFILE)
|
||||||
|
|
||||||
|
.PHONY: dirs clean rebuild
|
79
programs/games/21days/README
Executable file
79
programs/games/21days/README
Executable file
@@ -0,0 +1,79 @@
|
|||||||
|
# 21 days: a game for programmers
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
* You start as a helpdesker.
|
||||||
|
* Work in a big company.
|
||||||
|
* Join a startup and launch a popular game (or not).
|
||||||
|
* Study new courses.
|
||||||
|
* Help your friends to repair their computer.
|
||||||
|
|
||||||
|
* With the help of quantum space–time folder you can do all of this in 21 days!
|
||||||
|
* Jump in time to change your choice and collect all achievements!
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
21 days is licensed under GPL version 2.0. See COPYING in the same directory.
|
||||||
|
|
||||||
|
## Author
|
||||||
|
|
||||||
|
This program developed by Maxim Grishin (igevorse)
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
This program does not require installation.
|
||||||
|
See "Run" section below.
|
||||||
|
|
||||||
|
## Run
|
||||||
|
|
||||||
|
Open your favourite file manager and run the executable file.
|
||||||
|
You can also use your shell:
|
||||||
|
|
||||||
|
* KolibriOS:
|
||||||
|
|
||||||
|
21days
|
||||||
|
|
||||||
|
* Windows:
|
||||||
|
|
||||||
|
cd bin
|
||||||
|
21days
|
||||||
|
|
||||||
|
* Linux (you have to use a terminal supporting IBM866 code page(CP866)):
|
||||||
|
|
||||||
|
cd bin
|
||||||
|
./21days
|
||||||
|
|
||||||
|
## Building from sources
|
||||||
|
|
||||||
|
If you want to build game from sources, you have to install GCC (Linux) and MinGW (Windows).
|
||||||
|
|
||||||
|
* KolibriOS
|
||||||
|
You have to install menuetlibc: see "Compilers GCC, G++." section at diamond.kolibrios.org/hll/hll_eng.htm.
|
||||||
|
To build a binary file for KolibriOS under Linux type in a terminal:
|
||||||
|
|
||||||
|
make
|
||||||
|
|
||||||
|
Binary file would appear in current directory.
|
||||||
|
|
||||||
|
* Linux
|
||||||
|
To build a Linux binary file:
|
||||||
|
|
||||||
|
make -f Makefile.linux
|
||||||
|
|
||||||
|
Binary files would appear in bin directory.
|
||||||
|
|
||||||
|
* Windows
|
||||||
|
To build a Windows binary file you have to install MinGW (http://sourceforge.net/projects/mingw/files/) with mingw32-base, mingw32-gcc and mingw-gcc-g++ packages.
|
||||||
|
Don't forget to add a path to a folder containing MinGW binary files to the Path environment variable ("C:\MinGW\bin" for me).
|
||||||
|
|
||||||
|
* If you don't have MSYS installed:
|
||||||
|
|
||||||
|
mingw32-make -f Makefile.win
|
||||||
|
|
||||||
|
* If you have MSYS installed:
|
||||||
|
|
||||||
|
make -f Makefile.linux
|
||||||
|
|
||||||
|
Binary files would appear in bin directory.
|
||||||
|
|
||||||
|
Have fun!
|
7
programs/games/21days/Tupfile.lua
Executable file
7
programs/games/21days/Tupfile.lua
Executable file
@@ -0,0 +1,7 @@
|
|||||||
|
if tup.getconfig("NO_GCC") ~= "" then return end
|
||||||
|
HELPERDIR = (tup.getconfig("HELPERDIR") == "") and "../../.." or tup.getconfig("HELPERDIR")
|
||||||
|
tup.include(HELPERDIR .. "/use_gcc.lua")
|
||||||
|
tup.include(HELPERDIR .. "/use_menuetlibc.lua")
|
||||||
|
CFLAGS = CFLAGS .. " -D _KOS32 "
|
||||||
|
compile_gcc{"main.cpp", "game.cpp", "interface.cpp", "sys.cpp"}
|
||||||
|
link_gcc("21days")
|
1584
programs/games/21days/game.cpp
Executable file
1584
programs/games/21days/game.cpp
Executable file
File diff suppressed because it is too large
Load Diff
345
programs/games/21days/interface.cpp
Executable file
345
programs/games/21days/interface.cpp
Executable file
@@ -0,0 +1,345 @@
|
|||||||
|
/******************************************************************
|
||||||
|
* 21 days: a game for programmers
|
||||||
|
* Copyright (C) 2014 Maxim Grishin
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||||
|
* MA 02110-1301, USA.
|
||||||
|
*******************************************************************/
|
||||||
|
|
||||||
|
#include "sys.h"
|
||||||
|
|
||||||
|
#ifndef _KOS32
|
||||||
|
#include <stdio.h> // printf()
|
||||||
|
#include <stdarg.h>
|
||||||
|
#define printf2 printf
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <cstring> // strlen
|
||||||
|
#include <string>
|
||||||
|
using std::string;
|
||||||
|
|
||||||
|
char getAnswer(char a1, char a2) {
|
||||||
|
while(1) {
|
||||||
|
if (kbhit()) {
|
||||||
|
char ch = getch();
|
||||||
|
#ifdef _KOS32
|
||||||
|
if (ch == 0)
|
||||||
|
ch = getch();
|
||||||
|
#endif
|
||||||
|
if (ch == a1 || ch == a2)
|
||||||
|
return ch;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
char getAnswer(char a1, char a2, char a3) {
|
||||||
|
while(1) {
|
||||||
|
if (kbhit()) {
|
||||||
|
char ch = getch();
|
||||||
|
#ifdef _KOS32
|
||||||
|
if (ch == 0)
|
||||||
|
ch = getch();
|
||||||
|
#endif
|
||||||
|
if (ch == a1 || ch == a2 || ch == a3)
|
||||||
|
return ch;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
char getAnswer(char a1, char a2, char a3, char a4) {
|
||||||
|
while(1) {
|
||||||
|
if (kbhit()) {
|
||||||
|
char ch = getch();
|
||||||
|
#ifdef _KOS32
|
||||||
|
if (ch == 0)
|
||||||
|
ch = getch();
|
||||||
|
#endif
|
||||||
|
if (ch == a1 || ch == a2 || ch == a3 || ch == a4)
|
||||||
|
return ch;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void wait(char a = ENTER_KEY, char b = ENTER_KEY) {
|
||||||
|
getAnswer(a, b);
|
||||||
|
}
|
||||||
|
|
||||||
|
char getKey() {
|
||||||
|
#ifdef _KOS32
|
||||||
|
while(1) {
|
||||||
|
if (kbhit()) {
|
||||||
|
char ch = getch();
|
||||||
|
if (ch == 0)
|
||||||
|
ch = getch();
|
||||||
|
return ch;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
return getch();
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
void blankline(int line, int width) {
|
||||||
|
printf2("<EFBFBD> ");
|
||||||
|
consoleGoto(line, width);
|
||||||
|
printf2("<EFBFBD>\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
void drawHBorder(int line, int left, int right, char l = '<EFBFBD>',
|
||||||
|
char c = '<EFBFBD>', char r = '<EFBFBD>', char e = '\n') {
|
||||||
|
consoleGoto(line, left);
|
||||||
|
printf2("%c", l);
|
||||||
|
for (int i = 0; i< right - left; i++)
|
||||||
|
printf2("%c", c);
|
||||||
|
consoleGoto(line, right);
|
||||||
|
printf2("%c%c", r, e);
|
||||||
|
}
|
||||||
|
|
||||||
|
void drawStringLine(int line, int left, int right, const char* str,
|
||||||
|
int pos = -1, char border = '<EFBFBD>', bool shadow = false) {
|
||||||
|
consoleGoto(line, left);
|
||||||
|
if (pos == -1)
|
||||||
|
printf2("%c %s", border, str);
|
||||||
|
else {
|
||||||
|
printf2("%c ", border);
|
||||||
|
consoleGoto(line, pos);
|
||||||
|
printf2("%s", str);
|
||||||
|
}
|
||||||
|
consoleGoto(line, right);
|
||||||
|
if (shadow)
|
||||||
|
printf2("%c<>", border);
|
||||||
|
else
|
||||||
|
printf2("%c\n", border);
|
||||||
|
}
|
||||||
|
|
||||||
|
void drawModalWindow(const char* content, const char* title, const char* buttons) {
|
||||||
|
cls();
|
||||||
|
int winWidth, winHeight;
|
||||||
|
getWinWH(winWidth, winHeight);
|
||||||
|
int lines = winHeight/3;
|
||||||
|
int msgWidth = strlen(content)+2;
|
||||||
|
|
||||||
|
if (msgWidth >= winWidth-4)
|
||||||
|
msgWidth = winWidth-5;
|
||||||
|
int msgLeft = winWidth/2 - msgWidth/2;
|
||||||
|
int msgRight = winWidth/2 + msgWidth/2+1;
|
||||||
|
if (msgWidth%2!=0)
|
||||||
|
msgRight++;
|
||||||
|
|
||||||
|
int titleWidth = 0;
|
||||||
|
if (title != 0)
|
||||||
|
titleWidth = strlen(title)+2;
|
||||||
|
|
||||||
|
drawHBorder(lines, msgLeft, msgRight,'<EFBFBD>','<EFBFBD>', '<EFBFBD>');
|
||||||
|
|
||||||
|
// title
|
||||||
|
if (title != 0) {
|
||||||
|
consoleGoto(lines, msgLeft+msgWidth/2-titleWidth/2);
|
||||||
|
printf2(" %s ", title);
|
||||||
|
}
|
||||||
|
|
||||||
|
lines++;
|
||||||
|
drawHBorder(lines, msgLeft, msgRight, '<EFBFBD>',' ','<EFBFBD>','<EFBFBD>');
|
||||||
|
lines++;
|
||||||
|
|
||||||
|
//======Splitting content into pieces=========================
|
||||||
|
int maxTextWidth = msgRight-msgLeft; // 2 borders + 2 spaces
|
||||||
|
int start = 0;
|
||||||
|
int len = strlen(content);
|
||||||
|
|
||||||
|
for (int i = 0; i < len; i++) {
|
||||||
|
if (content[i] == '\n') {
|
||||||
|
string tmp = content;
|
||||||
|
string t1 = tmp.substr(start, i-start+1);
|
||||||
|
drawStringLine(lines, msgLeft, msgRight, t1.c_str(), -1, '<EFBFBD>', true);
|
||||||
|
|
||||||
|
start = i+1;
|
||||||
|
lines++;
|
||||||
|
}
|
||||||
|
else if (i - start >= maxTextWidth-3) {
|
||||||
|
string tmp = content;
|
||||||
|
string t1 = tmp.substr(start, i-start);
|
||||||
|
t1+="\n";
|
||||||
|
drawStringLine(lines, msgLeft, msgRight, t1.c_str(), -1, '<EFBFBD>', true);
|
||||||
|
start = i;
|
||||||
|
lines++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (start != len) {
|
||||||
|
string tmp = content;
|
||||||
|
string t1 = tmp.substr(start, len-start);
|
||||||
|
drawStringLine(lines, msgLeft, msgRight, t1.c_str(), -1, '<EFBFBD>', true);
|
||||||
|
lines++;
|
||||||
|
}
|
||||||
|
//===============================
|
||||||
|
drawHBorder(lines, msgLeft, msgRight, '<EFBFBD>',' ','<EFBFBD>','<EFBFBD>');
|
||||||
|
lines++;
|
||||||
|
|
||||||
|
consoleGoto(lines, msgLeft);
|
||||||
|
printf2("<EFBFBD>");
|
||||||
|
if (!buttons) {
|
||||||
|
for (int q = 0; q< msgWidth/2-4;q++)
|
||||||
|
printf2(" ");
|
||||||
|
printf2("[Enter]");
|
||||||
|
for (int i = 0; i< msgWidth/2-2; i++)
|
||||||
|
printf2(" ");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
int buttonsLen = strlen(buttons);
|
||||||
|
for (int i = 0; i < msgWidth/2-buttonsLen/2; i++)
|
||||||
|
printf2(" ");
|
||||||
|
printf2("%s", buttons);
|
||||||
|
}
|
||||||
|
consoleGoto(lines, msgRight);
|
||||||
|
printf2("<EFBFBD><EFBFBD>");
|
||||||
|
lines++;
|
||||||
|
|
||||||
|
drawHBorder(lines, msgLeft, msgRight,'<EFBFBD>', '<EFBFBD>', '<EFBFBD>','<EFBFBD>');
|
||||||
|
lines++;
|
||||||
|
|
||||||
|
consoleGoto(lines, msgLeft+1);
|
||||||
|
for (int i = 0; i< msgWidth+2; i++)
|
||||||
|
printf2("<EFBFBD>");
|
||||||
|
printf2(" ");
|
||||||
|
}
|
||||||
|
|
||||||
|
void drawWindow(string content, const char* title, string topline , string bottomline, bool usePagesForLongText = false) {
|
||||||
|
cls();
|
||||||
|
int winWidth, winHeight;
|
||||||
|
getWinWH(winWidth, winHeight);
|
||||||
|
|
||||||
|
#ifdef _WIN32
|
||||||
|
int deltaX = 0;
|
||||||
|
#else
|
||||||
|
int deltaX = 1;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// Total lines
|
||||||
|
#ifdef _WIN32
|
||||||
|
int lines = 0;
|
||||||
|
#else
|
||||||
|
int lines = 1;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// Top
|
||||||
|
drawHBorder(lines, deltaX, winWidth);
|
||||||
|
lines++;
|
||||||
|
|
||||||
|
if (topline != "") {
|
||||||
|
drawStringLine(lines, deltaX, winWidth, topline.c_str());
|
||||||
|
lines++;
|
||||||
|
}
|
||||||
|
// Title
|
||||||
|
if (title != 0) {
|
||||||
|
if (topline != "") {
|
||||||
|
blankline(lines, winWidth);
|
||||||
|
lines++;
|
||||||
|
}
|
||||||
|
drawStringLine(lines, deltaX, winWidth, title, (int)(winWidth/2.0-strlen(title)/2.0));
|
||||||
|
lines++;
|
||||||
|
blankline(lines, winWidth);
|
||||||
|
lines++;
|
||||||
|
}
|
||||||
|
|
||||||
|
//==========Splitting content into pieces=====================
|
||||||
|
int maxTextWidth = winWidth-4; // 2 borders + 2 spaces
|
||||||
|
int start = 0;
|
||||||
|
unsigned int i = 0;
|
||||||
|
// Let's split content into pieces if it too long or doesn't fit the screen
|
||||||
|
while (i < content.length()) {
|
||||||
|
if (usePagesForLongText && lines > winHeight-3) {
|
||||||
|
consoleGoto(lines, 0);
|
||||||
|
blankline(lines, winWidth);
|
||||||
|
lines++;
|
||||||
|
drawStringLine(lines, deltaX, winWidth, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> [Enter] <20><><EFBFBD> <20>த<EFBFBD><E0AEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>...");
|
||||||
|
// Bottom line
|
||||||
|
drawHBorder(winHeight, deltaX, winWidth,'<EFBFBD>','<EFBFBD>','<EFBFBD>');
|
||||||
|
wait();
|
||||||
|
// Print next page
|
||||||
|
cls();
|
||||||
|
lines = 0;
|
||||||
|
// Top line
|
||||||
|
drawHBorder(lines, deltaX, winWidth);
|
||||||
|
#ifdef _WIN32
|
||||||
|
lines = 1;
|
||||||
|
#else
|
||||||
|
lines = 2;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
// Use <c> tag to place text in the center
|
||||||
|
if (content[i] == '<') {
|
||||||
|
// Checking for the <c> tag. <c> tag should be prepended with '\n'
|
||||||
|
if (i+2 < content.length()) {
|
||||||
|
if (content[i+1] == 'c' && content[i+2] == '>') {
|
||||||
|
// Tag found. Looking for the end of a string
|
||||||
|
int cLineEnd = content.length()-1;
|
||||||
|
for (unsigned int j = i; j < content.length(); j++)
|
||||||
|
if (content[j] == '\n') {
|
||||||
|
cLineEnd = j;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
int cLineWidth = cLineEnd - i-1;
|
||||||
|
drawStringLine(lines, deltaX, winWidth,
|
||||||
|
content.substr(i+3, cLineWidth-2).c_str(), winWidth/2-cLineWidth/2);
|
||||||
|
i = cLineEnd+1;
|
||||||
|
start = i;
|
||||||
|
lines++;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (content[i] == '\n') {
|
||||||
|
consoleGoto(lines, 0);
|
||||||
|
string t1 = content.substr(start, i-start+1);
|
||||||
|
drawStringLine(lines, deltaX, winWidth, t1.c_str());
|
||||||
|
start = i+1;
|
||||||
|
lines++;
|
||||||
|
}
|
||||||
|
else if ((int)i - start >= maxTextWidth-1) {
|
||||||
|
consoleGoto(lines, 0);
|
||||||
|
string t1 = content.substr(start, i-start);
|
||||||
|
t1+="\n";
|
||||||
|
drawStringLine(lines, deltaX, winWidth, t1.c_str());
|
||||||
|
start = i;
|
||||||
|
lines++;
|
||||||
|
}
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
if (start <= (int)content.length()) {
|
||||||
|
consoleGoto(lines, 0);
|
||||||
|
string t1 = content.substr(start, content.length()-start);
|
||||||
|
drawStringLine(lines, deltaX, winWidth, t1.c_str());
|
||||||
|
lines++;
|
||||||
|
}
|
||||||
|
//===============================
|
||||||
|
|
||||||
|
for (int i = lines; i< winHeight; i++) {
|
||||||
|
blankline(lines, winWidth);
|
||||||
|
lines++;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!bottomline.empty()) {
|
||||||
|
///Fix for long bottomline
|
||||||
|
if ((int)bottomline.length() >= winWidth) {
|
||||||
|
drawStringLine(winHeight-2, deltaX, winWidth, bottomline.substr(0, winWidth-4).c_str());
|
||||||
|
drawStringLine(winHeight-1, deltaX, winWidth, bottomline.substr(winWidth-4).c_str());
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
drawStringLine(winHeight-1, deltaX, winWidth, bottomline.c_str());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Bottom
|
||||||
|
drawHBorder(winHeight, deltaX, winWidth,'<EFBFBD>','<EFBFBD>','<EFBFBD>');
|
||||||
|
}
|
53
programs/games/21days/interface.h
Executable file
53
programs/games/21days/interface.h
Executable file
@@ -0,0 +1,53 @@
|
|||||||
|
/******************************************************************
|
||||||
|
* 21 days: a game for programmers
|
||||||
|
* Copyright (C) 2014 Maxim Grishin
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||||
|
* MA 02110-1301, USA.
|
||||||
|
*******************************************************************/
|
||||||
|
|
||||||
|
#ifndef H_INTERFACE
|
||||||
|
#define H_INTERFACE
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
char getAnswer(char a1, char a2);
|
||||||
|
char getAnswer(char a1, char a2, char a3);
|
||||||
|
char getAnswer(char a1, char a2, char a3, char a4);
|
||||||
|
char getKey();
|
||||||
|
void clearBuffer();
|
||||||
|
|
||||||
|
#ifdef _KOS32
|
||||||
|
using std::string;
|
||||||
|
string itos(int n);
|
||||||
|
string txt(string s, int d);
|
||||||
|
string txt(string s, string s2);
|
||||||
|
string txt(string s, string s2, string s3);
|
||||||
|
|
||||||
|
string txt(string s, char c);
|
||||||
|
string txt(string s, char ch, string s2);
|
||||||
|
string txt(string s, char ch, string s2, char ch2);
|
||||||
|
|
||||||
|
string txt(string s, int d1, int d2);
|
||||||
|
string txt(string s, int d1, int d2, int d3);
|
||||||
|
string txt(string s, int d1, int d2, int d3, int d4);
|
||||||
|
|
||||||
|
#else
|
||||||
|
std::string txt(const char* s, ...);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
void wait(char a = ENTER_KEY, char b = ENTER_KEY);
|
||||||
|
void drawWindow(std::string content, const char* title = 0, std::string topline = "", std::string bottomline = "", bool usePagesForLongText = false);
|
||||||
|
void drawModalWindow(const char* content , const char* title = 0, const char* buttons = 0);
|
||||||
|
#endif
|
91
programs/games/21days/kos_vector.h
Executable file
91
programs/games/21days/kos_vector.h
Executable file
@@ -0,0 +1,91 @@
|
|||||||
|
/******************************************************************
|
||||||
|
* 21 days: a game for programmers
|
||||||
|
* Copyright (C) 2014 Maxim Grishin
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||||
|
* MA 02110-1301, USA.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* This file contains a part of file "/include/vector" from menuetlibc
|
||||||
|
* adapted to the developer's needs.
|
||||||
|
* Changes:
|
||||||
|
* 1. "*__cdecl" replaced with "* __attribute__((cdecl))" in order
|
||||||
|
* to compile a C++ project.
|
||||||
|
* 2. Added front() methods with the following code:
|
||||||
|
* T& front() {return data[0];}
|
||||||
|
* 3. Code reformatted
|
||||||
|
*
|
||||||
|
********************************************************************/
|
||||||
|
|
||||||
|
#ifndef KOS_VECTOR_H
|
||||||
|
#define KOS_VECTOR_H
|
||||||
|
|
||||||
|
extern void * __attribute__((cdecl)) operator new(size_t);
|
||||||
|
inline void * __attribute__((cdecl)) operator new(size_t, void *_P) {
|
||||||
|
return (_P);
|
||||||
|
}
|
||||||
|
|
||||||
|
template<class T> class vector21 {
|
||||||
|
unsigned length;
|
||||||
|
unsigned allocated;
|
||||||
|
T* data;
|
||||||
|
public:
|
||||||
|
typedef unsigned size_type;
|
||||||
|
typedef T* iterator;
|
||||||
|
vector21():length(0),allocated(0),data(NULL) {}
|
||||||
|
~vector21() {for (unsigned i=length;i--;)data[i].~T();free(data);}
|
||||||
|
unsigned size() const {return length;}
|
||||||
|
void clear() {length=0;}
|
||||||
|
T& operator[](unsigned pos) {return data[pos];}
|
||||||
|
T* begin() {return data;}
|
||||||
|
T* end() {return data+length;}
|
||||||
|
void push_back(const T& x) {
|
||||||
|
if (length==allocated){
|
||||||
|
allocated+=16;
|
||||||
|
data=(T*)realloc(data,allocated*sizeof(T));
|
||||||
|
}
|
||||||
|
new (data+length++) T(x);
|
||||||
|
}
|
||||||
|
bool empty() const {return length==0;}
|
||||||
|
void pop_back() {data[--length].~T();}
|
||||||
|
T& back() {return data[length-1];}
|
||||||
|
T& front() {return data[0];}
|
||||||
|
iterator erase(iterator it) {
|
||||||
|
T* a=it;
|
||||||
|
while (++a != data+length) {
|
||||||
|
a[-1] = *a;
|
||||||
|
}
|
||||||
|
length--;
|
||||||
|
return it;
|
||||||
|
}
|
||||||
|
/*iterator*/T* insert(iterator where, const T& what = T()) {
|
||||||
|
int z=where-data;
|
||||||
|
if (length==allocated) {
|
||||||
|
allocated+=16;
|
||||||
|
data=(T*)realloc(data,allocated*sizeof(T));
|
||||||
|
}
|
||||||
|
T* a=data+length;
|
||||||
|
T* b=data+z;
|
||||||
|
length++;
|
||||||
|
while (a != b) {
|
||||||
|
*a = a[-1];
|
||||||
|
--a;
|
||||||
|
}
|
||||||
|
*a = what;
|
||||||
|
return /*iterator*/a;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
45
programs/games/21days/main.cpp
Executable file
45
programs/games/21days/main.cpp
Executable file
@@ -0,0 +1,45 @@
|
|||||||
|
/******************************************************************
|
||||||
|
* 21 days: a game for programmers
|
||||||
|
* Copyright (C) 2014 Maxim Grishin
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||||
|
* MA 02110-1301, USA.
|
||||||
|
*******************************************************************/
|
||||||
|
|
||||||
|
#include "sys.h"
|
||||||
|
|
||||||
|
#ifndef _KOS32
|
||||||
|
#include <stdio.h> // printf()
|
||||||
|
#define printf2 printf
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <stdlib.h> // srand()
|
||||||
|
#include <time.h> // time()
|
||||||
|
|
||||||
|
int showMainMenu();
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
initConsole();
|
||||||
|
hideCursor();
|
||||||
|
srand(time(NULL));
|
||||||
|
showMainMenu();
|
||||||
|
showCursor();
|
||||||
|
#ifdef _KOS32
|
||||||
|
// Close console window and kill the main thread
|
||||||
|
con_exit(true);
|
||||||
|
kol_exit();
|
||||||
|
#endif
|
||||||
|
return 0;
|
||||||
|
}
|
204
programs/games/21days/pq.h
Executable file
204
programs/games/21days/pq.h
Executable file
@@ -0,0 +1,204 @@
|
|||||||
|
/******************************************************************
|
||||||
|
* 21 days: a game for programmers
|
||||||
|
* Copyright (C) 2014 Maxim Grishin
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||||
|
* MA 02110-1301, USA.
|
||||||
|
*******************************************************************/
|
||||||
|
|
||||||
|
#ifndef H_PQ
|
||||||
|
#define H_PQ
|
||||||
|
|
||||||
|
#define LETTER_RETURN_TO_DAY_21 100001
|
||||||
|
#define LETTER_WEBMASTER_CHECK_UNNAMEDSTUDIO 100002
|
||||||
|
#define LETTER_BORING_WORK 100003
|
||||||
|
#define LETTER_PERSISTENT_AND_PATIENT 100004
|
||||||
|
#define LETTER_BORING_DEFAULT_PATH 100005
|
||||||
|
#define LETTER_TEST_OF_KNOWLEDGE 100006
|
||||||
|
#define LETTER_KNOWLEDGE_QUESTION 100007
|
||||||
|
|
||||||
|
#ifdef _KOS32
|
||||||
|
#include "kos_vector.h"
|
||||||
|
#define vector vector21
|
||||||
|
#else
|
||||||
|
#include <vector>
|
||||||
|
#include <algorithm> // std::sort
|
||||||
|
#define printf2 printf
|
||||||
|
using std::vector;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
enum Letter { LETTER_SHITCODE_1 = 0, LETTER_SHITCODE_2, LETTER_SHITCODE_3,
|
||||||
|
LETTER_BOTSMANN, LETTER_ASTRA, LETTER_UNNAMEDSTUDIO_1, LETTER_UNNAMEDSTUDIO_2,
|
||||||
|
LETTER_UNNAMEDSTUDIO_3, LETTER_UNNAMEDSTUDIO_4, LETTER_UNNAMEDSTUDIO_5,
|
||||||
|
LETTER_ANGRYBOSS_1, LETTER_ANGRYBOSS_2, NO_POPULARITY_HINT, LETTER_FINALPATH_DEF,
|
||||||
|
LETTER_FINALPATH_STARTUP, LETTER_FINALPATH_WORK, LETTER_FINALPATH_NOMONEY, LETTER_FINALPATH_NOPOPULARITY};
|
||||||
|
enum EventType { COURSE = 1000, SPECIAL_LETTER, MESSAGE, NEWS, INCREASEPOPULARITY,
|
||||||
|
CHANGEPATH, CHANGESALARY, CHANGESALARYFIRSTDAY, NOPOPULARITY};
|
||||||
|
|
||||||
|
class event {
|
||||||
|
public:
|
||||||
|
double time;
|
||||||
|
EventType type;
|
||||||
|
int idata;
|
||||||
|
event() : time(0.0), idata(-1) {}
|
||||||
|
event(double t,EventType ty, int data = -1) : time(t), type(ty), idata(data) {}
|
||||||
|
bool operator>(const event a) const {
|
||||||
|
return this->time > a.time;
|
||||||
|
}
|
||||||
|
bool operator<(const event ev) const {
|
||||||
|
return time < ev.time;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
#ifdef _KOS32
|
||||||
|
static void exch (event* A, event* B) {
|
||||||
|
event t = *A;
|
||||||
|
*A = *B;
|
||||||
|
*B = t;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
static void sort21(vector<event>* v, bool desc = false) {
|
||||||
|
#ifdef _KOS32
|
||||||
|
// Sorry for the bubble sort
|
||||||
|
for (unsigned int i = 0; i < v->size()-1; i++)
|
||||||
|
for (unsigned int j = 0; j < v->size()-i-1; j++) {
|
||||||
|
if (desc && (*v)[j] < (*v)[j+1])
|
||||||
|
exch(&((*v)[j]), &(*v)[j+1]);
|
||||||
|
else if (!desc && (*v)[j] > (*v)[j+1])
|
||||||
|
exch(&(*v)[j], &(*v)[j+1]);
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
if (desc)
|
||||||
|
std::sort(v->begin(), v->end(), std::greater<event>());
|
||||||
|
else
|
||||||
|
std::sort(v->begin(), v->end());
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
class PQ3 {
|
||||||
|
private:
|
||||||
|
vector<event> v;
|
||||||
|
bool sorted;
|
||||||
|
public:
|
||||||
|
void sort() {
|
||||||
|
sort21(&v, true);
|
||||||
|
sorted = true;
|
||||||
|
}
|
||||||
|
PQ3() : sorted(false) {}
|
||||||
|
int n() {
|
||||||
|
return v.size();
|
||||||
|
}
|
||||||
|
bool empty() const {
|
||||||
|
return v.empty();
|
||||||
|
}
|
||||||
|
void insert(event item) {
|
||||||
|
v.push_back(item);
|
||||||
|
sorted = false;
|
||||||
|
}
|
||||||
|
event delMin() {
|
||||||
|
if (empty())
|
||||||
|
return event();
|
||||||
|
if (!sorted)
|
||||||
|
sort();
|
||||||
|
event e = v.back();
|
||||||
|
v.pop_back();
|
||||||
|
return e;
|
||||||
|
}
|
||||||
|
event* getMin() {
|
||||||
|
if (empty())
|
||||||
|
return 0;
|
||||||
|
if (!sorted)
|
||||||
|
sort();
|
||||||
|
return &v.back();
|
||||||
|
}
|
||||||
|
event* get(int i) {
|
||||||
|
if (empty() || i >= (int)v.size())
|
||||||
|
return 0;
|
||||||
|
if (!sorted)
|
||||||
|
sort();
|
||||||
|
return &v[i];
|
||||||
|
}
|
||||||
|
bool hasCourse(int c) {
|
||||||
|
for(unsigned int i = 0; i < v.size(); i++)
|
||||||
|
if (v[i].type == COURSE && v[i].idata == c)
|
||||||
|
return true;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
bool hasCourses() {
|
||||||
|
for(unsigned int i = 0; i < v.size(); i++)
|
||||||
|
if (v[i].type == COURSE)
|
||||||
|
return true;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
bool containsType(int et) {
|
||||||
|
for (int i = v.size()-1; i >= 0; i--)
|
||||||
|
if (v[i].type == et)
|
||||||
|
return true;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
bool containsType(int et, int data) {
|
||||||
|
for (int i = v.size()-1; i >= 0; i--)
|
||||||
|
if (v[i].type == et && v[i].idata == data)
|
||||||
|
return true;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
class Undo2 {
|
||||||
|
private:
|
||||||
|
vector<event> v;
|
||||||
|
public:
|
||||||
|
Undo2() {}
|
||||||
|
int n() {
|
||||||
|
return v.size();
|
||||||
|
}
|
||||||
|
bool empty() const {
|
||||||
|
return v.empty();
|
||||||
|
}
|
||||||
|
void insert(event item) {
|
||||||
|
if (item.type == MESSAGE)
|
||||||
|
return;
|
||||||
|
v.push_back(item);
|
||||||
|
}
|
||||||
|
event delMax() {
|
||||||
|
if (empty())
|
||||||
|
return event();
|
||||||
|
event e = v.back();
|
||||||
|
v.pop_back();
|
||||||
|
return e;
|
||||||
|
}
|
||||||
|
event getMax() {
|
||||||
|
if (empty())
|
||||||
|
return event();
|
||||||
|
return v.back();
|
||||||
|
}
|
||||||
|
event* get(int i) {
|
||||||
|
if (empty() || i >= (int)v.size())
|
||||||
|
return 0;
|
||||||
|
return &v[i];
|
||||||
|
}
|
||||||
|
void prepareForUndo() {
|
||||||
|
sort21(&v, false);
|
||||||
|
}
|
||||||
|
bool containsTypeBefore(EventType et, int data, long double t) {
|
||||||
|
for (unsigned int i = 0; i < v.size(); i++)
|
||||||
|
if (v[i].type == et && v[i].idata == data && v[i].time <= t)
|
||||||
|
return true;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
#endif
|
540
programs/games/21days/strings.h
Executable file
540
programs/games/21days/strings.h
Executable file
@@ -0,0 +1,540 @@
|
|||||||
|
/******************************************************************
|
||||||
|
* 21 days: a game for programmers
|
||||||
|
* Copyright (C) 2014 Maxim Grishin
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||||
|
* MA 02110-1301, USA.
|
||||||
|
*******************************************************************/
|
||||||
|
|
||||||
|
#ifndef H_STRINGS
|
||||||
|
#define H_STRINGS
|
||||||
|
|
||||||
|
/*************************************************************************
|
||||||
|
* Messages from friends
|
||||||
|
*************************************************************************/
|
||||||
|
|
||||||
|
const unsigned int levelYesAnswerNumber = 10;
|
||||||
|
const char* levelYesAnswer[levelYesAnswerNumber] = {
|
||||||
|
"<EFBFBD>륧<EFBFBD><EFBFBD><EFBFBD>!",
|
||||||
|
"<EFBFBD><EFBFBD>, ᥩ<><E1A5A9><EFBFBD> 㤠<> ᤥ<><E1A4A5><EFBFBD>.",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD>뢠<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>.",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>.",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><>祭쪨 <20><><EFBFBD><EFBFBD><EFBFBD>? <20><><EFBFBD> <20><><EFBFBD>!",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>筮!",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD> ⥡<> - <20> <20><EFBFBD> <20>६<EFBFBD>",
|
||||||
|
"<EFBFBD> <20><><EFBFBD> ࠧ <><E1A2AE><EFBFBD><EFBFBD><EFBFBD>.",
|
||||||
|
"<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᤥ<><E1A4A5><EFBFBD>.",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0AEA1><EFBFBD>."
|
||||||
|
};
|
||||||
|
|
||||||
|
const unsigned int levelNoAnswerNumber = 10;
|
||||||
|
const char* levelNoAnswer[levelNoAnswerNumber] = {
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, ᥣ<><E1A5A3><EFBFBD><EFBFBD> <20><> ᬮ<><E1ACAE>.",
|
||||||
|
"<EFBFBD><EFBFBD>, <20> <20><><EFBFBD><EFBFBD><EFBFBD>.",
|
||||||
|
"<EFBFBD> <20><> ࠡ<><E0A0A1><EFBFBD> <20><><EFBFBD><EFBFBD>뫠<EFBFBD><EBABA0><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><> <20><>१ <20><><EFBFBD><EFBFBD><EFBFBD>.",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><>㣮<EFBFBD> ࠧ.",
|
||||||
|
"<EFBFBD> <20><> <20>।<EFBFBD><E0A5A4> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.",
|
||||||
|
"<EFBFBD> ⠪<><E2A0AA><EFBFBD> <20><> 㬥<>.",
|
||||||
|
"<EFBFBD><EFBFBD> <20>訡<EFBFBD><E8A8A1><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> :D",
|
||||||
|
"<EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?",
|
||||||
|
"<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD>."
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
const unsigned int level1TasksNumber = 6;
|
||||||
|
const char* level1Task [level1TasksNumber] = {
|
||||||
|
"<EFBFBD>ਢ<EFBFBD><EFBFBD>! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ᬮ<EFBFBD><E1ACAE><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>? <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> <20><><EFBFBD><EFBFBD> <20><> ࠡ<>⠥<EFBFBD> %s.",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> ⥡<> <20><><EFBFBD><EFBFBD><EFBFBD>. <20> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> %s <20><><EFBFBD><EFBFBD>嫨<EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>?",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>⠫<EFBFBD>! <20><> ࠡ<>⠥<EFBFBD> %s. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD>蠩, <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><>㣠 <20><> ࠡ<>⠥<EFBFBD> %s, <20><> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><> <><E1A2AE><EFBFBD><EFBFBD><EFBFBD>?",
|
||||||
|
"<EFBFBD><EFBFBD>࠭<EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD>᪠<EFBFBD><E1AAA0><EFBFBD><EFBFBD> %s, <20><><EFBFBD> <20><>९<E0A5AF><E0AEA1><EFBFBD><EFBFBD> - <20><>祣<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>! <20> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><EFBFBD><E0AEAB>, ⥯<><E2A5AF><EFBFBD> %s <20><> ࠡ<>⠥<EFBFBD>. <20> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><>祭쪨."
|
||||||
|
};
|
||||||
|
|
||||||
|
const unsigned int level1TaskWordNumber = 11;
|
||||||
|
const char* level1TaskWords[level1TaskWordNumber] = {
|
||||||
|
"<EFBFBD>㤨<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>⠭<EFBFBD><E2A0AD>",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD>㧥<EFBFBD>",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD>⪨<EFBFBD> <20><><EFBFBD><EFBFBD>",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>譨<EFBFBD>",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||||
|
};
|
||||||
|
|
||||||
|
const unsigned short programmingTaskNumber = 5;
|
||||||
|
const char* programmingTasks[programmingTaskNumber] = {
|
||||||
|
"<EFBFBD>ਢ<EFBFBD><EFBFBD>! <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> Pascal, <20><> <20><><EFBFBD><EFBFBD>, <20> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?",
|
||||||
|
"<EFBFBD> 㭨<><E3ADA8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ਫ<EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ﬨ <20><> Basic, ᤥ<><E1A4A5><EFBFBD><EFBFBD><EFBFBD>?",
|
||||||
|
"<EFBFBD>㦭<EFBFBD> ⢮<> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᤠ<><E1A4A0><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> Turbo Pascal, <20> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD>. <20><><EFBFBD><EFBFBD>砩!",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> ࠡ<><E0A0A1><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>... <20><><EFBFBD><EFBFBD>, <20><> <20><>ᬮ<EFBFBD>५, <20> ⠬ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> QBASIC, <20> <20> <20><> 㬥<>. <20><>ᮢ<EFBFBD><E1AEA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>?",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD>蠫, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> Pascal? <20> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><EFBFBD>⮢ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᠭ<EFBFBD><E1A0AD><EFBFBD>, <20> <20>⢥<EFBFBD><E2A2A5>⢥<EFBFBD><E2A2A5><EFBFBD><EFBFBD><EFBFBD> 祫<><E7A5AB><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><> <20><><EFBFBD><EFBFBD> <20><>ᮢ."
|
||||||
|
};
|
||||||
|
|
||||||
|
const unsigned short webProgrammingTaskNumber = 4;
|
||||||
|
const char* webProgrammingTasks[webProgrammingTaskNumber] = {
|
||||||
|
"<EFBFBD>ਢ<EFBFBD><EFBFBD>, <20><> ᠩ⠬<E1A0A9>-<2D><><EFBFBD><EFBFBD>⪠<EFBFBD><E2AAA0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>? <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD>蠩, <20><>襩 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>㦥<EFBFBD> ᠩ<> <20><> <20><><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>࠭<EFBFBD><E0A0AD><EFBFBD> <20> <20><><EFBFBD><EFBFBD>ଠ樥<E0ACA0> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> ⥡<>, <20><>?",
|
||||||
|
"<EFBFBD> <20><>襩 <20><><EFBFBD>. <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>襪 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>㦭<EFBFBD>, <20><><EFBFBD> ⥡<> <20><>४<EFBFBD><E0A5AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><EFBFBD><E1A2AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>让 ᠩ<>-<2D><><EFBFBD>⠫ <20><>襬, <20><><EFBFBD> <20><><EFBFBD>筮 <20>㦥<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>. <20><><EFBFBD>?",
|
||||||
|
};
|
||||||
|
|
||||||
|
const unsigned short systemProgrammingTaskNumber = 3;
|
||||||
|
const char* systemProgrammingTask[systemProgrammingTaskNumber] = {
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD>蠫 <20><> Arduino? <20><> <20><><EFBFBD> <20><> <20>ᬥ <20><>襬, <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD> ᪠<><E1AAA0><EFBFBD><EFBFBD>, <20><> <20><> <20>ᬥ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>? <20><><EFBFBD><EFBFBD><EFBFBD> <20>ਫ<EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>饬, ࠡ<><E0A0A1><EFBFBD> <20> <20><><EFBFBD>ப<EFBFBD><E0AEAA><EFBFBD><EFBFBD><E0AEAB>ࠬ<EFBFBD>, <20>㬠<EFBFBD>, ⥡<> <20><><EFBFBD>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD>.",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> KolibriOS <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> <20> <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?"
|
||||||
|
};
|
||||||
|
|
||||||
|
const unsigned short adminTasksNumber = 4;
|
||||||
|
const char* adminTasks[adminTasksNumber] = {
|
||||||
|
"<EFBFBD><EFBFBD>ࢥ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD>ࠨ<EFBFBD><E0A0A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD>⨬ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>! <20><>१<EFBFBD><E0A5A7><EFBFBD><EFBFBD>.",
|
||||||
|
"<EFBFBD> <20><> Apache + nginx ᬮ<><E1ACAE><EFBFBD><EFBFBD> <20><><EFBFBD>⠢<EFBFBD><E2A0A2><EFBFBD> <20> <20><><EFBFBD><EFBFBD>ந<EFBFBD><E0AEA8>? <20><> <20><><EFBFBD><EFBFBD>訢<EFBFBD><E8A8A2>, <20><>祬 :).",
|
||||||
|
"<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><>設<EFBFBD> <20>ਢ<EFBFBD><E0A8A2><EFBFBD><EFBFBD> <20><> Windows Server 2003, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD>砩!",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD> <20>ய<EFBFBD><E0AEAF><EFBFBD><EFBFBD><EFBFBD><EFBFBD> KDE2 <20><><EFBFBD> FreeBSD?"
|
||||||
|
};
|
||||||
|
|
||||||
|
const unsigned short mobileTaskNumber = 3;
|
||||||
|
const char* mobileTasks[mobileTaskNumber] = {
|
||||||
|
"<EFBFBD><EFBFBD> <20><><EFBFBD> ࠧࠡ<E0A0A7><E0A0A1><EFBFBD><EFBFBD> <20><> Swift <20>த<EFBFBD><E0AEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?",
|
||||||
|
"<EFBFBD><EFBFBD>⨬ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>쭮<EFBFBD> <20>ਫ<EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> Java, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, ᥩ<><E1A5A9><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>. <20><> 㬥<><E3ACA5><EFBFBD>?",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> C++ <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><>⨢<EFBFBD><E2A8A2><EFBFBD> <20>ਫ<EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> Android <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD>쬥<EFBFBD><ECACA5><EFBFBD><EFBFBD>?"
|
||||||
|
};
|
||||||
|
|
||||||
|
/*************************************************************************
|
||||||
|
* Courses
|
||||||
|
*************************************************************************/
|
||||||
|
|
||||||
|
const unsigned int coursesNumber = 8;
|
||||||
|
const char* courses[coursesNumber] = {
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC><EFBFBD><E0AEA2><EFBFBD><EFBFBD>",
|
||||||
|
"<EFBFBD>த<EFBFBD><EFBFBD><EFBFBD><EFBFBD>⮥ <20>ணࠬ<E0AEA3><E0A0AC><EFBFBD><E0AEA2><EFBFBD><EFBFBD>:",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD>ࠡ<EFBFBD>⪠ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ਫ<EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
||||||
|
"<EFBFBD>᭮<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᠩ⮢",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD>⥬<EFBFBD><EFBFBD><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC><EFBFBD><E0AEA2><EFBFBD><EFBFBD>",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ࢥ",
|
||||||
|
};
|
||||||
|
bool coursesUnlocked[coursesNumber] = {1, 0, 0, 0, 0, 0, 0, 0};
|
||||||
|
const unsigned short advancedProgrammingCourses = 5;
|
||||||
|
char* advProgCourses[advancedProgrammingCourses] = {
|
||||||
|
"C++",
|
||||||
|
"Java",
|
||||||
|
"Assembler",
|
||||||
|
"C#",
|
||||||
|
"Delphi"
|
||||||
|
};
|
||||||
|
|
||||||
|
bool coursesFinished[coursesNumber] = {1, 0, 0, 0, 0, 0, 0, 0};
|
||||||
|
bool advProgCoursesFinished[advancedProgrammingCourses] = {0, 0, 0, 0, 0};
|
||||||
|
unsigned int learningTime[coursesNumber] = {0, 10, 80, 30, 45, 35, 45, 50}; // in days
|
||||||
|
unsigned int advProgLearningTime[advancedProgrammingCourses] = { 10, 10, 15, 10, 10}; // in days
|
||||||
|
int learningCost[coursesNumber] = {0, 100, 125, 100, 125, 120, 130, 120};
|
||||||
|
int advProgLearningCost[advancedProgrammingCourses] = {125, 120, 150, 123, 100};
|
||||||
|
|
||||||
|
unsigned short finishedCoursesCount = 1;
|
||||||
|
|
||||||
|
/*************************************************************************
|
||||||
|
* Probability of getting a message from friend related to course 0,
|
||||||
|
* 1, 2, etc. (courses). Prob. of getting a simple work is higher
|
||||||
|
* than getting a hard one.
|
||||||
|
*************************************************************************/
|
||||||
|
double probability[coursesNumber] = { 0.7, 0.5, 0.25, 0.6, 0.25, 0.4, 0.3, 0.4};
|
||||||
|
|
||||||
|
int taskReward[coursesNumber] = {2, 5, 10, 13, 19, 25, 30, 35};
|
||||||
|
int taskCount[coursesNumber] = {level1TasksNumber, programmingTaskNumber,
|
||||||
|
programmingTaskNumber, mobileTaskNumber, mobileTaskNumber,
|
||||||
|
webProgrammingTaskNumber, systemProgrammingTaskNumber, adminTasksNumber};
|
||||||
|
|
||||||
|
/*************************************************************************
|
||||||
|
* News
|
||||||
|
*************************************************************************/
|
||||||
|
|
||||||
|
const unsigned short newsCount = 4;
|
||||||
|
const char* news[newsCount] = {
|
||||||
|
"<EFBFBD>ணࠬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>稭<EFBFBD><E7A8AD><EFBFBD> <20><>墠<EFBFBD>뢠<EFBFBD><EBA2A0> <20><><EFBFBD>! <20><><EFBFBD>॥ <20><>筨<EFBFBD><E7ADA8> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC><EFBFBD><E0AEA2><EFBFBD><EFBFBD>!\n",
|
||||||
|
"<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ଠ樨 <20> hh.ru <20><EFBFBD><E1AAAE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> Java - <20>ணࠬ<E0AEA3><E0A0AC><EFBFBD>⮢\n",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⭮! <20><><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>࠭<EFBFBD><E0A0AD><EFBFBD><EFBFBD><E1AAAE> ࠧࠡ<E0A0A7><E0A0A1>稪<EFBFBD> Frappy Perd <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> ४<><E0A5AA><EFBFBD><EFBFBD> <20> <20>ਭ<EFBFBD> <20><><EFBFBD> $50 000 <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>! <20><><EFBFBD><EFBFBD>୮<EFBFBD>, <20><><EFBFBD> ᥩ<><E1A5A9><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.\n",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>筮, ᥩ<><E1A5A9><EFBFBD> <20><><EFBFBD>梥<EFBFBD> <20><><EFBFBD><EFBFBD>-<2D><><EFBFBD>. <20><><EFBFBD>।<EFBFBD><E0A5A4><EFBFBD> <20>ᯥ譠<E1AFA5> <20><><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD> ࠧ <20><> Unnamed Studio, <20><> <20><>ࢮ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> ⮯<> <20><><EFBFBD>. <20> <20><><EFBFBD><EFBFBD> 㦥 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䠭<>⮢ <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>室<EFBFBD><E5AEA4> <20> 㬠!\n"
|
||||||
|
};
|
||||||
|
bool newsShowed[newsCount] = {0, 0, 0, 0};
|
||||||
|
|
||||||
|
/*************************************************************************
|
||||||
|
* Special letters
|
||||||
|
*************************************************************************/
|
||||||
|
|
||||||
|
const unsigned short specialLetterCount = 30;
|
||||||
|
const char* specialLetters[specialLetterCount] = {
|
||||||
|
"<EFBFBD>ਢ<EFBFBD><EFBFBD>. <20> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⮩ <20><EFBFBD><E0AEA5> <20><> C++ <20> Java, <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, ᤥ<><E1A4A5><EFBFBD><EFBFBD><EFBFBD>?",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> ⠪<><E2A0AA>? <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> ᮢᥬ <20><> <20>ࠫ<EFBFBD><E0A0AB>. <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>! <20><><EFBFBD>-<2D><> <20><><EFBFBD><EFBFBD><EFBFBD> C++, <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> Java.",
|
||||||
|
"<EFBFBD> <20><><EFBFBD>蠫, <20><> <20>ணࠬ<E0AEA3><E0A0AC><EFBFBD><E0AEA2><EFBFBD><EFBFBD><EFBFBD> <20><> Assembler <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>? <20><><EFBFBD> <20>㯥<EFBFBD><EFBFBD><E1ABAE><EFBFBD><EFBFBD> <20><><EFBFBD>ப<EFBFBD><E0AEAA><EFBFBD><EFBFBD><E0AEAB><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD>쬥<EFBFBD><ECACA5><EFBFBD><EFBFBD>?",
|
||||||
|
"<EFBFBD> <20><><EFBFBD> <20><> <20><><EFBFBD>뢠<EFBFBD><EBA2A0><EFBFBD> <20>믮<EFBFBD><EBAFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠡ<>⮩? <20><> <20><><EFBFBD> <20><><EFBFBD>⨫<EFBFBD>⭨<EFBFBD> <20><><EFBFBD> <20><> Assembler <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, 祬 <20><>! <20>㯨 <20><><EFBFBD><EFBFBD><EFBFBD> <20><> Asm, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.",
|
||||||
|
"<EFBFBD>ਢ<EFBFBD><EFBFBD>! <20> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>㯨<EFBFBD>, <20>㦭<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> C# <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><> ᠬ<> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> - <20>祭<EFBFBD> <><E1ABAE><EFBFBD><EFBFBD> <20><EFBFBD><E0AEA5>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD>, <20><> <20><> ᮢᥬ, <20><><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0><EFBFBD><EFBFBD>, <20>ணࠬ<E0AEA3><E0A0AC><EFBFBD><E0AEA2><EFBFBD> <20><> 㬥<><E3ACA5><EFBFBD>. <20>ன<EFBFBD><E0AEA9> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ᮢ <20><><EFBFBD>-<2D><>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD>쬮 <20><> <20><><EFBFBD> 'Botsmann'<corp@botsmann.com>\n <20><>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>! <20><><EFBFBD> <20><>ᮢ<EFBFBD>⮢<EFBFBD><E2AEA2><EFBFBD> <20><><EFBFBD>, <20><><EFBFBD> ᯥ樠<E1AFA5><E6A8A0><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC><EFBFBD><E0AEA2><EFBFBD><EFBFBD>. <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠧࠡ<E0A0A7>⪮<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ਫ<EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> ᥩ<><E1A5A9><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20>뭮<EFBFBD> <20> <20><><EFBFBD> '<27><><EFBFBD><EFBFBD><EFBFBD>'. <20><><EFBFBD> <20><>墠<EFBFBD><E5A2A0> <20>뭪<EFBFBD> <20><><EFBFBD> <20>㦭<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD><EFBFBD> ᯥ樠<E1AFA5><E6A8A0><EFBFBD><EFBFBD><EFBFBD>. <20><> <20>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠡ<><E0A0A1><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> $800 <20> <20><><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD>㬠<EFBFBD><E3ACA0><EFBFBD>, <20><> <20><>殮<EFBFBD><EFA6A5><EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>.",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD>쬮 <20><> <20><><EFBFBD> '<27><><EFBFBD><EFBFBD><EFBFBD>'<astra@botsmann.com>\n <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>! <20><> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠧࠡ<E0A0A7><E0A0A1>稪<EFBFBD><E7A8AA> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ਫ<EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><> <20><>⨬ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>! <20><> <20>饬 ⠫<><E2A0AB>⫨<EFBFBD><E2ABA8><EFBFBD> ࠧࠡ<E0A0A7><E0A0A1>稪<EFBFBD><E7A8AA> <20> <20>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD> $1000 <20> <20><><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD> <20>㦥<EFBFBD> ⢮<> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>⢥<EFBFBD>, <20><> <20> <20><><EFBFBD><EFBFBD>?",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD>쬮 <20><> <20><><EFBFBD> 'Botsmann'<corp@botsmann.com>\n <20> ᮦ<><E1AEA6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><> <20><>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD> <20><><EFBFBD><EFBFBD> HR-ᯥ樠<E1AFA5><E6A8A0><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ࠢ<EFBFBD><E0A0A2><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>쬮 <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>७⮢. <20><><EFBFBD> <20><> <20>㦭<EFBFBD> <20>, <20><>⮢<EFBFBD><E2AEA2> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>-<2D><> $200.",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD>쬮 <20><> <20><><EFBFBD> 'Botsmann'<corp@botsmann.com>\n <20><>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD> HR-ᯥ樠<E1AFA5><E6A8A0><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ࠢ<EFBFBD><E0A0A2><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>쬮 <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>७⮢ <20> <20><><EFBFBD><EFBFBD><EFBFBD>⢥ <20><EFBFBD>ન. <20><> <20><>訫<EFBFBD>, <20><><EFBFBD> <20><> <20><><EFBFBD> <20><><EFBFBD>室<EFBFBD><E5AEA4><EFBFBD>! <20> <20><> <20><><EFBFBD> <20><> <20><>ᠫ<EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD> <20><><EFBFBD>稬.",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD>, <20>ਢ<EFBFBD><E0A8A2>! <20><> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Unnamed Studio <20> <20><> <20>祭<EFBFBD> <20><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> ⠪<><E2A0AA> ᮧ<><E1AEA7><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>. <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⢮<> ࠡ<><E0A0A1><EFBFBD>, <20><><EFBFBD> ॠ<>쭮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>! <20> <20>⫨稥 <20><> <20><>㯭<EFBFBD><E3AFAD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⥩ <20><><EFBFBD> ᠬ<>ॠ<EFBFBD><E0A5A0><EFBFBD><EFBFBD>樨. <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠫<EFBFBD>, <20> 㦥 ᪨<>㫨<EFBFBD><E3ABA8>. <20> ⥡<> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20>㤥<EFBFBD>, <20><>⠢<EFBFBD><E2A0A2> <20><> <20><><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD>. <20><> <20> <20><><EFBFBD> <20><> <20><><EFBFBD> <20>㤥<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><>୮? <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> ᮣ<><E1AEA3>ᥭ. ",
|
||||||
|
/*11*/ "<EFBFBD><EFBFBD><EFBFBD>쬮 <20><> <20><><EFBFBD> 'Botsmann'<corp@botsmann.com>\n <20><><EFBFBD>蠩, <20> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20>६<EFBFBD>, <20><> <20>ᥬ<EFBFBD> <20><><EFBFBD><EFBFBD> <20>।<EFBFBD><E0A5A4>. <20><> <20>⢫<EFBFBD><E2A2AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>᭮<EFBFBD><E1ADAE><EFBFBD><EFBFBD> ࠡ<><E0A0A1><EFBFBD> <20><> <20>ਫ<EFBFBD><E0A8AB><EFBFBD> <20> <20><><EFBFBD>ࠡ<EFBFBD><E0A0A1><EFBFBD><EFBFBD>. <20><> <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> ⥡<> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD>ᠩ <20><><EFBFBD><EFBFBD> <20>ਫ<EFBFBD><E0A8AB><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>⢥<EFBFBD><E2A2A5><EFBFBD>. \n<EFBFBD><EFBFBD><EFBFBD>筮 <20><> ࠡ<><E0A0A1><EFBFBD>? <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> $1200 <20> <20><><EFBFBD><EFBFBD><EFBFBD> ⥡<> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⥫<EFBFBD><E2A5AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>. <20><>, <20>த<EFBFBD><E0AEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠡ<><E0A0A1><EFBFBD><EFBFBD><EFBFBD>?",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD>쬮 <20><> <20><><EFBFBD> 'Botsmann'<corp@botsmann.com>\n <20> ⥡<> <20>।<EFBFBD><E0A5A4>०<EFBFBD><E0A5A6><EFBFBD>: <20><><EFBFBD>業<EFBFBD><E6A5AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> ࠡ<><E0A0A1><EFBFBD>! <20>㬠<EFBFBD>, <20> <20><> 㧭<><E3A7AD> <20> ⢮<><E2A2AE> <20><><EFBFBD>ࠡ<EFBFBD>⪥?! <20><> 㢮<><E3A2AE><EFBFBD>!",
|
||||||
|
"<EFBFBD><EFBFBD> ࠤ<>, <20><><EFBFBD> <20><> <20><><EFBFBD>ᮥ<EFBFBD><E1AEA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD>, ⥯<><E2A5AF><EFBFBD> <20><> 童<> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Unnamed Studio! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠡ<><E0A0A1><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠧ<> <20> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>॥! <20><><EFBFBD> <20><> <20> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ᮢ<EFBFBD><E1AEA2><EFBFBD>. ",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠡ<><E0A0A1><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>! <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <><E1ABAE>, <20><><EFBFBD> ॡ<><E0A5A1><EFBFBD> <20> Unnamed Studio ⠪ <20>㬠<EFBFBD><E3ACA0>! ...<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> <20><><EFBFBD> <20><><EFBFBD> <20><EFBFBD><E0AEA1><EFBFBD><EFBFBD>. <20><><EFBFBD> <20><><EFBFBD>ன <20>ணࠬ<E0AEA3><E0A0AC><EFBFBD><EFBFBD> <20>ய<EFBFBD><E0AEAF> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> 䮭<><E4AEAD>, <20><> ५<><E0A5AB><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> 墠<><E5A2A0><EFBFBD> ⥯<><E2A5AF><EFBFBD> :(. <20><> ᮡ<>ࠥ<EFBFBD> <20><> $%d. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20> <20><><EFBFBD><E1ABA5><EFBFBD><EFBFBD> ࠧ! <20><> <20><><EFBFBD><EFBFBD>!",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD>쬮 <20><> Unnamed Studio:\n <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>! <20><>१ 40 <20><><EFBFBD><EFBFBD> ५<><E0A5AB>, <20> <20> <20><><EFBFBD> ᠩ<><E1A0A9> <20><> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>! <20><> <20><><EFBFBD><EFBFBD>砫쭮 <20><><EFBFBD>-<2D><> <20> <20><> <20>㬠<EFBFBD><E3ACA0> <20><> <20>⮬, ⮫쪮 ᥩ<><E1A5A9><EFBFBD> 㧭<><E3A7AD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> ४<><E0A5AA><EFBFBD><EFBFBD>. ",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD>쬮 <20><> Unnamed Studio:\n <20><><EFBFBD>? <20><>८業<E0A5AE><E6A5AD> ᥡ<>? <20><> <20><><EFBFBD><EFBFBD>ਫ, <20>ᯥ<EFBFBD><E1AFA5><EFBFBD> ᤥ<><E1A4A5><EFBFBD><EFBFBD> ᠩ<> <20><><EFBFBD>६<EFBFBD>! <20><>-<2D><> ⥡<> <20><><EFBFBD> <20><>諮 <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> 1000 ࠧ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>! <20><><EFBFBD> ⢮<> $1000 <20><> <20><>饣<EFBFBD> <20><>室<EFBFBD> <20> 㡨ࠩ<E3A1A8><E0A0A9>!",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD>쬮 <20><> Unnamed Studio:\n <20>㢠<EFBFBD>, <20><> ᬮ<>५ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>? <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>?! <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>墠<EFBFBD>뢠<EFBFBD><EBA2A0>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD>稥 <20><><EFBFBD><E0AEA6>! <20><><EFBFBD> <20>ᯥ<EFBFBD>! <20><><EFBFBD> <><E1ABA0>! <20> <20><><EFBFBD> <20><> <20><>⮫<EFBFBD><E2AEAB> <20><>룠<EFBFBD>! <20><>ॢ<EFBFBD><E0A5A2><EFBFBD> ⥡<> $200 000 - ⢮<> <20><><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0AEA5> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD> <20> <20><><EFBFBD><EFBFBD>᪠! <20> ⥡<> <20><><EFBFBD><EFBFBD> <20>⤮<EFBFBD><E2A4AE><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD>筮? <20> <20><> <20><><EFBFBD> <20>㬠<EFBFBD>! <20><> ࠡ<><E0A0A1><EFBFBD> ᨤ<><E1A8A4> <20> <20><>ࠡ<EFBFBD><E0A0A1>뢠<EFBFBD><EBA2A0> <20><><EFBFBD>죨, <20><><EFBFBD> ⥡<> <20><> <20><>襭. <20> <20>㦭<EFBFBD> <20><><EFBFBD>죨 - <20>த<EFBFBD><E0AEA4><EFBFBD><EFBFBD><EFBFBD> ࠡ<><E0A0A1><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 㦥 <20><>祣<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>᭮<EFBFBD><E1ADAE> <20><> <20>㤥<EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> ⠪, <20><><EFBFBD><EFBFBD>筮, <20><> <20><>ࠡ<EFBFBD>⠥<EFBFBD><E2A0A5>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><>릪<EFBFBD><EBA6AA> <20><> <20>६<EFBFBD><E0A5AC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>.",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD>筮, <20><>? <20><><EFBFBD><EFBFBD>筮, <20><> ᠬ<><E1A0AC> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> ࠡ<><E0A0A1><EFBFBD> <20><> <20>⪠<EFBFBD><E2AAA0><EFBFBD><EFBFBD><EFBFBD>, <20> <20><><EFBFBD><EFBFBD><EFBFBD> 㦥 <20><> <20>㤥<EFBFBD>. <20><><EFBFBD>, <20><>ॠ<EFBFBD><E0A5A0><EFBFBD><EFBFBD><EFBFBD>筮? <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20>ᥬ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠡ<><E0A0A1><EFBFBD>. <20><>, <20>㤥<EFBFBD><E3A4A5> <20><>ॡ<EFBFBD><E0A5A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>. <20> <20><><EFBFBD>ᮢ <20><><EFBFBD><EFBFBD><EFBFBD> ⮦<> <20><> <20>㤥<EFBFBD>, <20><>祬 <20><><EFBFBD> ⥡<>, <20> <20><><EFBFBD> ࠢ<><E0A0A2> <20><> ⮫쪮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><>, <20>뫮 <20><> <20><><EFBFBD><EFBFBD><EFBFBD>, <20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20>뫮 <20><><EFBFBD> <20>⬮<EFBFBD><E2ACAE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᤥ<><E1A4A5><EFBFBD><EFBFBD> <20><>㣮<EFBFBD> <20>롮<EFBFBD>!",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD>쬮 <20><> <20><><EFBFBD> 'Botsmann'<corp@botsmann.com>\n <20><>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD> <20><>४<EFBFBD><E0A5AA> <20><>訫 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>।<EFBFBD><E0A5A4><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⥫쭮<E2A5AB> <20><><EFBFBD>祭<EFBFBD><E7A5AD> <20><><EFBFBD><EFBFBD><EFBFBD> ࠡ<>⭨<EFBFBD><E2ADA8><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD> ᮪<><E1AEAA>頥<EFBFBD> <20><><EFBFBD>室<EFBFBD> <20><> <20><EFBFBD><E0AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>㤭<EFBFBD><E3A4AD><EFBFBD><EFBFBD>. <20><>訫<EFBFBD> <20><>ꥤ<EFBFBD><EAA5A4><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20> <20><><EFBFBD><EFBFBD>. <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> ᥩ<><E1A5A9><EFBFBD> <20>㪢<EFBFBD><E3AAA2>쭮 <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20> <20><>饬, <20><>襭<EFBFBD>, <20><><EFBFBD> '<27><><EFBFBD><EFBFBD>襥' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>㤥<EFBFBD> <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> '<27><><EFBFBD><EFBFBD>襬<EFBFBD>'. <20><> 㦥 <20>ᯥ<EFBFBD> <20><>४<EFBFBD><E0A5AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᥡ<> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>㤭<EFBFBD><E3A4AD>, ⠪ <20><><EFBFBD> ⥡<> <20><><EFBFBD><EFBFBD>砥<EFBFBD><E7A0A5><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮<EFBFBD><E2A2AE><EFBFBD><EFBFBD> Junior'<27><> <20> <20>⢥<EFBFBD><E2A2A5><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><> <20><>ᯫ<EFBFBD>⭮, <20><><EFBFBD><EFBFBD>筮. <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 5 <20>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>⢥⮢ <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>塞 <20>६<EFBFBD><E0A5AC>. <20> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 5 <20><><EFBFBD>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD>⠥<EFBFBD>, <20><><EFBFBD> <20><EFBFBD><E0AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> ⮣<><E2AEA3> <20><><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E1A2AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20> <20> ⥡<> <20><> ᮬ<><E1AEAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> ⥡<> <20><><EFBFBD>᪠<EFBFBD><E1AAA0><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><>襭<EFBFBD><E8A5AD>. <20>-<2D><> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><> <20><>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD>!",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD>쬮 <20><> <20><><EFBFBD> 'Botsmann'<corp@botsmann.com>\n <20><><EFBFBD> <20> <20><><EFBFBD>頫, ⢮<> <20>६<EFBFBD><E0A5AC> <20><> <20>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>⢥<EFBFBD><E2A2A5>: $400",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD>쬮 <20><> <20><><EFBFBD> 'Botsmann'<corp@botsmann.com>\n <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><> <20><><EFBFBD> <20><> <20><> ⠪, <20> <20> ⥡<> <20><> ᮬ<><E1AEAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>! <20> <20><>, <20><><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> ࠡ<><E0A0A1><EFBFBD> <20><><EFBFBD>ᨦ<EFBFBD><E1A8A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> <20> <20><><EFBFBD>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD>, <20><> 㢮<><E3A2AE><EFBFBD><EFBFBD> <20> ⥡<> <20><>易<EFBFBD>. <20><><EFBFBD> <20><><EFBFBD><EFBFBD>.",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD>쬮 <20><> <20><><EFBFBD> 'Botsmann'<corp@botsmann.com>\n <20><><EFBFBD> <20> <20> <20>㬠<EFBFBD>, <20><><EFBFBD> <20><>࠭<EFBFBD><E0A0AD><EFBFBD> <20><><EFBFBD>楤<EFBFBD><E6A5A4><EFBFBD> <20><EFBFBD>ન <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>⬥<EFBFBD><E2ACA5><EFBFBD><EFBFBD>: Junior'<27> ᮢᥬ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, ᠬ<> <20><>祬<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>, ⮫쪮 <20><><EFBFBD><EFBFBD>訢<EFBFBD><E8A8A2><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>㤭<EFBFBD><E3A4AD><EFBFBD><EFBFBD> <20><> ᮢ<><E1AEA2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>룮<EFBFBD><EBA3AE><EFBFBD>. <20> <20><>饬, ⥯<><E2A5AF><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᯮ<><E1AFAE><EFBFBD><EFBFBD><EFBFBD> ࠡ<><E0A0A1><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> ⥡<> <20>⢫<EFBFBD><E2A2AB><EFBFBD><EFBFBD><EFBFBD> <20><> <20>㤥<EFBFBD>.",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD>蠩, <20><> <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>! <20><> <20><><EFBFBD><EFBFBD>ਫ <20><>, <20><><EFBFBD> <20><> <20><> %d <20><><EFBFBD><EFBFBD> <20><><EFBFBD>稫<EFBFBD><E7A8AB> <20>⮬<EFBFBD>! <20> ⥡<> <>쪮 <20><>ᮢ <20> <20><>⪠<EFBFBD>? <20><>ন <> $%d, <20><><EFBFBD><EFBFBD>㦨<EFBFBD>.",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD>쬮 <20><> Andrew Johnson <andrew@botsmann.com>\n <20><><EFBFBD>, <20>㢠<EFBFBD>, <20> <20><> <20><>ᥤ<EFBFBD><E1A5A4><EFBFBD><EFBFBD> <20>⤥<EFBFBD><E2A4A5>. <20><><EFBFBD> <20><><EFBFBD><EFBFBD> ⮦<> <20><><EFBFBD>ࠨ<EFBFBD><E0A0A8><EFBFBD> <20><EFBFBD><E0AEA2><EFBFBD><EFBFBD> <20> <20><> <20>ࠢ<EFBFBD><E0A0A2>쭮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><> <20>ਫ<EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>. <20><>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, ⢮<> ⥫<>䮭 <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>誥, <20> ⠬ <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠭<EFBFBD><E2A0AD><EFBFBD> <20><><EFBFBD>쬠. <20>뫮 <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD>, <20> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>㬠<EFBFBD><E3ACA0>, <20><><EFBFBD> <20><> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ন<EFBFBD><E0A6A8><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⠪<EFBFBD> <20> <20><>㣨<EFBFBD><E3A3A8> <20><><EFBFBD><EFBFBD><EFBFBD>稪<EFBFBD><E7A8AA><EFBFBD>.",
|
||||||
|
/*un2 var1*/ "<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD>㦥<EFBFBD><E3A6A5>... <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>, <20><><EFBFBD>⮬<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> ⮫쪮 ᮢ<>⮬: <20>뫮 <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ன<EFBFBD><E0AEA9> <20><><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20>᭮<EFBFBD><E1ADAE><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.",
|
||||||
|
/*un2 var2*/ "<EFBFBD><EFBFBD><EFBFBD>? <20><><EFBFBD> 㬥<><E3ACA5><EFBFBD>? <20><><EFBFBD> <20><> <20><><EFBFBD> <20> ⮡<><E2AEA1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>! <20><><EFBFBD><EFBFBD>, ⮣<><E2AEA3> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><> <20><> <20>㤥<EFBFBD> <20><>࠭<EFBFBD>稢<EFBFBD><E7A8A2><EFBFBD> ⢮<> 䠭⠧<E4A0AD><E2A0A7>.",
|
||||||
|
/*un4 var1*/ "<EFBFBD><EFBFBD> <20><>訫<EFBFBD> ᪨<><E1AAA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> $%d <20><> <20><><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ண<EFBFBD><E0AEA3><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.",
|
||||||
|
/*un4 var2*/ "<EFBFBD><EFBFBD> ⥡<> <20>ࠧ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><> ⮫<><E2AEAB><EFBFBD><EFBFBD><EFBFBD> ᯥ樠<E1AFA5><E6A8A0><EFBFBD><EFBFBD>. <20>㬠<EFBFBD>, ᮧ<><E1AEA7><EFBFBD><EFBFBD><EFBFBD> ᠩ⮢ <20><><EFBFBD> ⥡<> - <20><>騩 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>."
|
||||||
|
};
|
||||||
|
|
||||||
|
bool unnamedStudioLettersSent[3] = {0,0,0,};
|
||||||
|
|
||||||
|
bool knowledgeLetterSent = false;
|
||||||
|
short nextKnowledgeLetterIndex = 0;
|
||||||
|
short klowledgeCorrectAnswers = 0;
|
||||||
|
short klowledgeUncorrectAnswers = 0;
|
||||||
|
const unsigned short knowledgeQuestionsCount = 10*3;
|
||||||
|
const char* knowledgeCheck[knowledgeQuestionsCount] = {
|
||||||
|
"<EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>箪, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC><EFBFBD><E0AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, C++ <20><><EFBFBD> Delphi?", "<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD>⠢<EFBFBD><E2A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>筮 C++, <20><> Delphi 㦥 <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20>ணࠬ<E0AEA3><E0A0AC><EFBFBD>⮢ ᪠<><E1AAA0><EFBFBD>, <20><><EFBFBD> <20><>⪠ <20><><EFBFBD> UDP <20><> <20><>諠...<2E><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD>?", "UDP - <20><><EFBFBD> <20><><EFBFBD>⮪<EFBFBD><E2AEAA>, <20><> <20><>࠭<EFBFBD><E0A0AD><EFBFBD><EFBFBD><EFBFBD>騩 <20><><EFBFBD>⠢<EFBFBD><E2A0A2> <20><><EFBFBD><EFBFBD>⮢.", "UDP - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⮪<EFBFBD><E2AEAA>, <20><>࠭<EFBFBD><E0A0AD><EFBFBD><EFBFBD><EFBFBD>騩 <20><><EFBFBD>⠢<EFBFBD><E2A0A2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> <20>⮬ <20> <20><>⪠.",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, ᠩ<> <20><> C++ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>窮<EFBFBD>?", "<EFBFBD> <20>ਭ樯<E0A8AD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><>몥 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD> HTML-<2D><>࠭<EFBFBD><E0A0AD><EFBFBD>.", "<EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20>ਪ<EFBFBD><E0A8AA>. <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> PHP, Python, ASP.Net <20> <20><>㣨<EFBFBD>",
|
||||||
|
"<EFBFBD><EFBFBD> <20><><EFBFBD> <20><>ᯮਫ<E1AFAE>, <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20> <20>ᯮ<EFBFBD>짮<EFBFBD><ECA7AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> JavaScipt ᠩ<><E1A0A9> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> <20><> <20><> Java. Java - <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ਫ<EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><>୮?", "<EFBFBD><EFBFBD> <20>ந<EFBFBD>ࠫ.", "<EFBFBD><EFBFBD> <20><>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20>ਫ<EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> ⢮<><E2A2AE><EFBFBD> <20><><EFBFBD>ந<EFBFBD><E0AEA8> <20><> Java <20><><EFBFBD><EFBFBD>ᠭ<EFBFBD> <20><><EFBFBD><EFBFBD>.",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><>४<EFBFBD><E0A5AA><EFBFBD> ᪠<><E1AAA0><EFBFBD>, <20><><EFBFBD> <20><> <20><> ࠡ<><E0A0A1><EFBFBD> <20> <20><>襩 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ࠡ<EFBFBD><E0A0A1>뢠<EFBFBD> <20><> opensource-<2D><EFBFBD><E0AEA5><EFBFBD><EFBFBD>. <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?","<EFBFBD><EFBFBD>, <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⭮<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>প<EFBFBD><E0A6AA>.", "<EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!. Opensource-<2D><EFBFBD><E0AEA5><EFBFBD> <20><> <20><>ᯫ<EFBFBD><E1AFAB><EFBFBD><EFBFBD><EFBFBD>.",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ॡ<EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0AEA5><EFBFBD> <20><><EFBFBD> iOS. <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>, <20> 祬 ࠧ<><E0A0A7><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> #include <20> #import?", "#import <20><>࠭<EFBFBD><E0A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> 䠩<> <20>㤥<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ࠧ, <20> <20>⫨稥 <20><> #include", "<EFBFBD><EFBFBD> <20><>⠥<EFBFBD><E2A0A5>, #include <20>ᯮ<EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20><> C, <20> 'import' - <20> <20><>ᥬ<EFBFBD><E1A5AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>⠢<EFBFBD><E2A0A2><EFBFBD>.",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0AEA5> <20><> Ruby on Rails. <20><><EFBFBD>蠫, <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㥬<EFBFBD><E3A5AC> <20> <20><>᮪<EFBFBD><E1AEAA><EFBFBD><E0AEA2><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> ⠪?","<EFBFBD><EFBFBD>... <20><> <20><><EFBFBD> <20> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20> <20>३<EFBFBD><E0A5A9><EFBFBD><EFBFBD><EFBFBD>.", "<EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㥬<EFBFBD><E3A5AC> <20><><EFBFBD><EFBFBD>, <20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㥬<EFBFBD><E3A5AC>.",
|
||||||
|
"<EFBFBD> ⥯<><E2A5AF><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> Linux, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>⠢<EFBFBD><E2A0A2><EFBFBD> <20><> NTFS-ࠧ<><E0A0A7><EFBFBD>? <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> live cd <20><> <20>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.", "<EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>㧨<EFBFBD><E3A7A8><EFBFBD><EFBFBD> <20><> ᬮ<><E1ACAE><EFBFBD>.", "<EFBFBD> <20>ਭ樯<E0A8AD>, <20><>, <20><> <20>㦭<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20>⠢<EFBFBD><E2A0A2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⥫<EFBFBD><E2A5AB><EFBFBD><EFBFBD> <20>⨫<EFBFBD><E2A8AB><EFBFBD>... <20><><EFBFBD> ⥡<> <20><><EFBFBD><EFBFBD>?",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>७⮢, ᪠<><E1AAA0><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><>१<EFBFBD><E0A5A7><EFBFBD><EFBFBD><EFBFBD> PHP <20><><EFBFBD> <20><><EFBFBD> <20> eval(). <20>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠡ<><E0A0A1><EFBFBD>, <20> <20>⪠<EFBFBD><E2AAA0><EFBFBD>. <20>ࠢ<EFBFBD><E0A0A2>쭮 ᤥ<><E1A4A5><EFBFBD>? ", "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ࠢ<EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20>뫠 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '<27><><EFBFBD><EFBFBD>⠪<EFBFBD><E2A0AA>'.", "<EFBFBD>ࠢ<EFBFBD><EFBFBD>쭮, <20><> <20>⮬ <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>祣<EFBFBD> <20><><EFBFBD><EFBFBD>饣<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",
|
||||||
|
"<EFBFBD><EFBFBD>宦<EFBFBD> <20><> 㤠<><E3A4A0><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ࢥ<EFBFBD>, <20>㦭<EFBFBD> 㧭<><E3A7AD><EFBFBD>, <>쪮 <20><>ப <20> 䠩<><E4A0A9> log.txt. <20> ⠬, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, Linux <20> ⮫쪮 <20><><EFBFBD>᮫<EFBFBD>...<2E><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?", "wc -l log.txt", "ls -l log.txt"
|
||||||
|
};
|
||||||
|
|
||||||
|
/*************************************************************************
|
||||||
|
* Tips for users when waiting for an input
|
||||||
|
*************************************************************************/
|
||||||
|
|
||||||
|
const char* ae_advanced_courses = "<EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>? <20><><EFBFBD> ⮣<>, <20>⮡<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> '<27>த<EFBFBD><E0AEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' <20><><EFBFBD>ᮢ, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 'a'-'e'";
|
||||||
|
const char* bottomLineCourses = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[C] ";
|
||||||
|
const char* bottomLineMsgAchieves = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>饭<EFBFBD><EFBFBD>[M] <20><><EFBFBD>⨦<EFBFBD><E2A8A6><EFBFBD><EFBFBD>[A] <20><>릮<EFBFBD> <20> <20><><EFBFBD>諮<EFBFBD>[U] ";
|
||||||
|
const char* bottomLineSpeedAndExit = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[S] <20><><EFBFBD><EFBFBD><EFBFBD>[Esc]\n";
|
||||||
|
const char* changeSpeedButtons = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[+][-] <20>ਭ<EFBFBD><E0A8AD><EFBFBD>[Y]";
|
||||||
|
const char* enter = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> [Enter] <20><><EFBFBD> <20>த<EFBFBD><E0AEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>...";
|
||||||
|
const char* escToBreakReading = ", <20><><EFBFBD>ࢠ<EFBFBD><E0A2A0> <20>⥭<EFBFBD><E2A5AD> [Esc]";
|
||||||
|
const char* number_or_enter = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> [Enter] <20>⮡<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>";
|
||||||
|
const char* one_or_two = "<EFBFBD><EFBFBD>ਠ<EFBFBD><EFBFBD><EFBFBD> <20>⢥⮢: [1] <20><><EFBFBD> [2]";
|
||||||
|
const char* one_two_or_three = "<EFBFBD><EFBFBD>ਠ<EFBFBD><EFBFBD><EFBFBD> <20>⢥⮢: [1], [2] <20><><EFBFBD> [3]";
|
||||||
|
const char* pressF = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> [F] <20><><EFBFBD> <20>த<EFBFBD><E0AEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>...";
|
||||||
|
const char* pressP = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> [P] <20><><EFBFBD> <20>த<EFBFBD><E0AEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>...";
|
||||||
|
const char* yesNoDialog = "<EFBFBD><EFBFBD>[Y] <20><><EFBFBD>[N]";
|
||||||
|
|
||||||
|
|
||||||
|
/*************************************************************************
|
||||||
|
* Windows' title
|
||||||
|
*************************************************************************/
|
||||||
|
|
||||||
|
const char* achievementsTitle = "<EFBFBD><EFBFBD><EFBFBD>⨦<EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
|
||||||
|
const char* breaking_news = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
|
||||||
|
const char* changeSpeedTitle = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>";
|
||||||
|
const char* coursesTitle = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
|
||||||
|
const char* courseAlreadyPassed = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 㦥 <20>ன<EFBFBD><E0AEA9><EFBFBD>!";
|
||||||
|
const char* finalCard = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
|
||||||
|
const char* gameOverTitle = "<EFBFBD><EFBFBD> <20>ந<EFBFBD>ࠫ<EFBFBD>!";
|
||||||
|
const char* introTitle = "<EFBFBD><EFBFBD><EFBFBD>㯫<EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
|
||||||
|
const char* new_letter = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>쬮";
|
||||||
|
const char* newAchievement = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⨦<EFBFBD><E2A8A6><EFBFBD><EFBFBD>!";
|
||||||
|
const char* notEnoughMoney = "<EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>筮 <20>।<EFBFBD><E0A5A4><EFBFBD> :(";
|
||||||
|
const char* playerStatsTitle = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⨪<EFBFBD> <20><>ப<EFBFBD>\n\n\n";
|
||||||
|
const char* unread_message = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠭<EFBFBD><EFBFBD><EFBFBD> ᮮ<>饭<EFBFBD><E9A5AD>";
|
||||||
|
|
||||||
|
/*************************************************************************
|
||||||
|
* Windows' text
|
||||||
|
*************************************************************************/
|
||||||
|
|
||||||
|
const char* coursesFinishedText = "\n<EFBFBD><EFBFBD><EFBFBD>ᮢ <20>ன<EFBFBD><E0AEA9><EFBFBD><EFBFBD>: %d/%d\n \n";
|
||||||
|
const char* finalCardsUnlockedText = "\n<EFBFBD><EFBFBD><EFBFBD>殢<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: %d/%d\n";
|
||||||
|
const char* gameName = "21 days";
|
||||||
|
const char* gameOverText = "\n<c><3E><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>⢥<EFBFBD><E2A2A5><EFBFBD><EFBFBD> ᯮᮡ <20>ந<EFBFBD><E0AEA8><EFBFBD><EFBFBD><EFBFBD>, <20> <20><> <20><>諨 <20><><EFBFBD>!\n<c><3E><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>, <20><><EFBFBD><EFBFBD> ९<><E0A5AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⠪ <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><> <20>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠡ<><E0A0A1><EFBFBD>.\n\n<c><3E><><EFBFBD><EFBFBD><EFBFBD>!\n";
|
||||||
|
const char* helpDesker = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>騪";
|
||||||
|
const char* mainMenuText = "\n\n<c>1.<2E><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>\n\n<c>2.<2E><>室\n";
|
||||||
|
const char* noCurrentCurses = "\t<EFBFBD><EFBFBD> <20><>祬<EFBFBD> <20><> <20><><EFBFBD>砥<EFBFBD><E7A0A5><EFBFBD><EFBFBD>...\n";
|
||||||
|
const char* playerStatsEnd = "\n\n<c><3E><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ਭ<EFBFBD><E0A8AD>⮬ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⨪<EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>ﬨ!\n\n<c><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> [Esc] <20><><EFBFBD> <20><>室<EFBFBD>.\n";
|
||||||
|
const char* playerStatus = "<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: ";
|
||||||
|
const char* pseudoEqual = "<EFBFBD>";
|
||||||
|
const char* selectCourseText = "<EFBFBD>롥<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <><E1ABA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>⥣<EFBFBD>, <20><><EFBFBD><EFBFBD>ன <20><> <20><> <20><>⥫<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:\n";
|
||||||
|
const char* startupper = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠯<EFBFBD><EFBFBD>";
|
||||||
|
const char* takeCourseCost = ", <20>ன<EFBFBD><E0AEA9> <20><><EFBFBD><EFBFBD>: $%d\n";
|
||||||
|
const char* takingThisCourse = "\t<EFBFBD><EFBFBD> ᥩ<><E1A5A9><EFBFBD> <20><><EFBFBD>砥<EFBFBD><E7A0A5><EFBFBD><EFBFBD> <20>⮬<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>..\n";
|
||||||
|
const char* worker = "<EFBFBD><EFBFBD>㤮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
|
||||||
|
|
||||||
|
const char* days21 =
|
||||||
|
"\n<c> .oooo. .o .o8 \n"
|
||||||
|
"<c>.dP\"\"Y88b o888 \"888 \n"
|
||||||
|
"<c> ]8P' 888 .oooo888 .oooo. oooo ooo .oooo.o \n"
|
||||||
|
"<c> .d8P' 888 d88' `888 `P )88b `88. .8' d88( \"8 \n"
|
||||||
|
"<c> .dP' 888 888 888 .oP\"888 `88..8' `\"Y88b. \n"
|
||||||
|
"<c>.oP .o 888 888 888 d8( 888 `888' o. )88b \n"
|
||||||
|
"<c>8888888888 o888o `Y8bod88P\" `Y888\"\"8o .8' 8\"\"888P' \n"
|
||||||
|
"<c> .o..P' \n"
|
||||||
|
"<c> `Y8P' \n";
|
||||||
|
|
||||||
|
const char* youWin =
|
||||||
|
"\n<c>.___________. __ __ _______ _______ .__ __. _______ \n"
|
||||||
|
"<c>| || | | | | ____| | ____|| \\ | | | \\ \n"
|
||||||
|
"<c>`---| |----`| |__| | | |__ | |__ | \\| | | .--. |\n"
|
||||||
|
"<c> | | | __ | | __| | __| | . ` | | | | |\n"
|
||||||
|
"<c> | | | | | | | |____ | |____ | |\\ | | '--' |\n"
|
||||||
|
"<c> |__| |__| |__| |_______| |_______||__| \\__| |_______/ \n\n\n";
|
||||||
|
|
||||||
|
const char* gameOverLogo =
|
||||||
|
"<c> __ _ __ _ _ __ ___ ___ _____ _____ _ __ \n"
|
||||||
|
"<c> / _` |/ _` | '_ ` _ \\ / _ \\ / _ \\ \\ / / _ \\ '__|\n"
|
||||||
|
"<c>| (_| | (_| | | | | | | __/ | (_) \\ V / __/ | \n"
|
||||||
|
"<c> \\__, |\\__,_|_| |_| |_|\\___| \\___/ \\_/ \\___|_| \n"
|
||||||
|
"<c> |___/ \n\n";
|
||||||
|
|
||||||
|
const char* playerStats[9] = {
|
||||||
|
"<c><3E><><EFBFBD><EFBFBD> <20>뫠 <20><> <20>ன<EFBFBD><E0AEA9><EFBFBD><EFBFBD> <20><><EFBFBD> <20><>릪<EFBFBD><EBA6AA> <20><> <20>६<EFBFBD><E0A5AC><EFBFBD> <20><> %d ",
|
||||||
|
"<c><3E><><EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><E0AEA2> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD>宦<EFBFBD><E5AEA6><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>: %d\n",
|
||||||
|
"<c><3E><><EFBFBD><EFBFBD><EFBFBD>⠭<EFBFBD> ᮮ<>饭<EFBFBD><E9A5AD>: %d\n",
|
||||||
|
"<c><3E><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠧ<><E0A0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: %d ",
|
||||||
|
"<c><3E><> <20><><EFBFBD><EFBFBD><EFBFBD>: %d ",
|
||||||
|
"<c><3E><><EFBFBD><EFBFBD><EFBFBD> <20><>ࠡ<EFBFBD>⠭<EFBFBD>: $%d\n",
|
||||||
|
"<c><3E><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD>: $%d\n",
|
||||||
|
"<c><3E><> <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>⢮<EFBFBD><E2A2AE>⥫쭮<E2A5AB><ECADAE><EFBFBD>: $%d\n",
|
||||||
|
"<c><3E><><EFBFBD><EFBFBD><EFBFBD>襭<EFBFBD> <20><>릪<EFBFBD><EBA6AA> <20><> <20>६<EFBFBD><E0A5AC><EFBFBD>: %d\n"};
|
||||||
|
|
||||||
|
/*const char* gameIntro = "\n <20><>ࠠ! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ᯥ譮 <20><><EFBFBD><EFBFBD>祭 <20> 㦥 <20><><EFBFBD> <20><><EFBFBD>쪮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>뫨<EFBFBD><EBABA8><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> <20><><EFBFBD> <20><>᪠<EFBFBD>뢠<EFBFBD><EBA2A0><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><E0AEAC><EFBFBD> ࠤ<><E0A0A4><EFBFBD><EFBFBD>... <20><> <20>⮨<EFBFBD><E2AEA8> <20><><EFBFBD> <20><> ⠪ <20><>୮ <20>⬥<EFBFBD><E2ACA5><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>砭<EFBFBD><E7A0AD> 㭨<><E3ADA8><EFBFBD><EFBFBD>. <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> '<27><><EFBFBD><EFBFBD>᪭<EFBFBD><E1AAAD> <20><><EFBFBD><EFBFBD><EFBFBD>', <20><><EFBFBD>騩<EFBFBD><E9A8A9> 㦥 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD>稫<EFBFBD><E7A8AB>.\n <20><><EFBFBD> ⠬ <20> <20><><EFBFBD> <20> 宫<><E5AEAB><EFBFBD><EFBFBD>쭨<EFBFBD><ECADA8>? <20><><EFBFBD><EFBFBD><EFBFBD>. <20><>. <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.\n\n\
|
||||||
|
<<3C><><EFBFBD><EFBFBD><EFBFBD>騬<EFBFBD><E9A8AC><EFBFBD> <20><><EFBFBD><EFBFBD>栬<EFBFBD> <20><><EFBFBD><EFBFBD>ࠥ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>>\n-<2D><><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD>, <20> ⥡<> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>?\n-<2D><> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><>㦥<EFBFBD><E3A6A5> <20><> <20><><EFBFBD>ᯠ<EFBFBD><E1AFA0><EFBFBD>!\n-<2D><> <20><><EFBFBD><EFBFBD> <20><>-<2D><>, <20> ᠬ<><E1A0AC> <20>१<EFBFBD><E0A5A7><EFBFBD> <20><><EFBFBD>.\n-<2D><> <20><>, <20><><EFBFBD><EFBFBD>筮, <20><><EFBFBD>᪠<EFBFBD>뢠<EFBFBD> <20><><EFBFBD>! <20><>⮣<EFBFBD><E2AEA3>䨨 <20><><EFBFBD><EFBFBD><EFBFBD> ᪨<><E1AAA8>, <20><><EFBFBD> <20> ࠡ<><E0A0A1><EFBFBD> <20>ਤ<EFBFBD>.\n-<2D><><EFBFBD>㤠?\n-<2D><>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>७쪮 <20><><EFBFBD>ந<EFBFBD>. <20>ணࠬ<E0AEA3><E0A0AC><EFBFBD>⮬.\n-<2D><><EFBFBD><EFBFBD><EFBFBD>, <20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ⮦<> <20><><EFBFBD>ந<EFBFBD><E0AEA8>?\n-<2D><>... <20><><EFBFBD><EFBFBD> <20><>, <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.\n-<2D><> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD>-<2D><> <20><><EFBFBD>ந<EFBFBD><E0AEA8><EFBFBD>!\n-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><>祬 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><E0AEA1> <20><><EFBFBD>ந<EFBFBD><E0AEA8><EFBFBD><EFBFBD> <20>㤠-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.\n-<2D><> <20> <20><> <20><>祣<EFBFBD> <20><> 㬥<>!\n-<2D><><EFBFBD><EFBFBD><EFBFBD>, ᬥ譮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>᪭<EFBFBD><E1AAAD><EFBFBD> <20><><EFBFBD><EFBFBD>... <20><>, <20><><EFBFBD><EFBFBD> <20> <20> ᠬ <20><>祣<EFBFBD> <20><> 㬥<>. <20>ਤ<EFBFBD><E0A8A4><EFBFBD><EFBFBD> ᠬ<><E1A0AC><EFBFBD> <20><EFBFBD><E0AEA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 'C++ <20><> 21 <20><><EFBFBD><EFBFBD>', 'Java <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' <20> <20>.<2E>., <20><><EFBFBD><EFBFBD><E0AEA1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD>७쪮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD>ࠢ<EFBFBD><E0A0A2><EFBFBD> १ <20>㤠-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD>쪮 <20><> <20> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.\n-<2D><>祬<EFBFBD>?.\n-<2D><> <20>-<2D><> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><> ࠧ<><E0A0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><>祬 <20><> <20><><EFBFBD>, <20> <20><> <20><> ᠬ<><E1A0AC> <20><><EFBFBD><EFBFBD> <20><>祣<EFBFBD> <20><> 㬥<><E3ACA5><EFBFBD>?\n-<2D><><EFBFBD>?! <20><> <20> ᬮ<><E1ACAE><EFBFBD>, <20><> ⠪<><E2A0AA> 㬭<><E3ACAD> <20>ࠧ<EFBFBD> <20>⠫, <20><><EFBFBD> ࠡ<><E0A0A1><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>. <20><> <20>뫮 <20><> <20>廊, <20><> ᥩ<><E1A5A9><EFBFBD> <20><> <20><><EFBFBD>୨<EFBFBD><E0ADA8><EFBFBD> <20><><EFBFBD>!\n-<2D><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><>, <20><> ⥡<> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!\n\n\
|
||||||
|
<20><><EFBFBD><EFBFBD>! <20><><EFBFBD>죨 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> 㬥<> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>த<EFBFBD><E0AEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20> <20>⮬<EFBFBD> <20><>堫<EFBFBD> <20> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, 祬<> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 21 <20><><EFBFBD><EFBFBD>! <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠡ<>⠥<EFBFBD> <20><> <><E1A2AE><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>᭮, <20><><EFBFBD><EFBFBD>誨<EFBFBD> <20><><EFBFBD><EFBFBD>⮢<EFBFBD><E2AEA2> <><E1A2AE>稢<EFBFBD>⥫<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>࠭<EFBFBD>⢠ <20> <20>६<EFBFBD><E0A5AC><EFBFBD> <20><><EFBFBD> ࠡ<>⠥<EFBFBD>? <20><> <20><><EFBFBD> <20>ਣ<EFBFBD><E0A8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD>, <20> 㦥 <20>।<EFBFBD>⠢<EFBFBD><E2A0A2><EFBFBD> <20><><EFBFBD><EFBFBD> <20>⮣<EFBFBD> <20>ਤ<EFBFBD>ઠ, <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> 㢨<><E3A2A8><EFBFBD>! <20><> <20><> <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> ⠪<><E2A0AA> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!\n\n";*/
|
||||||
|
/*const char* gameIntroPlan = " <20><><EFBFBD><EFBFBD><E0AEA1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ᥬ<EFBFBD>, 祬<> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>⨣<EFBFBD><E2A8A3><EFBFBD><EFBFBD> <20>ᥣ<EFBFBD>, <20> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> ⮫쪮 <20><><EFBFBD>㬠<EFBFBD><E3ACA0>, <20> <20><><EFBFBD>, <20> <20><><EFBFBD>... <20><>ࠡ<EFBFBD><E0A0A1><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>! <20><>, <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> 㦥 誮<E1ABA8>. <20><><EFBFBD><EFBFBD><EFBFBD> <20>㤥<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20> <20><>⮬ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD>ன <20> <20><>ᬮ<EFBFBD>ਬ, <20><><EFBFBD> 祣<> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.\n\n <20>⠪, 楫<> <20><><EFBFBD>⠢<EFBFBD><E2A0A2><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>६<EFBFBD><E0A5AC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>!\n <20><><EFBFBD> <20><> ⠬ <20><>ᠫ? C++ <20><> 21 <20><><EFBFBD><EFBFBD>? <20><><EFBFBD>-<2D><> <20> 誠<><E8AAA0> <20><><EFBFBD><EFBFBD> ⠪<><E2A0AA> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD>᪠<EFBFBD><E1AAA0>. <20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>-<2D><> <20><>稭<EFBFBD><E7A8AD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>... <20><> 21 <20><><EFBFBD><EFBFBD> <20><> <20><>筮 <20><> <20>ன<EFBFBD><E0AEA9>. \n<>ਤ<EFBFBD><E0A8A4><EFBFBD><EFBFBD> <20><><EFBFBD>भ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><>१ <20><><EFBFBD><EFBFBD>-<2D>ன<EFBFBD><E0AEA9> <20><><EFBFBD> <20> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>. <20> <20><>⮬ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>誨<EFBFBD> <20><><EFBFBD><EFBFBD>⮢<EFBFBD><E2AEA2> <><E1A2AE>稢<EFBFBD>⥫<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>࠭<EFBFBD>⢠ <20> <20>६<EFBFBD><E0A5AC><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD>諮<EFBFBD>, <20><> 21-<2D><> <20><><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20>㬠<EFBFBD><E3ACA0>, <20><><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ᥣ<EFBFBD> <20><> 3 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⠪ <20> <20> ᤥ<><E1A4A5><EFBFBD>!";*/
|
||||||
|
const char* gameIntroPlan = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:\n\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> 9 <20><><EFBFBD>⨦<EFBFBD><E2A8A6><EFBFBD><EFBFBD>\n<EFBFBD>ன<EFBFBD><EFBFBD> 12 <20><><EFBFBD>ᮢ <20><><EFBFBD>祭<EFBFBD><E7A5AD>\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 5 <20><><EFBFBD>殢<EFBFBD><E6AEA2>:\n 3 <20><> <20><><EFBFBD> <20><>易<EFBFBD><EFA7A0> <20> <20>롮 <><E1A2AE><EFBFBD> <20><><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮, ࠡ<><E0A0A1><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <> <20><><EFBFBD><EFBFBD>⠯)\n 2 <20><> <20><><EFBFBD> <20><>易<EFBFBD><EFA7A0> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>襣<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>⢥ (<28><>ଠ / <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮ <20><><EFBFBD><EFBFBD><EFBFBD>)\n\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0AEA2> <20><><EFBFBD><EFBFBD><EFBFBD>࠭<EFBFBD>⢮ - <20>६<EFBFBD>. <20><> <20>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD> <20> <20><>㣨<EFBFBD><E3A3A8> <20><>ࠬ<EFBFBD>, <20><><EFBFBD> <20><> <20><><EFBFBD><E1ABA5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0AEA2> <20><><EFBFBD><EFBFBD><EFBFBD>࠭<EFBFBD>⢮, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>室<EFBFBD><E5AEA4><EFBFBD> <20><><EFBFBD><E1ABA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>६<EFBFBD>.\n\n<EFBFBD><EFBFBD><EFBFBD>ࠢ <20><><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD>諮<EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>㣮<EFBFBD>: <20>⮬ <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>⮢<EFBFBD><E2AEA2> <><E1A2AE>稢<EFBFBD>⥫<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>࠭<EFBFBD>⢠ <20> <20>६<EFBFBD><E0A5AC><EFBFBD>.\n\n<EFBFBD><EFBFBD> <20>믮<EFBFBD><EBAFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>୨<EFBFBD><E0ADA8><EFBFBD><EFBFBD> <20> <20><>砫쭮<E7A0AB> <20><>窥: <20> 21 <20><><EFBFBD>. <20><><EFBFBD>㬠<EFBFBD><E3ACA0><EFBFBD> <20><><EFBFBD><EFBFBD>襭쪮, <20><>ன <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> ⠪ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD><EFBFBD> <20><> 墠<><E5A2A0><EFBFBD><EFBFBD> <20>।<EFBFBD><E0A5A4><EFBFBD>.\n\n<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⠥<EFBFBD><E2A0A5><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><E7A5AD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><> 㢨<><E3A2A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 'The End'(<28><> <20>먣ࠫ<EBA8A3>) <20><><EFBFBD><EFBFBD> 'game over'(<28>ந<EFBFBD>ࠫ<EFBFBD>, <20><> <20>믮<EFBFBD><EBAFAE><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>).";
|
||||||
|
|
||||||
|
const char* yourAnswer = "\n\n<EFBFBD><EFBFBD><EFBFBD> <20>⢥<EFBFBD>:\n\t1:%s\n\t2:%s\n";
|
||||||
|
const char* shitCodeYourAnswer = "\n\n<EFBFBD><EFBFBD><EFBFBD> <20>⢥<EFBFBD>:\n\t1:<3A><>, <20><><EFBFBD><EFBFBD>筮.\n\t2:<3A><>, <20> ⠪<><E2A0AA><EFBFBD> <20><> 㬥<>.\n";
|
||||||
|
const char* statusLine = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>: %d, $: %d, <20><>ଠ: %d, ᮮ<>饭<EFBFBD><E9A5AD>: %d";
|
||||||
|
const char* statusLineCoursesNotFinished = ", <20><><EFBFBD>ன<EFBFBD><E0AEA9><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ᮢ: %d";
|
||||||
|
const char* unnamedStudio1Answer = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>ன ࠧ <20>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>㤥<EFBFBD>.\n\n<EFBFBD><EFBFBD><EFBFBD> <20>⢥<EFBFBD>:\n\t1:<3A><>, ॡ<><E0A5A1>, <20> ᮣ<><E1AEA3>ᥭ!\n\t2:<3A><>..<2E> <20><> ⠪<><E2A0AA> ᬥ<><E1ACA5><EFBFBD>, <20>⮡<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0> <20><><EFBFBD><E1ABA5><EFBFBD><EFBFBD> <20><><EFBFBD>죨.\n";
|
||||||
|
const char* unnamedStudio3Answer = "\n\n<EFBFBD><EFBFBD><EFBFBD> <20>⢥<EFBFBD>:\n\t1:<3A><>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>뢠<EFBFBD>!\n\t2:<3A><><EFBFBD>, <20><> <>쪮 <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>죨?\n";
|
||||||
|
const char* unnamedStudio4Answer = "\n\n<EFBFBD><EFBFBD><EFBFBD> <20>⢥<EFBFBD>:\n\t1:<3A><>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.\n\t2:<3A><><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> ᠬ <20><><EFBFBD><EFBFBD>७쪮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> ᤥ<><E1A4A5><EFBFBD> <20><><EFBFBD> ᠩ<>, <20>?\n\t3:<3A><><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>죨? <20><> <20><>諨 <20><>!\n";
|
||||||
|
const char* angryBossAnswer = "\n\n<EFBFBD><EFBFBD><EFBFBD> <20>⢥<EFBFBD>:\n\t1:<3A><>, <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20>ਫ<EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.\n\t2:<3A><><EFBFBD>, <20><><EFBFBD> <20><> <20><><EFBFBD> <20><> <20><> <20><><EFBFBD>. <20> <><E1ABA5><EFBFBD> <20><> <20><>宬 <><E1A2AE><EFBFBD><EFBFBD>.\n";
|
||||||
|
|
||||||
|
/*************************************************************************
|
||||||
|
* Modal windows' text
|
||||||
|
*************************************************************************/
|
||||||
|
|
||||||
|
const char* answerLetter = "<EFBFBD>⢥⭮<EFBFBD> <20><><EFBFBD>쬮";
|
||||||
|
const char* cantStopDuringKnowledgeCheck= "<EFBFBD><EFBFBD><EFBFBD>, <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>६<EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><>।<EFBFBD><E0A5A4><EFBFBD> <20><EFBFBD>ન <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD>室<EFBFBD><E5AEA4><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!";
|
||||||
|
const char* charityTitle = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮<EFBFBD><EFBFBD>⥫쭮<EFBFBD><EFBFBD><EFBFBD>";
|
||||||
|
const char* charityQuestion = "<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>⢨⥫쭮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>⢮<EFBFBD><E2A2AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>⢮<EFBFBD><E2A2AE>⥫쭮<E2A5AB><ECADAE><EFBFBD>?";
|
||||||
|
const char* congratsMsg = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ࠢ<EFBFBD>塞!";
|
||||||
|
const char* courseSuccessfullyFinished = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD> '%s' <20>ᯥ譮 <20><><EFBFBD><EFBFBD><EFBFBD>襭! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>믮<EFBFBD><EBAFAE><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD>࠭<EFBFBD><E0A0AD><EFBFBD><EFBFBD> <20><><EFBFBD>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD>.";
|
||||||
|
const char* daysPerSecond = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> ᥪ㭤<E1A5AA>: %d";
|
||||||
|
const char* doYouReallyWantToExit = "<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>⢨⥫쭮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>?";
|
||||||
|
const char* errorMsg = "<EFBFBD>訡<EFBFBD><EFBFBD>!";
|
||||||
|
const char* failMsg = "<EFBFBD><EFBFBD>㤠<EFBFBD><EFBFBD>!";
|
||||||
|
const char* need100ForUndo = "<EFBFBD><EFBFBD>릪<EFBFBD> <20><> <20>६<EFBFBD><E0A5AC><EFBFBD> <20><>ண<EFBFBD>. <20><><EFBFBD> <20><><EFBFBD><EFBFBD>室<EFBFBD><E5AEA4><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> $100!";
|
||||||
|
const char* notEnoughMoneyForCharity = "<EFBFBD><EFBFBD><EFBFBD> <20><>祣<EFBFBD> <20><><EFBFBD>⢮<EFBFBD><E2A2AE><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>⢮<EFBFBD><E2A2AE>⥫쭮<E2A5AB><ECADAE><EFBFBD>!";
|
||||||
|
const char* noUnreadMessages = "<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠭<EFBFBD><E2A0AD><EFBFBD> ᮮ<>饭<EFBFBD><E9A5AD>!";
|
||||||
|
const char* prepareForTimeJump = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>㤥<EFBFBD> <20>ந<EFBFBD><E0AEA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>릮<EFBFBD> <20> <20><><EFBFBD>諮<EFBFBD>, <20>ਣ<EFBFBD>⮢<EFBFBD><E2AEA2><EFBFBD><EFBFBD><EFBFBD>!";
|
||||||
|
const char* pressRForCharity = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>筮 <20>।<EFBFBD><E0A5A4><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>죨 <20><> <20><><EFBFBD><EFBFBD><EFBFBD>⢮<EFBFBD><E2A2AE>⥫쭮<E2A5AB><ECADAE><EFBFBD>!";
|
||||||
|
const char* returnToDay21 = "<EFBFBD><EFBFBD> <20><><EFBFBD>稫<EFBFBD><E7A8AB><EFBFBD> <20>ᥬ<EFBFBD>, <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ᥣ<EFBFBD>, <20><><EFBFBD> <20><>⥫<EFBFBD>. <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD>諮<EFBFBD> <20> 21-<2D><> <20><><EFBFBD>, <20>⮡<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⠢<EFBFBD><E2A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 楫<>. <20><><EFBFBD>㬠<EFBFBD><E3ACA0><EFBFBD> <20><><EFBFBD><EFBFBD>襭쪮, <20><>ன <20><><EFBFBD> ᤥ<><E1A4A5><EFBFBD><EFBFBD> <20><> ⠪ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.";
|
||||||
|
const char* rightAnswer = "<EFBFBD>ࠢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>⢥<EFBFBD>!";
|
||||||
|
const char* startupFailedTip = "<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>⠯ :(. <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD>諮<EFBFBD> <20> <20><><EFBFBD> <20><><EFBFBD>ࠢ<EFBFBD><E0A0A2><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>祣<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>᭮<EFBFBD><E1ADAE> 㦥 <20><> <20>㤥<EFBFBD>, <20><><EFBFBD> <20>㯨<EFBFBD>.";
|
||||||
|
const char* successfullyEnrolled = "<EFBFBD><EFBFBD> <20>ᯥ譮 <20><><EFBFBD><EFBFBD>ᠭ<EFBFBD> <20><> <20><><EFBFBD><EFBFBD> '%s'!";
|
||||||
|
const char* wrongAnswer = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>⢥<EFBFBD> :(";
|
||||||
|
|
||||||
|
/*************************************************************************
|
||||||
|
* Achievements
|
||||||
|
*************************************************************************/
|
||||||
|
|
||||||
|
const unsigned int achievesNumber = 9;
|
||||||
|
char* achieves[achievesNumber] = {
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC><EFBFBD><E0AEA2><EFBFBD><EFBFBD>: <20>믮<EFBFBD><EBAFAE><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20>㯥<EFBFBD>-<><E1ABAE><EFBFBD><EFBFBD> <20><EFBFBD><E0AEA5><EFBFBD>.",
|
||||||
|
"<EFBFBD>⢥থ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD> <20><>ଠ <20><><EFBFBD><EFBFBD>⨫<EFBFBD><E2A8AB><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>!",
|
||||||
|
"<EFBFBD>ᯥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>⠯<EFBFBD><E2A0AF>: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ਡ<EFBFBD><E0A8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>⠯.",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> $1000 000.",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᥤ<EFBFBD>: <><E1ABA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><>宬 <><E1A2AE><EFBFBD><EFBFBD>.",
|
||||||
|
"<EFBFBD><EFBFBD> ⢮<> <20><><EFBFBD><EFBFBD>: <20><EFBFBD><E0AEAC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>⨦<EFBFBD><E2A8A6><EFBFBD> ࠡ<><E0A0A1><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>⠯ <20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>騩 <> <20><><EFBFBD><EFBFBD>: <20>ᯥ譮 <20>ன<EFBFBD><E0AEA9> <20><EFBFBD><E0AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD>⮩稢<EFBFBD><EFBFBD> <20> <20><><EFBFBD><E0AFA5><EFBFBD><EFBFBD><EFBFBD>: <20><><EFBFBD>筮<EFBFBD> ࠡ<><E0A0A1><EFBFBD> <20><> <20><>ࠥ<EFBFBD><E0A0A5><EFBFBD>.",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢥<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>६<EFBFBD><E0A5AC><EFBFBD>: ᮢ<><E1AEA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>릪<EFBFBD>, <20><> <20><>ᯠ<EFBFBD><E1AFA0><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>."
|
||||||
|
};
|
||||||
|
|
||||||
|
bool achievesPicked[achievesNumber] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
|
||||||
|
bool achievesShowed[achievesNumber] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
|
||||||
|
|
||||||
|
/*************************************************************************
|
||||||
|
* Final cards
|
||||||
|
*************************************************************************/
|
||||||
|
|
||||||
|
const char* defaultFinalCard = "<EFBFBD> <20><>饬, <20><><EFBFBD> <20><><EFBFBD>. <20><>, <20><><EFBFBD><EFBFBD>筮, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>த<EFBFBD><E0AEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ᮡ<EFBFBD><E1AEA1> \
|
||||||
|
ᮡ<EFBFBD>⨩ <20><> <20>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20>㤥<EFBFBD><E3A4A5> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ॣ<EFBFBD>ॢ訥 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><>! \
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> ⠪<><E2A0AA> <20><>ࠧ <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>-<2D><> <20><><EFBFBD><EFBFBD> <20>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>⢥<EFBFBD><E2A2A5>⢥<EFBFBD><E2A2A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> ࠡ<><E0A0A1><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>쭠<EFBFBD>. <20><> <20><><EFBFBD> 墠⠥<E5A2A0>, \
|
||||||
|
<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> ⮦<>. <20><>祬 <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>⠯<EFBFBD> <20> ࠡ<><E0A0A1><EFBFBD> <20> <20><>㯭<EFBFBD><E3AFAD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>? <20><><EFBFBD>, <20><> ᤥ<><E1A4A5><EFBFBD> <> <20>롮<EFBFBD>. <20><><EFBFBD> <20><><EFBFBD> <20>㦭<EFBFBD>? \
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20>ࠢ<EFBFBD><E0A0A2>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>室<EFBFBD><E5AEA4><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>⠢<EFBFBD><E2A0A2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20>⮡<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> <20><> ⠪ <20> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> \
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>! <20><><EFBFBD>쪮 <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?\n";
|
||||||
|
|
||||||
|
const char* workFinalCard = "<EFBFBD> ᬮ<><E1ACAE><EFBFBD>, <20><> <20><><EFBFBD><E0AFA5><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, ࠡ<>⠥<EFBFBD><E2A0A5>. <20><><EFBFBD><EFBFBD> <20><>, <20><><EFBFBD> <20><><EFBFBD>砥<EFBFBD><E7A0A5>. <20> <20><> <20><><EFBFBD> ࠢ<><E0A0A2> \
|
||||||
|
ࠡ<EFBFBD>⠥<EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD>죨 <20><> <20>㦭<EFBFBD>? <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, 㢮<><E3A2AE><EFBFBD>? <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>! <20><>, <20><><EFBFBD> <20><> ⠪<><E2A0AA> - \
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD> <20><>墠<EFBFBD>쭮. <20><><EFBFBD> ⠪<><E2A0AA> <20> <20><><EFBFBD>뢠<EFBFBD><EBA2A0><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - ᨤ<><E1A8A4> ᥡ<> <20><><EFBFBD><EFBFBD><EFBFBD>, ࠡ<><E0A0A1><EFBFBD><EFBFBD><EFBFBD>, ࠡ<><E0A0A1><EFBFBD><EFBFBD><EFBFBD>, <20> <20><>⮬ <20><><EFBFBD> <20><>१ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> -\
|
||||||
|
<EFBFBD> <20>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ࠫ<EFBFBD><E0A0AB>묨 <20><>४<EFBFBD><E0A5AA>ࠬ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> <20><><EFBFBD><EFBFBD>ன ࠡ<><E0A0A1><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD> ⠪<><E2A0AA> <20> ⥡<> <20><><EFBFBD>ᯥ<EFBFBD>⨢<EFBFBD>, <20><>㦨<EFBFBD><E3A6A8>. <20><><EFBFBD><EFBFBD>-<2D><> \
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD> <20>⠡<EFBFBD><E2A0A1>쭮<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, 祬 <> <20><><EFBFBD><EFBFBD>⠯, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ࠥ<EFBFBD> <20><><EFBFBD><EFBFBD> ᨫ <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. \
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <> <20><><EFBFBD><EFBFBD>⠯? <20><>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> <20>뫮 ࠭<><E0A0AD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>㣮<EFBFBD> <20>롮<EFBFBD>!\n";
|
||||||
|
|
||||||
|
const char* startupFinalCard = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20>뫮 <20><><EFBFBD><EFBFBD><EFBFBD>! <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <><E1AAAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>... <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><> ᠬ<><E1A0AC> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. \
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>, <20><><EFBFBD> <20><> <20>६<EFBFBD>, <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>⨫ <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>⠯, <20><><EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD> <20><> <20><><EFBFBD>. <20><> <20> <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD>쬨! \
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ᪠稢<E1AAA0><E7A8A2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>? <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20><>, <20><><EFBFBD> ⢮<> <20>த<EFBFBD><E0AEA4><EFBFBD> <20>㦥<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>. <20><>, <20><><EFBFBD> ⥡<> 業<><E6A5AD>. \
|
||||||
|
<EFBFBD><EFBFBD>⮬<EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD>⠯, <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ன <20><><EFBFBD><EFBFBD><EFBFBD> <20> ⮫<><E2AEAB> <20>ணࠬ<E0AEA3><E0A0AC><EFBFBD>⮢ <20> <20><><EFBFBD><EFBFBD><EFBFBD>-<2D><> <20><>㯭<EFBFBD><E3AFAD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> \
|
||||||
|
⢮<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᠬ<>ॠ<EFBFBD><E0A5A0><EFBFBD><EFBFBD>樨 <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> - <20><><EFBFBD> <20><><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>! <20><><EFBFBD><EFBFBD>筮, <20><><EFBFBD><EFBFBD><EFBFBD>⭨<EFBFBD><E2ADA8> \
|
||||||
|
᪠<EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> ⥡<> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><>-<2D><> <20><><EFBFBD><EFBFBD><EFBFBD>, <>쪮 <20><>㤠 <20>뫮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>! <20><> <20>४<EFBFBD><E0A5AA>᭮ <20><><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> \
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD>ࠫ <20><> <20><><EFBFBD>-<2D><> <20><>㣮<EFBFBD>. <20><> <20><> ᤥ<><E1A4A5><EFBFBD> <20>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>롮<EFBFBD>. <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD>ࠢ<EFBFBD><E0A0A2>쭮<EFBFBD><ECADAE> <20>롮<EFBFBD><EBA1AE>. <20><><EFBFBD><EFBFBD> <20>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>㣮<EFBFBD>.";
|
||||||
|
|
||||||
|
const char* zeroKarmaFinalCard = "<EFBFBD><EFBFBD> <20><><EFBFBD>⮫쪮 <20>ᯮ<EFBFBD>⨫<EFBFBD> <20>⭮襭<E2ADAE><E8A5AD> <20> <20><><EFBFBD>쬨, <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>. <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> :(.\n\n<EFBFBD><EFBFBD> ᠬ<><E1A0AC> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> :D. <20><><EFBFBD><EFBFBD><EFBFBD>ࠩ<EFBFBD><E0A0A9><EFBFBD><EFBFBD> <20><><EFBFBD>묨 ᯮᮡ<E1AFAE><E1AEA1><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>죨, <20>ந<EFBFBD>ࠥ<EFBFBD><E0A0A5>.\n";
|
||||||
|
|
||||||
|
const char* noMoneyFinalCard = "<EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20>⮡<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <><E1ABA5><EFBFBD>饣<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> ࠡ<><E0A0A1><EFBFBD>. <20><><EFBFBD> <20><>ਠ<EFBFBD><E0A8A0> - <20><>筨<EFBFBD><E7ADA8> <20>த<EFBFBD><E0AEA4><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD> <20> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.\n\n<EFBFBD><EFBFBD> ᠬ<><E1A0AC> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD>ࠩ<EFBFBD><E0A0A9><EFBFBD><EFBFBD> <20><><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ࠡ<EFBFBD><E0A0A1><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><>ଠ <20>㤥<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><> <20>ந<EFBFBD>ࠥ<EFBFBD><E0A0A5>!\n";
|
||||||
|
|
||||||
|
const char* gameOver = "<EFBFBD><EFBFBD> <20><><EFBFBD>⨣<EFBFBD><E2A8A3> <20><><EFBFBD>⠢<EFBFBD><E2A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 楫<> <20> <20>ᯥ譮 <20><><EFBFBD><EFBFBD><EFBFBD>訫<EFBFBD> <20><><EFBFBD><EFBFBD>! <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD> <20>ன<EFBFBD><E0AEA9><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD>殢<EFBFBD><E6AEA2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> <>쪮 <20><><EFBFBD>⨦<EFBFBD><E2A8A6><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> <20>६<EFBFBD>! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⠪<><E2A0AA><EFBFBD> <20>ᥣ<EFBFBD> <20><> 21 <20><><EFBFBD><EFBFBD>! <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>ਮ<EFBFBD>५<EFBFBD>, <20><><EFBFBD>業<EFBFBD><E6A5AD>, <20> <20>롮<EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - <20>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>ࠢ<EFBFBD><E0A0A2>쭮<EFBFBD><ECADAE> <20>롮<EFBFBD><EBA1AE>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>㣮<EFBFBD>. <20> <20><>, <20><><EFBFBD> <20>㤥<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD>. <20> <20><> <20><> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>-<2D><> <20><>設<EFBFBD> <20>६<EFBFBD><E0A5AC><EFBFBD>, <20><>୮?";
|
||||||
|
|
||||||
|
/*************************************************************************
|
||||||
|
* Hints
|
||||||
|
*************************************************************************/
|
||||||
|
|
||||||
|
const char* hintOfTheMonth = "<EFBFBD><EFBFBD><EFBFBD>᪠<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:\n";
|
||||||
|
const int hintsCount = 12;
|
||||||
|
const char* hints[hintsCount] = {
|
||||||
|
"'<27><><EFBFBD><EFBFBD><EFBFBD>ﭭ<EFBFBD><EFADAD> <20><><EFBFBD><EFBFBD>筨<EFBFBD> <20><>室<EFBFBD><E5AEA4>' - <20><><EFBFBD> <20><> ⮫쪮 <20><><EFBFBD>樠<EFBFBD>쭠<EFBFBD> ࠡ<><E0A0A1><EFBFBD> <20><><EFBFBD> ᮡ<>⢥<EFBFBD><E2A2A5><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> ⠪<><E2A0AA> <20> <20>믮<EFBFBD><EBAFAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> <20><> <20><>४<EFBFBD><E0A5AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᥡ<> <20><><EFBFBD> ᯥ樠<E1AFA5><E6A8A0><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ९<><E0A5AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.",
|
||||||
|
"<EFBFBD> <20>⪠<EFBFBD>뢠<EFBFBD><EBA2A0> <20>ᥬ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><>稭<EFBFBD><E7A8AD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><EFBFBD><E1AAAE> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>⠭<EFBFBD><E2A0AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᮢᥬ.",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⭮, <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ਫ: <20>⮡<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20>㦭<EFBFBD> <20>᭮<EFBFBD><E1ADAE><EFBFBD><EFBFBD> <20><><EFBFBD>쪮 <20><><EFBFBD><EFBFBD>⠯<EFBFBD><E2A0AF>. <20><><EFBFBD> ⮫쪮 <20><><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD>쪮 ࠧ.",
|
||||||
|
"<EFBFBD><EFBFBD>㣮<EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⫨<EFBFBD>. <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> ࠡ<>⠫, <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⨫ <20><><EFBFBD>죨, <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>稫<EFBFBD><E7A8AB><EFBFBD>. <20><><EFBFBD> <20><> <20> <20><><EFBFBD><EFBFBD><EFBFBD>稫.",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>㣠<EFBFBD><E3A3A0>? <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> 㦥 <20>뫨 <20> <20><>㣨<EFBFBD> <20><>⥩ <20><><EFBFBD>? <20><>㬠<EFBFBD><E3ACA0><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>⠩<EFBFBD><E2A0A9><EFBFBD><EFBFBD> - <20>ᥣ<EFBFBD><E1A5A3> <20><><EFBFBD><EFBFBD><EFBFBD> ᤥ<><E1A4A5><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>⨦<EFBFBD><E2A8A6><EFBFBD><EFBFBD>.",
|
||||||
|
"<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>筠 <20> <20> <20><><EFBFBD> <20><>祣<EFBFBD> <20><> <20>ந<EFBFBD>室<EFBFBD><E5AEA4>, <20><><EFBFBD><EFBFBD><E0AEA1><EFBFBD><EFBFBD> <><E1AAAE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⥩.",
|
||||||
|
"<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <> '<27><><EFBFBD><EFBFBD><EFBFBD>'...<2E><>.., <20><> 㦥 <20><>祣<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD>. <20><>, <20> <20><> <20> <20><><EFBFBD> <20>뫠 <20><>設<EFBFBD> <20>६<EFBFBD><E0A5AC><EFBFBD>!",
|
||||||
|
"<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, 祬<> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>? <20>ᯮ<EFBFBD><E1AFAE><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⠪<><E2A0AA> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> <20><> <20>⪠<EFBFBD><E2AAA0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮<EFBFBD><EFBFBD>⥫쭮<EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD>訩 ᯮᮡ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>, <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><>ࠡ<EFBFBD><E0A0A1><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ਥ.",
|
||||||
|
"<EFBFBD><EFBFBD><EFBFBD> <20><>릪<EFBFBD><EBA6AA> <20><> <20>६<EFBFBD><E0A5AC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>࠭<EFBFBD>⢥<EFBFBD><E2A2A5><EFBFBD>-<2D>६<EFBFBD><E0A5AC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⨭<EFBFBD><E2A8AD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>뤥ন<EBA4A5><E0A6A8><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0><EFBFBD><EFBFBD>: <20>⨬ <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>᭨<EFBFBD><E1ADA8> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20>⮩ <20><><EFBFBD><EFBFBD>.",
|
||||||
|
"<EFBFBD><EFBFBD> <20><><EFBFBD>宦<EFBFBD><E5AEA6><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ᮢ <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>⨦<EFBFBD><E2A8A6><EFBFBD><EFBFBD> <20> <20><><EFBFBD>殢<EFBFBD><E6AEA2> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD>諮<EFBFBD> <20> 21-<2D><> <20><><EFBFBD>. <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> ⠪ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>쭮 <20><> 墠<><E5A2A0><EFBFBD><EFBFBD>."
|
||||||
|
};
|
||||||
|
|
||||||
|
const char* getWordEnding(int n, int k) {
|
||||||
|
int ld = n % 10; // Last digit
|
||||||
|
if (ld == 1)
|
||||||
|
return (k == 0)?"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n":"ࠧ\n";
|
||||||
|
else if (ld == 2 || ld == 3 || ld == 4)
|
||||||
|
return (k == 0)?"<EFBFBD><EFBFBD><EFBFBD>\n":"ࠧ<EFBFBD>\n";
|
||||||
|
else
|
||||||
|
return (k == 0)?"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>\n":"ࠧ\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
/*************************************************************************
|
||||||
|
* Intro
|
||||||
|
*************************************************************************/
|
||||||
|
|
||||||
|
const char* developer = "Copyright (C) 2014 Maxim Grishin (igevorse)";
|
||||||
|
const char* introAllowedKeys = "<EFBFBD> ᭨<><E1ADA8> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD>ਬ<EFBFBD><E0A8AC>, [1] <20><><EFBFBD> [Enter]";
|
||||||
|
const char* introDesktop = "<EFBFBD><EFBFBD><EFBFBD> - <20><><EFBFBD> ࠡ<>稩 <20>⮫";
|
||||||
|
const char* introFinished = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>䥩ᮬ <20><><EFBFBD><EFBFBD><EFBFBD>襭<EFBFBD>, <20><>稭<EFBFBD><E7A8AD><EFBFBD> <20><><EFBFBD><EFBFBD>!";
|
||||||
|
const char* introLetsBegin = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!";
|
||||||
|
const char* introStatusLine = "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>⮡ࠦ<E2AEA1><E0A0A6><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ଠ<EFBFBD><E0ACA0><EFBFBD>:\n1.<2E><><EFBFBD><EFBFBD>騩 <20><><EFBFBD><EFBFBD>.\n2.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮ <20><><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20>㦭<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>).\n3.<2E><>ଠ - <20>⭮襭<E2ADAE><E8A5AD> <20><EFBFBD> <20> <20><><EFBFBD>. \n4.<2E><><EFBFBD><EFBFBD>饭<EFBFBD><E9A5AD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⠭<EFBFBD><E2A0AD><EFBFBD> ᮮ<>饭<EFBFBD><E9A5AD>.\n";
|
||||||
|
|
||||||
|
const char* gameIntroTextPart1 = "1. <20><><EFBFBD>砩\n\n\
|
||||||
|
- <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><>ࢨ<E0A2A8><E0AEA2>? <20><> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><>ॢ<EFBFBD><E0A5A2> <20>⮬<EFBFBD> <20>稫<EFBFBD><E7A8AB>? <20><>祬<EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20> ⮩ <20><><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?! <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>? <20>⢥砩!\n- ...\n\
|
||||||
|
- <<3C><>࣠<EFBFBD><E0A3A0> <20><><EFBFBD><EFBFBD> <20><> <20>ࠩ <20>㪠<EFBFBD><E3AAA0>> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>? <20><> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD>, <20> <20>⮩ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>९<EFBFBD>⠫! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>? <20>蠬<EFBFBD> 嫮<><E5ABAE><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20>ਭ<EFBFBD><E0A8AD><EFBFBD><EFBFBD>? <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><>ᬮ<EFBFBD>५<EFBFBD><E0A5AB>, <20><><EFBFBD>?\n\
|
||||||
|
<᭮<><E1ADAE> <20><>࣠<EFBFBD><E0A3A0> <20><> <20>㪠<EFBFBD>> <20><> <20><><EFBFBD><EFBFBD> ᬮ<><E1ACAE><EFBFBD>! <20> <20> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> <20><> <20>ᯮ<EFBFBD>⨫ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>!\n\
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>!\n\n\
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 蠣<><E8A0A3> <20><><EFBFBD>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ᮡ<EFBFBD><E1AEA1>, <20><>ࢠ<EFBFBD><E0A2A0><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, १<><E0A5A7> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> ᮡ<><E1AEA1> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20>ਦ<EFBFBD><E0A8A6><EFBFBD><EFBFBD> ᯨ<><E1AFA8><EFBFBD> <20> <20>⥭<EFBFBD>.\n<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20>த<EFBFBD><E0AEA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.\n\
|
||||||
|
<EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFA2A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>. <20><> <20><>祬<EFBFBD> <20><><EFBFBD> ⠪?\n\
|
||||||
|
<EFBFBD><EFBFBD> <20><>祬<EFBFBD> <20><> <20>ਤࠫ<E0A8A4><E0A0AB> <20> <20>⮩ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, ࠧ<><E0A0A7> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᤥ<><E1A4A5><EFBFBD><EFBFBD> <20><><EFBFBD>, <20><><EFBFBD> <20><> <20><> <20><> <20><><EFBFBD><EFBFBD>⨫? <20><> <20><> <20><> ᠬ <20>ᯮ<EFBFBD>⨫ <20><><EFBFBD><EFBFBD><EFBFBD>! <20><>, <20> <20><><EFBFBD>⠢<EFBFBD><E2A0A2> <20>६-<2D><> <20><> <20><><EFBFBD>, <20> <20><><EFBFBD> <20><><EFBFBD>⭨<EFBFBD><E2ADA8>, <20><>⮬<EFBFBD> <20><><EFBFBD> <20><><EFBFBD>㬠<EFBFBD>, <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0> <20><> ᥡ<>. <20><><EFBFBD>筮 <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0> <20><><EFBFBD><EFBFBD><EFBFBD>! <20><> <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 㪠<><E3AAA0><EFBFBD><EFBFBD> <20><> <20>訡<EFBFBD><E8A8A1>, <20><>祬 <20>ࠧ<EFBFBD> <20><><EFBFBD>ࠨ<EFBFBD><E0A0A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ਪ<EFBFBD>?\n\
|
||||||
|
<EFBFBD>ࠢ<EFBFBD><EFBFBD><EFBFBD> <20>ਫ<EFBFBD><E0A8AB><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD>訥 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>? <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>?\n\
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD> <20><>楬<EFBFBD><E6A5AC><EFBFBD><EFBFBD> <20> <20><EFBFBD><EEA1A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><>㣮<EFBFBD>, <20><> <20><><EFBFBD> ⮫쪮 <20><><EFBFBD>-<2D><> <20><><EFBFBD><EFBFBD> <20><> <20><> <20><>樠<EFBFBD>쭮<EFBFBD><ECADAE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>訡<EFBFBD><E8A8A1><EFBFBD><EFBFBD>, ⠪ <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⮭<><E2AEAD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>樠<EFBFBD><E6A8A0><EFBFBD>!\n\
|
||||||
|
<EFBFBD> ⠪ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>. \n\
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⨩ ࠧ <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ࠨ<EFBFBD><E0A0A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ਪ<EFBFBD> <20><> <20><><EFBFBD>⮬ <20><><EFBFBD><EFBFBD><EFBFBD>! <20>㣠<EFBFBD><E3A3A0><EFBFBD><EFBFBD>, 㭨<><E3ADA8><EFBFBD><EFBFBD>, 㪠<>뢠<EFBFBD><EBA2A0> <20><><EFBFBD> <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><> <20> <20><><EFBFBD> <20><>訫, <20><><EFBFBD> <20><><EFBFBD> - <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>? <20><><EFBFBD>? <20><> <20> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 墠⠥<E5A2A0> ⮫쪮 <20><> <20><>室<EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD> <20><> ⮣<><E2AEA3> <20><><EFBFBD> <20><>蠥<EFBFBD>?!\n<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> ᨫ <20><><EFBFBD><E0AFA5> <20><><EFBFBD> <20><><EFBFBD>!\n\
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD> 㧭<><E3A7AD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⠪<><E2A0AA> <20>㣠<EFBFBD><E3A3A0>... <20>㦭<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0AFA5> <20> <20><><EFBFBD>. <20><> <20> <20><> <20><><EFBFBD><EFBFBD>.\n\n\
|
||||||
|
<EFBFBD>㦭<EFBFBD> <20>室<EFBFBD><E5AEA4><EFBFBD> <20><><EFBFBD>. <20><><EFBFBD>, <20><> <20><>⮬<EFBFBD> <20><><EFBFBD> <20><><EFBFBD> 㢮<><E3A2AE><EFBFBD>, 㧭<><E3A7AD> <20> <20>ந<EFBFBD><E0AEA8>襤襬. <20><><EFBFBD>. <20><>⮬<EFBFBD> <20><><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20>㫠<EFBFBD><E3ABA0><EFBFBD><EFBFBD> <20><> <20><><EFBFBD>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD> <20>ਤ<EFBFBD><E0A8A4><EFBFBD><EFBFBD>饣<EFBFBD><E9A5A3><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>... <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᮩ<><E1AEA9> <20> 㬠, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0AFA5> <20><><EFBFBD> <20><><EFBFBD>.\n\n\
|
||||||
|
<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> 㢨<><E3A2A8><EFBFBD> ᥡ<> <20> <20><>ઠ<EFBFBD><E0AAA0>, <20><>ᥢ襬 <20><><EFBFBD><EFBFBD><EFBFBD>⨢: <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>뫠 <20><><EFBFBD><EFBFBD><EFBFBD>-<2D><> <20><>࠭<EFBFBD><E0A0AD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ࠧ<EFBFBD><E0A0A7><EFBFBD> <20><><EFBFBD>뫪<EFBFBD>.\n\
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><>ࢭ<EFBFBD><E0A2AD>. <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20>४<EFBFBD><E0A5AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20> ⠪ <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><EFBFBD><E0AEA6><EFBFBD> <20> <20>⮬ <20><><EFBFBD><EFBFBD><EFBFBD>ﭭ<EFBFBD><EFADAD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.\n\
|
||||||
|
<EFBFBD> <20> ᨫ<><E1A8AB> <20><>ࢠ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD>०<EFBFBD><E0A5A6> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD>.\n\
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>祭<EFBFBD>!";
|
||||||
|
|
||||||
|
const char* gameIntroTextPart2 = "2. <20><><EFBFBD><EFBFBD>\n\n\
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᦨ<><E1A6A8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> ⥡<> <20><><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>! <20> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> <20> 宫<><E5AEAB><EFBFBD><EFBFBD>쭨<EFBFBD><ECADA8> <20><><EFBFBD> <20><> <20><><EFBFBD> <20><><EFBFBD>? <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>ᨬ<EFBFBD><E1A8AC> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20><>祣<EFBFBD> <20><> <20><><EFBFBD><EFBFBD>. <20> ⠪ 㬥<>, <20> <20><>頣<EFBFBD> <20> <20><> ⠪<><E2A0AA> <20><><EFBFBD>室<EFBFBD><E5AEA4><EFBFBD>. <20><> <20> <20> 㭨<><E3ADA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>頣<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20>뫮 室<><E5AEA4><EFBFBD> '<27> <20><><EFBFBD><EFBFBD><EFBFBD>' <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>㤥<EFBFBD>⠬ <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>묨 <20><><EFBFBD><EFBFBD>栬<EFBFBD>, <20><><EFBFBD><EFBFBD>ࠪ<EFBFBD><E0A0AA><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><>㣮<EFBFBD><E3A3AE>, <20><> ᥩ<><E1A5A9><EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0> ⮫쪮 <20><> ᥡ<>. <20> 㭨<><E3ADA8><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>뫮 ᮢᥬ <20><>-<2D><>㣮<EFBFBD><E3A3AE>. <20><><EFBFBD> <20><><EFBFBD><EFBFBD>ਫ<EFBFBD>, <20><><EFBFBD> <20><> <20>멤<EFBFBD><EBA9A4> <20><><EFBFBD><EFBFBD>訬<EFBFBD> ᯥ樠<E1AFA5><E6A8A0><EFBFBD>⠬<EFBFBD>, <20><><EFBFBD><EFBFBD>稬 <20><><EFBFBD><EFBFBD>⨦<EFBFBD><E2A8A6><EFBFBD> ࠡ<><E0A0A1><EFBFBD>! \n\
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ࢭ<EFBFBD><E0A2AD> <20><><EFBFBD>뫪<EFBFBD> ᭮<><E1ADAE> <20><EFBFBD><E0AEA1><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>. <20><>! <20> <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>뢠<EFBFBD><EBA2A0> <20><><EFBFBD><EFBFBD>⨦<EFBFBD><E2A8A6><EFBFBD> ࠡ<>⮩?\n\
|
||||||
|
<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㯯<EFBFBD><E3AFAF><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>쪮 <20> <20><><EFBFBD><EFBFBD>, ⮫쪮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᬮ<><E1ACAE><EFBFBD> <20><><EFBFBD>ந<EFBFBD><E0AEA8><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD>訥 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><>⮬<EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>⢨⥫쭮 <20>稫<EFBFBD><E7A8AB><EFBFBD>.\n\
|
||||||
|
<EFBFBD> 祬 <20> <20>㦥?\n\
|
||||||
|
<EFBFBD> <20><><EFBFBD> <20><><EFBFBD>室<EFBFBD><E5AEA4><EFBFBD><EFBFBD><EFBFBD> ࠡ<><E0A0A1><EFBFBD><EFBFBD><EFBFBD> <20><>ﬨ <20> <20><>砬<EFBFBD>, <20>⮡<EFBFBD> 墠⠫<E5A2A0> <20><> <20><><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> 㭨<><E3ADA8><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD>? <20><> ࠧ<><E0A0A7> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>? <20> ⠪<><E2A0AA> ࠡ<>⮩ <20> <20> <20> 㭨<><E3ADA8><EFBFBD><EFBFBD>-<2D><> ।<><E0A5A4> <20><><EFBFBD><EFA2AB><EFBFBD><EFBFBD>.\n\
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><>㤨<EFBFBD><E3A4A8>⥫쭮, <20><><EFBFBD> <20> <20><>祬<EFBFBD> <20> <20><> <20><><EFBFBD>稫<EFBFBD><E7A8AB>.\n\
|
||||||
|
<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠧ<><E0A0A7><EFBFBD><EFBFBD><EFBFBD> <20>ॢ<EFBFBD><E0A5A2><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> 㦥 <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ᮢ <20> <20><>祣<EFBFBD> <20><> <20><>.\n\
|
||||||
|
<EFBFBD><EFBFBD> <20> ॥ <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, 祬 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠡ<><E0A0A1><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>樠<EFBFBD>⮬! <20><><EFBFBD> <20><> <20><>म<EFBFBD><E0A4AE><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <><E1ABAE><EFBFBD><EFBFBD> ᥡ<> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 墮<><E5A2AE>.\n<EFBFBD>㦭<EFBFBD> <20><><EFBFBD>-<2D><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.\n\n\
|
||||||
|
<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>㬠<EFBFBD><E3ACA0>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠧ<>뢠<EFBFBD><EBA2A0><EFBFBD><EFBFBD> <20><> <20><><EFBFBD>!\n\
|
||||||
|
<EFBFBD> <20><> <20><>祣<EFBFBD> <20><> 㬥<>!\n\
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢥<EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>砥<EFBFBD><E7A0A5><EFBFBD> - <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᮢ<><E1AEA2><EFBFBD>. <20><>! <20> <20><><EFBFBD> <20><><EFBFBD> <20>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ࠬ<EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><>㧥<EFBFBD> <20><><EFBFBD>-<2D><> <20><> ࠡ<>⠥<EFBFBD>. \n\
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD>, <20><><EFBFBD> <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ࠡ<>⮩. <20><><EFBFBD> ⠪, 审<><E5AEA1>. <20><><EFBFBD><EFBFBD> <20>⮣<EFBFBD><E2AEA3><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>.\n\
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD>㤮<EFBFBD> <20><><EFBFBD>⮩稢<E2AEA9><E7A8A2> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>㣮<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠡ<><E0A0A1><EFBFBD>. <20> ᦠ<><E1A6A0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>.\n\n\
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD>諮.\n<EFBFBD> <20><><EFBFBD> <20> <20>㬠<EFBFBD>? <20><>, <20><>, <20><> <20>⮬ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ࠡ<EFBFBD><E0A0A1><EFBFBD><EFBFBD><EFBFBD>. \n\
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>...\n<EFBFBD>, ᮡ<>⢥<EFBFBD><E2A2A5><EFBFBD>, <20><>祬<EFBFBD> <20><><EFBFBD>? <20><><EFBFBD> <20> <20><><EFBFBD> 㬥<>?\n...\n\
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD> <20><>-<2D><> <20> <20><><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><>㣮<EFBFBD><E3A3AE> <20><>室<EFBFBD>. <20><><EFBFBD><EFBFBD> <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>࠭.\n\
|
||||||
|
<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>訩<EFBFBD><E8A8A9> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⮪ <20><> <20>⮫<EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>直<EFBFBD> 嫠<><E5ABA0><EFBFBD>, <20><>࠭<EFBFBD><E0A0AD><EFBFBD>, <20> <20><><EFBFBD><EFBFBD><EFBFBD>ᠫ <20>ਬ<EFBFBD><E0A8AC><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.\n\
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD>, <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⮫쪮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮<EFBFBD>, <20><> <20><> <20><><EFBFBD> <20><><EFBFBD> <20>㤥<EFBFBD> 墠<><E5A2A0><EFBFBD><EFBFBD>... <20> <20> <20><>⮬ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>... ⠪, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0AEA1><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>㤭<EFBFBD><E3A4AD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD>... ⮣<><E2AEA3> <20><><EFBFBD><EFBFBD>砥<EFBFBD><E7A0A5><EFBFBD>...<2E><><EFBFBD>... <20> <20><><EFBFBD>...\n\
|
||||||
|
<EFBFBD><EFBFBD>祬<EFBFBD> <20> <20><> <20>㬠<EFBFBD> <20><> <20>⮬ ࠭<><E0A0AD><EFBFBD>!\n\
|
||||||
|
<EFBFBD> ᨫ<><E1A8AB> <20><><EFBFBD><EFBFBD><EFBFBD> <20><>࠭<EFBFBD><E0A0AD><EFBFBD> <20><> <20>⮫, <20> <20>⪨<EFBFBD><E2AAA8><EFBFBD><EFBFBD><EFBFBD> <20><> ᯨ<><E1AFA8><EFBFBD> <20><>㫠. <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>⮣<EFBFBD>!\n\
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20>㦭<EFBFBD> <20>뫮 <20><EFBFBD><E0AEA1><EFBFBD><EFBFBD><EFBFBD> ࠭<><E0A0AD><EFBFBD>!\n\n\
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> ᬮ<><E1ACAE> <20><>ࠡ<EFBFBD><E0A0A1><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><> <20><><EFBFBD>. <20>⫨筠<E2ABA8> <20><><EFBFBD>ᯥ<EFBFBD>⨢<EFBFBD>! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> <20><><EFBFBD>ᯥ<EFBFBD>⨢<EFBFBD>: <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 祬-<2D><> <20><><EFBFBD> <20><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢠, <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20>㤥<EFBFBD> <20><> <20><> <20><><EFBFBD> <20>㯨<EFBFBD><E3AFA8> <20><>⨭<EFBFBD><E2A8AD>. <20> 㭨<><E3ADA8><EFBFBD><EFBFBD> <20><><EFBFBD> <20><>⠫<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>-<2D><> <20><><EFBFBD>樨 <20><> <20>ணࠬ<E0AEA3><E0A0AC><EFBFBD><E0AEA2><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD>ਫ<EFBFBD>, <20><><EFBFBD> <20><EFBFBD><E1AAAE> <20>⠭<EFBFBD><E2A0AD> <20>祭<EFBFBD> <20><><EFBFBD><EFBFBD>ॡ<EFBFBD><E0A5A1><EFBFBD><EFBFBD><EFBFBD>.\n\
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD> ⠬ <20> <20><><EFBFBD> <20><><EFBFBD><EFBFBD>? <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> 'C++ <20><> 21 <20><><EFBFBD><EFBFBD>'. <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>ਫ<EFBFBD> <20><> <20><>ࢮ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD> <20><> <20><><EFBFBD> <20><><EFBFBD> <20>⮨<EFBFBD> <20><><EFBFBD><EFBFBD>⮩. <20> ⮣<><E2AEA3> 楫묨 <20><>ﬨ <20><><EFBFBD><EFBFBD>㦨<EFBFBD><E3A6A8><EFBFBD> <20>⮫<EFBFBD><E2AEAB><EFBFBD>, <20> ᮢ<><E1AEA2>襭<EFBFBD><E8A5AD> <20><> <20>뫮 <20>६<EFBFBD><E0A5AC><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.\n\
|
||||||
|
<EFBFBD><EFBFBD> ࠧ<><E0A0A7> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>? <20><> 21 <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><> <20>ᯥ<EFBFBD>.\n\
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD> ⠬ <20>冷<EFBFBD>? <20><><EFBFBD><EFBFBD><EFBFBD> 'Teach Yourself Perl in 21 days'. <20><>祣<EFBFBD> <20><> <20><><EFBFBD><EFBFBD>⭮, <20><> ᭮<><E1ADAE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>. <20><><EFBFBD><EFBFBD> <20> <20>९<EFBFBD><E0A5AF><EFBFBD><EFBFBD><EFBFBD>⥫<EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><>⮢<EFBFBD><E2AEA2><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> <20><><EFBFBD><EFBFBD><EFBFBD> <20>⤠<EFBFBD><E2A4A0>. <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>뢠<EFBFBD>.\n\
|
||||||
|
<EFBFBD><EFBFBD> <20><><EFBFBD> <20><> ᬥ譮!\n\
|
||||||
|
<EFBFBD> <20><> <20><><EFBFBD> <20>뫮 ⠪ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 㦥 <20><>ᠫ<EFBFBD> <20><> C++ <20> Perl, <20><><EFBFBD><EFBFBD> <20>㦭<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ᥣ<EFBFBD> 21 <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD>祭<EFBFBD><E7A5AD>!\n\
|
||||||
|
<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᭮<><E1ADAE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ࠧ<><E0A0A7><EFBFBD><EFBFBD><F1ADADAE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: '...<2E><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>९<EFBFBD>⠫! <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>? <20>蠬<EFBFBD> 嫮<><E5ABAE><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20>ਭ<EFBFBD><E0A8AD><EFBFBD><EFBFBD>?'.\n\
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD>, ⠪<><E2A0AA> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20>ਤ<EFBFBD><E0A8A4> 祬<>-<2D><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.\n\n\
|
||||||
|
<EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>室<EFBFBD><E5AEA4><EFBFBD>, <20><><EFBFBD>⮬<EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 21 <20><><EFBFBD><EFBFBD>. <20><EFBFBD> 業<><E6A5AD>.\n\
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>.";
|
||||||
|
|
||||||
|
const char* gameIntroTextPart3 = "3. <20><>室<EFBFBD><E5AEA4>\n\n\
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD> <20> <20><><EFBFBD>-<2D><> <20><><EFBFBD><EFBFBD>蠫 <20>ࠧ<EFBFBD> '<27><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>冷<EFBFBD> <20> <><E1A2AE> <20><><EFBFBD><EFBFBD>'. <20><><EFBFBD> ⠪ <20> <20> <20>뫨<EFBFBD><EBABA8><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20> <20>㪨. <20><> <20>⮩ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-ᢠ<><E1A2A0><EFBFBD> <20> ᤥ<><E1A4A5><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.\n\
|
||||||
|
<EFBFBD>㦭<EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><>-<2D><><EFBFBD> <20><EFBFBD><E0AEA2><EFBFBD> <20> <20>모<EFBFBD><EBAAA8><EFBFBD><EFBFBD> <20> <20><><EFBFBD>⮢<EFBFBD><E2AEA2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> ࠧ<>ॡ<EFBFBD><E0A5A1><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>, <20><><EFBFBD><EFBFBD> <20><> <20>।<EFBFBD>⠢<EFBFBD><E2A0A2><EFBFBD>, <20><><EFBFBD> ⠬ <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.\n\n<...>\n\n\
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> <20><><EFBFBD><E0AEA1>? <20> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> ⠪<><E2A0AA>. <20><>, ᮡ<>⢥<EFBFBD><E2A2A5><EFBFBD>, <20><><EFBFBD> <20> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>室<EFBFBD><E5AEA4> <20><><EFBFBD><EFBFBD><EFBFBD> <20><>⠫<EFBFBD><E2A0AB> <20><> ࠡ<><E0A0A1><EFBFBD> <20> <20>ࠧ<EFBFBD> ᯠ<><E1AFA0>? <20> ࠭<> <20><> <20> '<27><EFBFBD><EEA1A8><EFBFBD>' <20><><EFBFBD><EFBFBD><EFBFBD>࠭.\n\
|
||||||
|
<EFBFBD><EFBFBD>࠭<EFBFBD><EFBFBD>. <20><>⠫<EFBFBD><E2A0AB><EFBFBD><EFBFBD>᪠<EFBFBD> <20><><EFBFBD><E0AEA1> <20><> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>뢠<EFBFBD><EBA2A0><EFBFBD><EFBFBD>. <20><>-<2D><>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>...\n\
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD>誠 <20>⫥⥫<E2ABA5> <20><><EFBFBD><EFBFBD>⭮ <20><><EFBFBD> <20><EFBFBD><E0AEA2><EFBFBD>, <20><> <20><><EFBFBD><E0AEA1> <20>믠<EFBFBD><EBAFA0> <20><><EFBFBD><EFBFBD><EFBFBD>-<2D><> <20>㬠<EFBFBD><E3ACA0><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. \n\
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD> ⠬ <20><><EFBFBD><EFBFBD>ᠭ<EFBFBD>? '<27><><EFBFBD> ⥡<>'.\n\
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>? <20><><EFBFBD><EFBFBD><EFBFBD>-<2D><> <20><>堭<EFBFBD><E5A0AD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>奬<EFBFBD>, <20><EFBFBD><E0AEA2><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>騩 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>...\n\n\
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>. <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>। <20><EFBFBD><E0AEA2><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD>쪮 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.\n\
|
||||||
|
<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD> <20><>!\n\
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD>⢥ <20><><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>᪠<EFBFBD>뢠<EFBFBD> ᪠<><E1AAA0><EFBFBD> <20><><EFBFBD> <20><>, <20><><EFBFBD> <20><> 类<><EFAAAE> <20><> <20>६<EFBFBD> <><E1A2AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢨<EFBFBD> <20><>頫<EFBFBD><E9A0AB> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ﬨ ࠧ<><E0A0A7><EFBFBD> <20>६<EFBFBD><E0A5AC>, <20><><EFBFBD>⨫<EFBFBD><E2A8AB> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0AEA2><EFBFBD><EFBFBD> <20>६<EFBFBD> <20><> ᢥ<>᪨<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD> <20>뫨 㢫<><E3A2AB><EFBFBD>⥫<EFBFBD><E2A5AB><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᪠<><E1AAA0><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⠪ <20><> <20>⭮ᨫ<E2ADAE><E1A8AB><EFBFBD> <20> <20>⨬ <20><><EFBFBD>᪠<EFBFBD><E1AAA0><EFBFBD>.\n\
|
||||||
|
<EFBFBD><EFBFBD> <20><><EFBFBD> <20>४<EFBFBD><E0A5AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD>᪠<EFBFBD><E1AAA0> <20>뫨 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>묨, <20><> <20><> <20><><EFBFBD><EFBFBD>ਭ<EFBFBD><E0A8AD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <><E1ABAE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD> <20><>, <20><><EFBFBD> ⠬ <20><>ମ<EFBFBD><E0ACAE><EFBFBD> <20>릨<EFBFBD>訩 <20><> 㬠 <20><><EFBFBD>ਪ?\n\n\
|
||||||
|
<EFBFBD> <20><>⮬ <20><> <20>ய<EFBFBD><E0AEAF>. <20><>祧. <20><><EFBFBD>ᥬ.\n\
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD> ⠪ <20> <20><> <20><>諨.\n\
|
||||||
|
<EFBFBD> ⥯<><E2A5AF><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><E0AEA1>. <20> <20><> <20><><EFBFBD><EFBFBD> <><E1A2AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!\n\
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD> <20><> ⠬ <20><><EFBFBD>뢠<EFBFBD> <20><><EFBFBD>?\n\n\
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD>... <20><><EFBFBD><EFBFBD>⮢<EFBFBD><E2AEA2> <><E1A2AE>稢<EFBFBD>⥫<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>࠭<EFBFBD>⢠ <20> <20>६<EFBFBD><E0A5AC><EFBFBD>! <20><>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⠪.\n\n\
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>⠫<EFBFBD> <20><><EFBFBD>뭮ᨬ<EBADAE> <20><><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD>ᨤ<EFBFBD><E1A8A4> <20><><EFBFBD><EFBFBD><EFBFBD> <20>६<EFBFBD><E0A5AC><EFBFBD>. <20>㤠 ⠬ <20>⫥⥫<E2ABA5> <20><><EFBFBD>誠? <20>, <20><><EFBFBD> <20><><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E0AEA1>, <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><> <20><><EFBFBD><EFBFBD><EFBFBD>.\n\n\
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 㦥 <20><>稭<EFBFBD><E7A8AD><EFBFBD> <20><><EFBFBD>-<2D><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!\n\
|
||||||
|
<EFBFBD><EFBFBD><EFBFBD> ⠬ <20>뫮... <20>ᯥ<EFBFBD><E1AFA5> <20><><EFBFBD> <20><> 21 <20><><EFBFBD><EFBFBD>?\n\
|
||||||
|
<EFBFBD>맮<EFBFBD> <20>ਭ<EFBFBD><E0A8AD>!";
|
||||||
|
|
||||||
|
#endif
|
400
programs/games/21days/sys.cpp
Executable file
400
programs/games/21days/sys.cpp
Executable file
@@ -0,0 +1,400 @@
|
|||||||
|
/******************************************************************
|
||||||
|
* 21 days: a game for programmers
|
||||||
|
* Copyright (C) 2014 Maxim Grishin
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||||
|
* MA 02110-1301, USA.
|
||||||
|
*******************************************************************/
|
||||||
|
|
||||||
|
char* windowTitle = "21 days by igevorse";
|
||||||
|
|
||||||
|
#ifdef _KOS32
|
||||||
|
#define kbhit kbhit // Prevent redeclaring kbhit() in pc.h
|
||||||
|
#include <string>
|
||||||
|
using std::string;
|
||||||
|
|
||||||
|
#pragma pack(push,1)
|
||||||
|
typedef struct {
|
||||||
|
char *name;
|
||||||
|
void *data;
|
||||||
|
} kol_struct_import;
|
||||||
|
#pragma pack(pop)
|
||||||
|
|
||||||
|
void kol_exit() {
|
||||||
|
asm volatile ("int $0x40"::"a"(-1));
|
||||||
|
}
|
||||||
|
|
||||||
|
void kol_screen_get_size(unsigned *w, unsigned *h) {
|
||||||
|
unsigned size;
|
||||||
|
asm volatile ("int $0x40":"=a"(size):"a"(14));
|
||||||
|
*w = size / 65536;
|
||||||
|
*h = size % 65536;
|
||||||
|
}
|
||||||
|
|
||||||
|
void (* __attribute__((stdcall)) con_init)(unsigned w_w, unsigned w_h, unsigned s_w, unsigned s_h, const char* t);
|
||||||
|
void (* __attribute__((cdecl)) printf2)(const char* format,...);
|
||||||
|
void (* __attribute__((stdcall)) con_exit)(char bCloseWindow);
|
||||||
|
int (* __attribute__((stdcall)) getch)();
|
||||||
|
int (* __attribute__((stdcall)) kbhit)();
|
||||||
|
void (* __attribute__((stdcall)) con_set_cursor_pos) (int x, int y);
|
||||||
|
int (* __attribute__((stdcall)) con_set_cursor_height)(int new_height);
|
||||||
|
void (* __attribute__((stdcall)) cls)();
|
||||||
|
|
||||||
|
int strcmp(const char* string1, const char* string2) {
|
||||||
|
while (1) {
|
||||||
|
if (*string1<*string2)
|
||||||
|
return -1;
|
||||||
|
if (*string1>*string2)
|
||||||
|
return 1;
|
||||||
|
|
||||||
|
if (*string1=='\0')
|
||||||
|
return 0;
|
||||||
|
string1++;
|
||||||
|
string2++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void* kol_cofflib_procload (kol_struct_import *imp, char *name) {
|
||||||
|
for (int i=0;;i++)
|
||||||
|
if (NULL == ((imp+i) -> name))
|
||||||
|
break;
|
||||||
|
else
|
||||||
|
if (0 == strcmp(name, (imp+i)->name) )
|
||||||
|
return (imp+i)->data;
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
kol_struct_import* kol_cofflib_load(char *name) {
|
||||||
|
kol_struct_import* val;
|
||||||
|
asm volatile ("int $0x40":"=a"(val):"a"(68), "b"(19), "c"(name));
|
||||||
|
return val;
|
||||||
|
}
|
||||||
|
|
||||||
|
unsigned _kWinWidth = 100;
|
||||||
|
unsigned _kWinHeight = 30;
|
||||||
|
|
||||||
|
void getWinWH(int& width, int& height) {
|
||||||
|
width = _kWinWidth;
|
||||||
|
height = _kWinHeight-1;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CONSOLE_INIT(char* title) {
|
||||||
|
kol_struct_import *imp = kol_cofflib_load("/sys/lib/console.obj");
|
||||||
|
if (imp == 0)
|
||||||
|
kol_exit();
|
||||||
|
|
||||||
|
con_init = ( __attribute__((stdcall)) void (*)(unsigned, unsigned, unsigned, unsigned, const char*))
|
||||||
|
kol_cofflib_procload (imp, "con_init");
|
||||||
|
if (con_init == NULL)
|
||||||
|
kol_exit();
|
||||||
|
|
||||||
|
printf2 = ( __attribute__((cdecl)) void (*)(const char*,...))
|
||||||
|
kol_cofflib_procload (imp, "con_printf");
|
||||||
|
if (printf2 == NULL)
|
||||||
|
kol_exit();
|
||||||
|
|
||||||
|
con_exit = ( __attribute__((stdcall)) void (*)(char))
|
||||||
|
kol_cofflib_procload (imp, "con_exit");
|
||||||
|
if (con_exit == NULL)
|
||||||
|
kol_exit();
|
||||||
|
|
||||||
|
getch = ( __attribute__((stdcall)) int (*)())
|
||||||
|
kol_cofflib_procload (imp, "con_getch");
|
||||||
|
if (getch == NULL)
|
||||||
|
kol_exit();
|
||||||
|
|
||||||
|
cls = ( __attribute__((stdcall)) void (*)())
|
||||||
|
kol_cofflib_procload (imp, "con_cls");
|
||||||
|
if (cls == NULL)
|
||||||
|
kol_exit();
|
||||||
|
|
||||||
|
kbhit = ( __attribute__((stdcall)) int (*)())
|
||||||
|
kol_cofflib_procload (imp, "con_kbhit");
|
||||||
|
if (kbhit == NULL)
|
||||||
|
kol_exit();
|
||||||
|
|
||||||
|
con_set_cursor_pos = ( __attribute__((stdcall)) void (*) (int, int))
|
||||||
|
kol_cofflib_procload (imp, "con_set_cursor_pos");
|
||||||
|
if (con_set_cursor_pos == NULL)
|
||||||
|
kol_exit();
|
||||||
|
|
||||||
|
con_set_cursor_height = ( __attribute__((stdcall)) int (*)(int))
|
||||||
|
kol_cofflib_procload (imp, "con_set_cursor_height");
|
||||||
|
if (con_set_cursor_height == NULL)
|
||||||
|
kol_exit();
|
||||||
|
|
||||||
|
unsigned sw, sh;
|
||||||
|
|
||||||
|
kol_screen_get_size(&sw, &sh);
|
||||||
|
// Change window w/h depending on screen w/h
|
||||||
|
// Sorry for magic numbers
|
||||||
|
if (_kWinWidth*8 >= sw)
|
||||||
|
_kWinWidth = sw / 8;
|
||||||
|
|
||||||
|
if (_kWinHeight*17 >= sh)
|
||||||
|
_kWinHeight = sh / 17;
|
||||||
|
|
||||||
|
con_init(_kWinWidth, _kWinHeight, _kWinWidth, _kWinHeight, title);
|
||||||
|
}
|
||||||
|
|
||||||
|
void hideCursor() {
|
||||||
|
con_set_cursor_height(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void showCursor() {
|
||||||
|
//nop;
|
||||||
|
}
|
||||||
|
|
||||||
|
void consoleGoto(int line, int column) {
|
||||||
|
con_set_cursor_pos(column-1, line-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
string itos(int n) {
|
||||||
|
string s;
|
||||||
|
int i, sign;
|
||||||
|
|
||||||
|
if ((sign = n) < 0)
|
||||||
|
n = -n;
|
||||||
|
i = 0;
|
||||||
|
do {
|
||||||
|
s[i++] = n % 10 + '0';
|
||||||
|
} while ((n /= 10) > 0);
|
||||||
|
if (sign < 0)
|
||||||
|
s[i++] = '-';
|
||||||
|
s[i] = '\0';
|
||||||
|
|
||||||
|
int j,k;
|
||||||
|
for (k = 0, j = i-1; k<j; k++, j--) {
|
||||||
|
char c = s[k];
|
||||||
|
s[k] = s[j];
|
||||||
|
s[j] = c;
|
||||||
|
}
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
// Ok, I don't want to use vsprintf from KolibriOS
|
||||||
|
string txt(string s, int d) {
|
||||||
|
string t = s;
|
||||||
|
unsigned i = t.find("%d");
|
||||||
|
if (i != string::npos)
|
||||||
|
t.replace(i, 2, itos(d).c_str());
|
||||||
|
return t;
|
||||||
|
}
|
||||||
|
|
||||||
|
string txt(string s, char c) {
|
||||||
|
string t = s;
|
||||||
|
unsigned i = t.find("%c");
|
||||||
|
if (i != string::npos)
|
||||||
|
t.replace(i, 2, c);
|
||||||
|
return t;
|
||||||
|
}
|
||||||
|
|
||||||
|
string txt(string s, string s2) {
|
||||||
|
string t = s;
|
||||||
|
unsigned i = t.find("%s");
|
||||||
|
if (i != string::npos)
|
||||||
|
t.replace(i, 2, s2.c_str());
|
||||||
|
return t;
|
||||||
|
}
|
||||||
|
|
||||||
|
string txt(string s, string s2, string s3) {
|
||||||
|
return txt(txt(s, s2), s3);
|
||||||
|
}
|
||||||
|
string txt(string s, char ch, string s2) {
|
||||||
|
return txt(txt(s, ch), s2);
|
||||||
|
}
|
||||||
|
string txt(string s, char ch, string s2, char ch2) {
|
||||||
|
return txt(txt(txt(s, ch), s2), ch2);
|
||||||
|
}
|
||||||
|
string txt(string s, int d1, int d2) {
|
||||||
|
return txt(txt(s, d1), d2);
|
||||||
|
}
|
||||||
|
string txt(string s, int d1, int d2, int d3) {
|
||||||
|
return txt(txt(txt(s, d1), d2), d3);
|
||||||
|
}
|
||||||
|
string txt(string s, int d1, int d2, int d3, int d4) {
|
||||||
|
return txt(txt(txt(txt(s, d1), d2), d3), d4);
|
||||||
|
}
|
||||||
|
|
||||||
|
void initConsole() {
|
||||||
|
CONSOLE_INIT(windowTitle);
|
||||||
|
}
|
||||||
|
#elif defined __linux__
|
||||||
|
#define printf2 printf
|
||||||
|
#include <cstdlib> // system
|
||||||
|
#include <stdarg.h>
|
||||||
|
#include <stdio.h> // printf, vsprintf
|
||||||
|
#include <sys/ioctl.h> // get window width/height
|
||||||
|
#include <termios.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <fcntl.h>
|
||||||
|
#include <string>
|
||||||
|
static struct termios old, new1;
|
||||||
|
|
||||||
|
std::string txt(const char* s, ...) {
|
||||||
|
va_list args;
|
||||||
|
va_start(args,s);
|
||||||
|
char x[100000];
|
||||||
|
vsprintf(x, s, args);
|
||||||
|
va_end(args);
|
||||||
|
std::string str(x);
|
||||||
|
return str;
|
||||||
|
}
|
||||||
|
|
||||||
|
void cls() {
|
||||||
|
system("clear");
|
||||||
|
}
|
||||||
|
|
||||||
|
void hideCursor() {
|
||||||
|
printf2("\033[?25l");
|
||||||
|
}
|
||||||
|
|
||||||
|
void showCursor() {
|
||||||
|
printf2("\033[?25h");
|
||||||
|
}
|
||||||
|
|
||||||
|
void consoleGoto(int line, int column) {
|
||||||
|
printf2("\033[%d;%dH", line, column);
|
||||||
|
}
|
||||||
|
|
||||||
|
void consoleSetColor(short text = 30, short background = 47) {
|
||||||
|
printf2("\033[%d;%dm", text, background);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Initialize new terminal i/o settings */
|
||||||
|
void initTermios() {
|
||||||
|
tcgetattr(0, &old); /* grab old terminal i/o settings */
|
||||||
|
new1 = old; /* make new settings same as old settings */
|
||||||
|
new1.c_lflag &= ~ICANON; /* disable buffered i/o */
|
||||||
|
new1.c_lflag &= ~ECHO; /* set echo mode */
|
||||||
|
tcsetattr(0, TCSANOW, &new1); /* use these new terminal i/o settings now */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Restore old terminal i/o settings */
|
||||||
|
void resetTermios() {
|
||||||
|
tcsetattr(0, TCSANOW, &old);
|
||||||
|
}
|
||||||
|
|
||||||
|
int kbhit () {
|
||||||
|
struct termios oldt, newt;
|
||||||
|
int ch;
|
||||||
|
int oldf;
|
||||||
|
|
||||||
|
tcgetattr(STDIN_FILENO, &oldt);
|
||||||
|
newt = oldt;
|
||||||
|
newt.c_lflag &= ~(ICANON | ECHO);
|
||||||
|
tcsetattr(STDIN_FILENO, TCSANOW, &newt);
|
||||||
|
oldf = fcntl(STDIN_FILENO, F_GETFL, 0);
|
||||||
|
fcntl(STDIN_FILENO, F_SETFL, oldf | O_NONBLOCK);
|
||||||
|
|
||||||
|
ch = getchar();
|
||||||
|
|
||||||
|
tcsetattr(STDIN_FILENO, TCSANOW, &oldt);
|
||||||
|
fcntl(STDIN_FILENO, F_SETFL, oldf);
|
||||||
|
|
||||||
|
if(ch != EOF) {
|
||||||
|
ungetc(ch, stdin);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Read 1 character without echo */
|
||||||
|
char getch() {
|
||||||
|
char ch;
|
||||||
|
initTermios();
|
||||||
|
ch = getchar();
|
||||||
|
resetTermios();
|
||||||
|
return ch;
|
||||||
|
}
|
||||||
|
|
||||||
|
void getWinWH(int& width, int& height) {
|
||||||
|
struct winsize w;
|
||||||
|
ioctl(0, TIOCGWINSZ, &w);
|
||||||
|
width = w.ws_col;
|
||||||
|
height = w.ws_row-1;
|
||||||
|
}
|
||||||
|
|
||||||
|
void initConsole() {
|
||||||
|
printf2("\033]0;%s\007", windowTitle);
|
||||||
|
}
|
||||||
|
#elif defined _WIN32
|
||||||
|
#define printf2 printf
|
||||||
|
#include <stdio.h> // printf, vsprintf
|
||||||
|
#include <windows.h>
|
||||||
|
#include <cstdlib> // system
|
||||||
|
#define _NO_OLDNAMES _NO_OLDNAMES
|
||||||
|
#include <conio.h> // kbhit(), getch(), getche()
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
char getch() {
|
||||||
|
return _getch();
|
||||||
|
}
|
||||||
|
|
||||||
|
int kbhit (void) {
|
||||||
|
return _kbhit();
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string txt(const char* s, ...) {
|
||||||
|
va_list args;
|
||||||
|
va_start(args,s);
|
||||||
|
char x[100000];
|
||||||
|
vsprintf(x, s, args);
|
||||||
|
va_end(args);
|
||||||
|
std::string str(x);
|
||||||
|
return str;
|
||||||
|
}
|
||||||
|
|
||||||
|
void cls() {
|
||||||
|
system("cls");
|
||||||
|
}
|
||||||
|
|
||||||
|
void showCursor() {
|
||||||
|
HANDLE consoleHandle = GetStdHandle(STD_OUTPUT_HANDLE);
|
||||||
|
CONSOLE_CURSOR_INFO info;
|
||||||
|
info.bVisible = TRUE;
|
||||||
|
SetConsoleCursorInfo(consoleHandle, &info);
|
||||||
|
}
|
||||||
|
|
||||||
|
void hideCursor() {
|
||||||
|
HANDLE consoleHandle = GetStdHandle(STD_OUTPUT_HANDLE);
|
||||||
|
CONSOLE_CURSOR_INFO info;
|
||||||
|
info.bVisible = FALSE;
|
||||||
|
info.dwSize = 1;
|
||||||
|
SetConsoleCursorInfo(consoleHandle, &info);
|
||||||
|
}
|
||||||
|
|
||||||
|
void consoleGoto(int line, int column) {
|
||||||
|
COORD coord;
|
||||||
|
coord.X = column;
|
||||||
|
coord.Y = line;
|
||||||
|
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);
|
||||||
|
}
|
||||||
|
|
||||||
|
void consoleSetColor(short text = 30, short background = 47) {
|
||||||
|
printf2("\033[%d;%dm", text, background);
|
||||||
|
}
|
||||||
|
|
||||||
|
void getWinWH(int& width, int& height) {
|
||||||
|
CONSOLE_SCREEN_BUFFER_INFO csbi;
|
||||||
|
GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &csbi);
|
||||||
|
width = csbi.srWindow.Right - csbi.srWindow.Left - 1;
|
||||||
|
height = csbi.srWindow.Bottom - csbi.srWindow.Top - 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
void initConsole() {
|
||||||
|
SetConsoleTitle(windowTitle);
|
||||||
|
system("mode 100, 30");
|
||||||
|
}
|
||||||
|
#endif
|
53
programs/games/21days/sys.h
Executable file
53
programs/games/21days/sys.h
Executable file
@@ -0,0 +1,53 @@
|
|||||||
|
/******************************************************************
|
||||||
|
* 21 days: a game for programmers
|
||||||
|
* Copyright (C) 2014 Maxim Grishin
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the GNU General Public License
|
||||||
|
* as published by the Free Software Foundation; either version 2
|
||||||
|
* of the License, or (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
||||||
|
* MA 02110-1301, USA.
|
||||||
|
*******************************************************************/
|
||||||
|
|
||||||
|
#ifndef H_SYS
|
||||||
|
#define H_SYS
|
||||||
|
|
||||||
|
#define ESCAPE_KEY 27
|
||||||
|
|
||||||
|
#if defined(__linux__) && !defined(_KOS32)
|
||||||
|
#define ENTER_KEY '\n'
|
||||||
|
#else
|
||||||
|
#define ENTER_KEY 13
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef _KOS32
|
||||||
|
#define kbhit kbhit // Prevent redeclaring kbhit() in pc.h
|
||||||
|
void CONSOLE_INIT(char* title);
|
||||||
|
void kol_exit();
|
||||||
|
extern void (* __attribute__((stdcall)) con_exit)(char bCloseWindow);
|
||||||
|
extern void (* __attribute__((cdecl)) printf2)(const char* format,...);
|
||||||
|
extern int (* __attribute__((stdcall)) getch)();
|
||||||
|
extern int (* __attribute__((stdcall)) kbhit)();
|
||||||
|
extern void (* __attribute__((stdcall)) cls)();
|
||||||
|
|
||||||
|
#else
|
||||||
|
void cls();
|
||||||
|
char getch();
|
||||||
|
int kbhit ();
|
||||||
|
#endif
|
||||||
|
|
||||||
|
void initConsole();
|
||||||
|
void hideCursor();
|
||||||
|
void showCursor();
|
||||||
|
void consoleGoto(int line, int column);
|
||||||
|
void getWinWH(int& width, int &height);
|
||||||
|
#endif
|
Reference in New Issue
Block a user