mirror of
git://xwords.git.sourceforge.net/gitroot/xwords/xwords
synced 2025-02-11 08:48:06 +01:00
add bonus squares for 21x21 board (linux only)
This commit is contained in:
parent
b150ef471b
commit
cb2d847e6d
4 changed files with 35 additions and 7 deletions
|
@ -212,6 +212,8 @@ typedef enum {
|
|||
BONUS_DOUBLE_WORD,
|
||||
BONUS_TRIPLE_LETTER,
|
||||
BONUS_TRIPLE_WORD,
|
||||
BONUS_QUAD_LETTER,
|
||||
BONUS_QUAD_WORD,
|
||||
|
||||
BONUS_LAST
|
||||
} XWBonusType;
|
||||
|
|
|
@ -620,6 +620,8 @@ word_multiplier( const ModelCtxt* model, XWEnv xwe, XP_U16 col, XP_U16 row )
|
|||
return 2;
|
||||
case BONUS_TRIPLE_WORD:
|
||||
return 3;
|
||||
case BONUS_QUAD_WORD:
|
||||
return 4;
|
||||
default:
|
||||
return 1;
|
||||
}
|
||||
|
@ -634,6 +636,8 @@ tile_multiplier( const ModelCtxt* model, XWEnv xwe, XP_U16 col, XP_U16 row )
|
|||
return 2;
|
||||
case BONUS_TRIPLE_LETTER:
|
||||
return 3;
|
||||
case BONUS_QUAD_LETTER:
|
||||
return 4;
|
||||
default:
|
||||
return 1;
|
||||
}
|
||||
|
|
|
@ -115,6 +115,8 @@ linux_util_makeEmptyDict( XW_UtilCtxt* XP_UNUSED_DBG(uctx), XWEnv xwe )
|
|||
#define DW BONUS_DOUBLE_WORD
|
||||
#define TL BONUS_TRIPLE_LETTER
|
||||
#define TW BONUS_TRIPLE_WORD
|
||||
#define QL BONUS_QUAD_LETTER
|
||||
#define QW BONUS_QUAD_WORD
|
||||
|
||||
static XWBonusType*
|
||||
bonusesFor( XP_U16 boardSize, XP_U16* len )
|
||||
|
@ -146,17 +148,37 @@ bonusesFor( XP_U16 boardSize, XP_U16* len )
|
|||
EM,EM,DL,EM,EM,EM,DL,//EM,
|
||||
TW,EM,EM,DL,EM,EM,EM,DW,
|
||||
TW,EM,EM,DL,EM,EM,EM,DW,DW,
|
||||
}; /* scrabbleBoard */
|
||||
}; /* seventeen */
|
||||
|
||||
static XWBonusType twentyOne[] = {
|
||||
QW,
|
||||
EM, DW,
|
||||
EM, EM, DW,
|
||||
DL, EM, EM, TW,
|
||||
EM, TL, EM, EM, DW,
|
||||
EM, EM, QL, EM, EM, DW,
|
||||
EM, EM, EM, DL, EM, EM, DW,
|
||||
TW, EM, EM, EM, EM, EM, EM, DW,
|
||||
EM, DW, EM, EM, TL, EM, EM, EM, TL,
|
||||
EM, EM, DW, EM, EM, DL, EM, EM, EM, DL,
|
||||
DL, EM, EM, TW, EM, EM, DL, EM, EM, EM, DW,
|
||||
}; /* twentyOne */
|
||||
|
||||
XWBonusType* result = NULL;
|
||||
if ( boardSize == 15 ) {
|
||||
switch ( boardSize ) {
|
||||
case 15:
|
||||
result = scrabbleBoard;
|
||||
*len = VSIZE(scrabbleBoard);
|
||||
} else if ( boardSize == 17 ) {
|
||||
break;
|
||||
case 17:
|
||||
result = seventeen;
|
||||
*len = VSIZE(seventeen);
|
||||
break;
|
||||
case 21:
|
||||
result = twentyOne;
|
||||
*len = VSIZE(twentyOne);
|
||||
break;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue