Home  -  Game Description  -  How to Play  -  Units  -  Screen Shots  -  Gallery  -  Downloads  -  Tech Info
Main Mind Blur GAME STRUCTURES:


The board is a 11x11 matrix of BlockType Objects

Type BlockType
  Field iXPos   
;x position on board
  Field iYPos   ;y position on board
  Field Unit.UnitType   ;the unit that can stand on each block
  Field UnitHighlightingTheBlock.UnitType
  Field Model   
;the block model
  Field modelState$   ;NORMAL,SELECTED,HOVER,MOVE,ATTACK,TEAM
  Field walkPath.WalkPathType
End Type

The walkPath is a doubly-linked list that is used to move the UnitHighlightingTheBlock to this block.


Each block can have a UnitType object standing on it

Type UnitType
  Field sUnitName$
  Field iMyCurrentLife   
; This will change when the unit is attacked/healed
  Field iTimer
  Field iMaxTimer
  Field iMyCurrentRecoveryTime   
; This is how many turns the unit needs to wait untill becoming active
  Field iBoardPosition.xyPositionType   ; This will keep track of the units x,y position on the board
  Field sDirection$   ; This is the direction the unit is facing (String) Directions: 'N','S','W','E'
  Field myAnimations.AnimationFilesType
  Field barrierWard.BarrierType
  Field caster.UnitType
  Field target.UnitType
  Field myWait
  Field myStatistics.StatType   
; this element keeps track of all of the const statistics of this unit
  Field myAnimHelp.AnimationHelperType   ; this element keeps track of all of the differences in unit animations
  Field mySounds.SoundType  ; this element keeps track of all of the sounds emited by the unit
  Field iTeam
End Type


All of the particles in the game such as the fire used at least 2 objects. One represented a release area and the other would be the one released and can actually be seen by the user.

Here are the structures needed to create the fire effects:

Type FireType   ;The area where the fire will come from
  Field x#
  Field y#
  Field z#
  Field wait
  Field currentWait
  Field light
End Type

Type FlameType   
;The actuall flame that the user can see
  Field sprite
  Field pivot
  Field x#,y#,z#
  Field maxLife
  Field currentLife
  Field scaleX#
  Field scaleY#
End Type

Type SmokeType   
;This is the smoke object that can also be seen by the user
  Field sprite
  Field pivot
  Field maxLife
  Field currentLife
  Field scaleX#
  Field scaleY#
End Type



A update function was called to take care of any dinamic animations and effects. Here is the main update function that calls many individual functions:

Function UpdateAnimationWorld()
  updateBlood()
  updateDeadUnits()
  updateFires()
  updateFlames()
  updateSmoke()
  updateHealArea()
  updateHealParticle()
  updateFireArea()
  updateInfoText()
  updateAirAttackArea()
  updateAirAttackParticle()
  updateLightningParticle()
  updateIce()
End Function