QuickBASIC programs

            

Here is an excerpt from the 1998 Rick Raddatz email
He lost me at "dim mTransportArray(1000) as TransportType"
"It's really quite easy" he wrote. Yes, quite easy for people who have twice as many brain cells as the average person.

As for algorithms, it's really quite easy.... here's the basic pseudocode:
 
 
Type TransportType
    QTYShips    as integer
    Sender        as integer
    Skill            as integer
    Destination  as integer
    DistanceToGo as single
end type
 
 
dim mTransportArray(1000) as TransportType
dim mNumTransports as integer
dim mStillPlayingFlag
dim mTurn
 
mNumTransports = 0
 
 
sub AddTransport (.....)
    mNumTransports = mNumTransports+1
    mTransports(mNumTransports).QTY = Qty
    mTransports(mNumTransports).Sender = Sender
    mTransports(mNumTransports).Skill = Skill
    mTransports(mNumTransports).Destination = Destination
    mTransports(mNumTransports).DistanceToGo = SQRT((X1-X2)^2 +(Y1-Y2)^2)
end sub
 
 
sub ProcessMoves (...)
 
    AskPlayersForMoves (...)
    RandomlyDoRevolts(..)
    RandomlyDoProductionIncreasesOrDecreases(..)
    dim i
    i=0
    do while i < mNumTransports
        mTransports(i).DistanceToGo = mTransports(i).DistanceToGo - 2   'Two light years closer per turn
        if mTransports(i).DistanceToGo < 0 then
            processArrival(...)
        end if
        i=i+1
    loop
 
   RemoveTransportFromArray(....)
end sub    
 
 
sub PlayGame()
 
    GetGamePreferences
    SelectGalaxy
    
    mStillPlayingFlag = true
    mTurn = 0
 
    do until mStillPlayingFlag = false or mTurn > mTurnLimit
        ProcessMoves
        mTurn = mTurn + 1
    loop
end sub