draft tutorial revisions
This commit is contained in:
parent
838da4571d
commit
48359b5a48
70 changed files with 6216 additions and 28 deletions
138
docs/templates/roguelike/constants.py
vendored
Normal file
138
docs/templates/roguelike/constants.py
vendored
Normal file
|
|
@ -0,0 +1,138 @@
|
|||
"""
|
||||
constants.py - Roguelike Template Constants
|
||||
|
||||
This module defines all the constants used throughout the roguelike template,
|
||||
including sprite indices for CP437 tileset, colors for FOV system, and
|
||||
game configuration values.
|
||||
|
||||
CP437 is the classic IBM PC character set commonly used in traditional roguelikes.
|
||||
The sprite indices correspond to ASCII character codes in a CP437 tileset.
|
||||
"""
|
||||
|
||||
import mcrfpy
|
||||
|
||||
# =============================================================================
|
||||
# SPRITE INDICES (CP437 Character Codes)
|
||||
# =============================================================================
|
||||
# These indices correspond to characters in a CP437-style tileset.
|
||||
# The default McRogueFace tileset uses 16x16 sprites arranged in a grid.
|
||||
|
||||
# Terrain sprites
|
||||
SPRITE_FLOOR = 46 # '.' - Standard floor tile
|
||||
SPRITE_WALL = 35 # '#' - Wall/obstacle tile
|
||||
SPRITE_DOOR_CLOSED = 43 # '+' - Closed door
|
||||
SPRITE_DOOR_OPEN = 47 # '/' - Open door
|
||||
SPRITE_STAIRS_DOWN = 62 # '>' - Stairs going down
|
||||
SPRITE_STAIRS_UP = 60 # '<' - Stairs going up
|
||||
|
||||
# Player sprite
|
||||
SPRITE_PLAYER = 64 # '@' - The classic roguelike player symbol
|
||||
|
||||
# Enemy sprites
|
||||
SPRITE_ORC = 111 # 'o' - Orc enemy
|
||||
SPRITE_TROLL = 84 # 'T' - Troll enemy
|
||||
SPRITE_GOBLIN = 103 # 'g' - Goblin enemy
|
||||
SPRITE_RAT = 114 # 'r' - Giant rat
|
||||
SPRITE_SNAKE = 115 # 's' - Snake
|
||||
SPRITE_ZOMBIE = 90 # 'Z' - Zombie
|
||||
|
||||
# Item sprites
|
||||
SPRITE_POTION = 33 # '!' - Potion
|
||||
SPRITE_SCROLL = 63 # '?' - Scroll
|
||||
SPRITE_GOLD = 36 # '$' - Gold/treasure
|
||||
SPRITE_WEAPON = 41 # ')' - Weapon
|
||||
SPRITE_ARMOR = 91 # '[' - Armor
|
||||
SPRITE_RING = 61 # '=' - Ring
|
||||
|
||||
# =============================================================================
|
||||
# FOV/VISIBILITY COLORS
|
||||
# =============================================================================
|
||||
# These colors are applied as overlays to grid tiles to create the fog of war
|
||||
# effect. The alpha channel determines how much of the original tile shows through.
|
||||
|
||||
# Fully visible - no overlay (alpha = 0 means completely transparent overlay)
|
||||
COLOR_VISIBLE = mcrfpy.Color(0, 0, 0, 0)
|
||||
|
||||
# Previously explored but not currently visible - dim blue-gray overlay
|
||||
# This creates the "memory" effect where you can see the map layout
|
||||
# but not current enemy positions
|
||||
COLOR_EXPLORED = mcrfpy.Color(50, 50, 80, 180)
|
||||
|
||||
# Never seen - completely black (alpha = 255 means fully opaque)
|
||||
COLOR_UNKNOWN = mcrfpy.Color(0, 0, 0, 255)
|
||||
|
||||
# =============================================================================
|
||||
# TILE COLORS
|
||||
# =============================================================================
|
||||
# Base colors for different tile types (applied to the tile's color property)
|
||||
|
||||
COLOR_FLOOR = mcrfpy.Color(50, 50, 50) # Dark gray floor
|
||||
COLOR_WALL = mcrfpy.Color(100, 100, 100) # Lighter gray walls
|
||||
COLOR_FLOOR_LIT = mcrfpy.Color(100, 90, 70) # Warm lit floor
|
||||
COLOR_WALL_LIT = mcrfpy.Color(130, 110, 80) # Warm lit walls
|
||||
|
||||
# =============================================================================
|
||||
# ENTITY COLORS
|
||||
# =============================================================================
|
||||
# Colors applied to entity sprites
|
||||
|
||||
COLOR_PLAYER = mcrfpy.Color(255, 255, 255) # White player
|
||||
COLOR_ORC = mcrfpy.Color(63, 127, 63) # Green orc
|
||||
COLOR_TROLL = mcrfpy.Color(0, 127, 0) # Darker green troll
|
||||
COLOR_GOBLIN = mcrfpy.Color(127, 127, 0) # Yellow-green goblin
|
||||
|
||||
# =============================================================================
|
||||
# GAME CONFIGURATION
|
||||
# =============================================================================
|
||||
|
||||
# Map dimensions (in tiles)
|
||||
MAP_WIDTH = 80
|
||||
MAP_HEIGHT = 45
|
||||
|
||||
# Room generation parameters
|
||||
ROOM_MIN_SIZE = 6 # Minimum room dimension
|
||||
ROOM_MAX_SIZE = 12 # Maximum room dimension
|
||||
MAX_ROOMS = 30 # Maximum number of rooms to generate
|
||||
|
||||
# FOV settings
|
||||
FOV_RADIUS = 8 # How far the player can see
|
||||
|
||||
# Display settings
|
||||
GRID_PIXEL_WIDTH = 1024 # Grid display width in pixels
|
||||
GRID_PIXEL_HEIGHT = 768 # Grid display height in pixels
|
||||
|
||||
# Sprite size (should match your tileset)
|
||||
SPRITE_WIDTH = 16
|
||||
SPRITE_HEIGHT = 16
|
||||
|
||||
# =============================================================================
|
||||
# ENEMY DEFINITIONS
|
||||
# =============================================================================
|
||||
# Dictionary of enemy types with their properties for easy spawning
|
||||
|
||||
ENEMY_TYPES = {
|
||||
"orc": {
|
||||
"sprite": SPRITE_ORC,
|
||||
"color": COLOR_ORC,
|
||||
"name": "Orc",
|
||||
"hp": 10,
|
||||
"power": 3,
|
||||
"defense": 0,
|
||||
},
|
||||
"troll": {
|
||||
"sprite": SPRITE_TROLL,
|
||||
"color": COLOR_TROLL,
|
||||
"name": "Troll",
|
||||
"hp": 16,
|
||||
"power": 4,
|
||||
"defense": 1,
|
||||
},
|
||||
"goblin": {
|
||||
"sprite": SPRITE_GOBLIN,
|
||||
"color": COLOR_GOBLIN,
|
||||
"name": "Goblin",
|
||||
"hp": 6,
|
||||
"power": 2,
|
||||
"defense": 0,
|
||||
},
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue