📄 cardcol.cpp
字号:
//$Id: CardCol.cpp,v 1.94 2006/08/09 16:35:16 markus Rel $//PROJECT : Cardgames//SUBSYSTEM : Application//REFERENCES ://TODO ://BUGS ://REVISION : $Revision: 1.94 $//AUTHOR : Markus Schwab//CREATED : 9.9.2002//COPYRIGHT : Copyright (C) 2002 - 2006// 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.#include <cardgames-cfg.h>#if !(defined (WITH_HEARTS) || defined (WITH_BURACO) || defined (WITH_TWOPART) || defined (WITH_ROVHULT) || defined (WITH_SGTMAYOR) || defined (WITH_MACHIAVELLI))# error All games are disabled!#endif#include <cerrno>#include <cstdlib>#include <string>#include <fstream>#include <gtkmm/stock.h>#include <gtkmm/radioaction.h>#include <gtkmm/messagedialog.h>#define TRACELEVEL 1#include <YGP/File.h>#include <YGP/Check.h>#include <YGP/Trace.h>#include <YGP/INIFile.h>#include <YGP/ANumeric.h>#include <YGP/Tokenize.h>#include <YGP/PathSrch.h>#include <XGP/XAbout.h>#include <Human.h>#include <PlayerDlg.h>#include <DeckSelect.h>#include <ComputerPlayer.h>#include "GameTypes.h"#ifdef WITH_HEARTS# include "Hearts.h"#endif#ifdef WITH_BURACO# include "Buraco.h"# include "BuracoCards.h"#endif#ifdef WITH_ROVHULT# include "Rovhult.h"# include "CardValue.h"#endif#ifdef WITH_TWOPART# include "Twopart.h"#endif#ifdef WITH_SGTMAYOR# include "SgtMayor.h"#endif#ifdef WITH_MACHIAVELLI# include "Machiavelli.h"#endif#include "Settings.h"#ifdef KDECARDS_DIR# define CARDDECKS_DIR KDECARDS_DIR#elif defined CARDPICS_DIR# define CARDDECKS_DIR CARDPICS_DIR#else# define CARDDECKS_DIR ""#endif#include "Options.h"#include "Options.meta"#include "CardColAppl.h"#include "CardCol.h"const unsigned int CardgameCollection::WIDTH (760);const unsigned int CardgameCollection::HEIGHT (750);namespace YGP {/// Writes the contents of the passed values to the passed stream/// (in its own section named \c section)./// \param stream: Stream to write to/// \param section: Name of section to write/// \param values: Values to writetemplate <>void INIList<Glib::ustring>::write (std::ostream& stream, const char* section, const std::vector<Glib::ustring>& values) { writeHeader (stream, section); for (unsigned int i (0); i < values.size (); ++i) stream << i << '=' << values[i].c_str () << '\n'; stream << '\n'; }}// Pixmap for programconst char* CardgameCollection::xpmGame[] = { /* width height ncolors chars_per_pixel */ "48 48 239 2", /* colors */ " c #000000", " . c #F6F6F8", " X c #CACADA", " o c #F2F2F4", " O c #DAD9E3", " + c #D9D7E2", " @ c #D8D7E1", " # c #D7D5E0", " $ c #D4D3DD", " % c #D0CFD9", " & c #F8F7F3", " * c #F5F5F0", " = c #EFEFEA", " - c #EDEDE8", " ; c #DCDBD4", " : c #E8E8ED", " > c #EBEBE6", " , c #FCFBFA", " < c #FBFBF9", " 1 c #DAD9D2", " 2 c #E7E6EC", " 3 c #D2D1DE", " 4 c #FAF9F8", " 5 c #F9F9F7", " 6 c #E5E4EA", " 7 c #D1CFDD", " 8 c #D0CFDC", " 9 c #F8F7F6", " 0 c #F7F7F5", " q c #C6C6C8", " w c #7F7F7F", " e c #F9F9FA", " r c #F7F7F8", " t c #CCCBDB", " y c #CBCBDA", " u c #F3F3F4", " i c #DDDCE5", " p c #DBDAE3", " a c #DAD8E2", " s c #F1F0E8", " d c #D9D8E1", " f c #EFEEE6", " g c #D7D6DF", " h c #F7F6F1", " j c #F5F4EF", " k c #F3F2ED", " l c #F1F0EB", " z c #ECEBF0", " x c #EBEBEF", " c c #EAE9EE", " v c #D5D4E0", " b c #ECECE6", " n c #DBDAD2", " m c #D4D2DF", " M c #D3D2DE", " N c #FBFAF8", " B c #FAFAF7", " V c #D9D8D0", " C c #D2D0DD", " Z c #E9E8E3", " A c #F9F8F6", " S c #F8F8F5", " D c #E7E6E1", " F c #F7F6F4", " G c #F6F6F3", " H c #D5D4CC", " J c #E5E4DF", " K c #F5F4F2", " L c #D3D2CA", " P c #F3F2F0", " I c #F2F2EF", " U c #D1D0C8", " Y c #CFCEC6", " T c #C7C6D2", " R c #FEFEFE", " E c #FCFCFC", " W c #E2E1E9", " Q c #CDCCDB", " ! c #E0DFE7", " ~ c #DEDDE5", " ^ c #DDDBE4", " / c #3F3F3F", " ( c #DCDBE3", " ) c #DAD9E1", " _ c #EDECED", " ` c #F1F0F4", " ' c #F0F0F3", " ] c #EFEEF2", " [ c #F2F1EB", " { c #D8D7E2", " } c #D6D5E0", " | c #FE7F87", ". c #D5D3DF", ".. c #D4D3DE", ".X c #D2D1DC", ".o c #FAF9F6", ".O c #F8F7F4", ".+ c #F7F7F3", ".@ c #CECDD8", ".# c #F6F5F2", ".$ c #F5F5F1", ".% c #CCCBD6", ".& c #F4F3F0", ".* c #F3F3EF", ".= c #D2D1C8", ".- c #F1F1ED", ".; c #E0DFD9", ".: c #F0EFEC", ".> c #DDDDD6", "., c #FEFDFD", ".< c #FDFDFC", ".1 c #FBFBFA", ".2 c #F9F9F8", ".3 c #E5E4EB", ".4 c #E3E2E9", ".5 c #CECDDB", ".6 c #E1E0E7", ".7 c #FE0010", ".8 c #F4F3F6", ".9 c #C9C9D9", ".0 c #FE3F4B", ".q c #DBDAE4", ".w c #D9D8E2", ".e c #D8D6E1", ".r c #D7D6E0", ".t c #D6D4DF", ".y c #D5D4DE", ".u c #D2D0DB", ".i c #CFCED8", ".p c #F7F6F2", ".a c #F6F6F1", ".s c #000010", ".d c #EDECE8", ".f c #FDFCFB", ".g c #FCFCFA", ".h c #E8E7ED", ".j c #EBEAE6", ".k c #D3D2DF", ".l c #FBFAF9", ".z c #FAFAF8", ".x c #D9D8D1", ".c c #E6E5EB", ".v c #D1D0DD", ".b c #F9F8F7", ".n c #F8F8F6", ".m c #D7D6CF", ".M c #E4E3E9", ".N c #D6D6CE", ".B c #F6F6F4", ".V c #C4C4D0", ".C c #FCFCFD", ".Z c #FAFAFB", ".A c #F8F8F9", ".S c #CCCCDB", ".D c #CBCADA", ".F c #CACAD9", ".G c #DEDDE6", ".H c #F5F3EC", ".J c #DCDBE4", ".K c #DBD9E3", ".L c #DAD9E2", ".P c #D8D7E0", ".I c #D6D5DE", ".U c #F6F5F0", ".Y c #F5F5EF", ".T c #F3F3ED", ".R c #EEEEF2", ".E c #D4D3DF", ".W c #E7E6EB", ".Q c #D3D1DE", ".! c #EAE9E4", ".~ c #D2D1DD", ".^ c #FAF9F7", "./ c #F9F9F6", ".( c #D8D7CF", ".) c #D1CFDC", "._ c #E8E7E2", ".` c #F8F7F5", ".' c #F7F7F4", ".] c #E6E5E0", ".[ c #E5E5DF", ".{ c #F5F5F2", ".} c #D4D3CB", ".| c #545454", "X c #E4E3DE", "X. c #E3E3DD", "XX c #F4F3F1", "Xo c #D2D1C9", "XO c #CAC9D5", "X+ c #E1E1DB", "X@ c #C9C9D4", "X# c #F1F1EE", "X$ c #D0CFC7", "X% c #C8C7D3", "X& c #CECDC5", "X* c #FDFDFD", "X= c #CECDDC", "X- c #CDCDDB", "X; c #E1E0E8", "X: c #CCCBDA", "X> c #DFDEE6", "X, c #DEDCE5", "X< c #DDDCE4", "X1 c #DBDAE2", "X2 c #DAD8E1", "X3 c #EFEEE5", "X4 c #F1F1F4", "X5 c #EFEFF2", "X6 c #F2F2EB", "X7 c #D7D6E1", "X8 c #D5D4DF", "X9 c #D4D2DE", "X0 c #F9F8F5", "Xq c #F8F8F4", "Xw c #F7F6F3", "Xe c #F6F6F2", "Xr c #CDCCD7", "Xt c #F4F4F0", "Xy c #D3D2C9", "Xu c #E3E2DC", "Xi c #F2F2EE", "Xp c #D1D0C7", "Xa c #DFDED8", "Xs c #DEDED7", "Xd c #EEEEEA", "Xf c #FEFEFD", "Xg c #FCFCFB", "Xh c #FBFAFA", "Xj c #FAFAF9", "Xk c #E6E5EC", "Xl c #D1D0DE", "Xz c #E4E3EA",
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -