mirror of
git://xwords.git.sourceforge.net/gitroot/xwords/xwords
synced 2025-02-13 20:48:02 +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_DOUBLE_WORD,
|
||||||
BONUS_TRIPLE_LETTER,
|
BONUS_TRIPLE_LETTER,
|
||||||
BONUS_TRIPLE_WORD,
|
BONUS_TRIPLE_WORD,
|
||||||
|
BONUS_QUAD_LETTER,
|
||||||
|
BONUS_QUAD_WORD,
|
||||||
|
|
||||||
BONUS_LAST
|
BONUS_LAST
|
||||||
} XWBonusType;
|
} XWBonusType;
|
||||||
|
|
|
@ -620,6 +620,8 @@ word_multiplier( const ModelCtxt* model, XWEnv xwe, XP_U16 col, XP_U16 row )
|
||||||
return 2;
|
return 2;
|
||||||
case BONUS_TRIPLE_WORD:
|
case BONUS_TRIPLE_WORD:
|
||||||
return 3;
|
return 3;
|
||||||
|
case BONUS_QUAD_WORD:
|
||||||
|
return 4;
|
||||||
default:
|
default:
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -634,6 +636,8 @@ tile_multiplier( const ModelCtxt* model, XWEnv xwe, XP_U16 col, XP_U16 row )
|
||||||
return 2;
|
return 2;
|
||||||
case BONUS_TRIPLE_LETTER:
|
case BONUS_TRIPLE_LETTER:
|
||||||
return 3;
|
return 3;
|
||||||
|
case BONUS_QUAD_LETTER:
|
||||||
|
return 4;
|
||||||
default:
|
default:
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -115,6 +115,8 @@ linux_util_makeEmptyDict( XW_UtilCtxt* XP_UNUSED_DBG(uctx), XWEnv xwe )
|
||||||
#define DW BONUS_DOUBLE_WORD
|
#define DW BONUS_DOUBLE_WORD
|
||||||
#define TL BONUS_TRIPLE_LETTER
|
#define TL BONUS_TRIPLE_LETTER
|
||||||
#define TW BONUS_TRIPLE_WORD
|
#define TW BONUS_TRIPLE_WORD
|
||||||
|
#define QL BONUS_QUAD_LETTER
|
||||||
|
#define QW BONUS_QUAD_WORD
|
||||||
|
|
||||||
static XWBonusType*
|
static XWBonusType*
|
||||||
bonusesFor( XP_U16 boardSize, XP_U16* len )
|
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,
|
EM,EM,DL,EM,EM,EM,DL,//EM,
|
||||||
TW,EM,EM,DL,EM,EM,EM,DW,
|
TW,EM,EM,DL,EM,EM,EM,DW,
|
||||||
TW,EM,EM,DL,EM,EM,EM,DW,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;
|
XWBonusType* result = NULL;
|
||||||
if ( boardSize == 15 ) {
|
switch ( boardSize ) {
|
||||||
|
case 15:
|
||||||
result = scrabbleBoard;
|
result = scrabbleBoard;
|
||||||
*len = VSIZE(scrabbleBoard);
|
*len = VSIZE(scrabbleBoard);
|
||||||
} else if ( boardSize == 17 ) {
|
break;
|
||||||
|
case 17:
|
||||||
result = seventeen;
|
result = seventeen;
|
||||||
*len = VSIZE(seventeen);
|
*len = VSIZE(seventeen);
|
||||||
|
break;
|
||||||
|
case 21:
|
||||||
|
result = twentyOne;
|
||||||
|
*len = VSIZE(twentyOne);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue