Go to Post However, as a philosopher, while you need math, you can probably talk your way out of it. - sciguy125 [more]
Home
Go Back   Chief Delphi > Other > FIRST-related Organizations
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
 
 
Thread Tools Rate Thread Display Modes
Prev Previous Post   Next Post Next
  #8   Spotlight this post!  
Unread 18-06-2004, 15:15
Astronouth7303's Avatar
Astronouth7303 Astronouth7303 is offline
Why did I come back?
AKA: Jamie Bliss
FRC #4967 (That ONE Team)
Team Role: Mentor
 
Join Date: Jan 2004
Rookie Year: 2004
Location: Grand Rapids, MI
Posts: 2,071
Astronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud ofAstronouth7303 has much to be proud of
Re: FIRST Video Game: Cementing auxillary file formats

DEFINITION: Item - The actual CAD of something, for lack of a better name.
  • The only required item in the root of the zip is Info.Ini
  • Each directory in the ZIP has its own section.
  • Every atempt should be made to make sure it is UNIQUE. It is also its ID.
    Code:
    [DirName]
    Type= Game, Field, or Robot
    DisplayName= What is shown to the user
    Game= The ID of the game it is for (not for games)
    Year= The year of the item (optional)
    Description= An extended description of the item
    ThingID= The file name for an item (the ID being the entry), several of these. This may also be in code.
  • A zip may contain multiple items
  • Games should include a default Field and robot.
  • Suggested Robot ID: year.team.name (year of game, team number, name of bot)

    Suggested DLL interfaces (in psuedo C++):
    Code:
    #define RETURN_ERR bool
    //used for subs that return error info
    #define BOT_SCORES unsigned long[]
    the scores for a match
    #define CAD i3DSMaxObject
    //example, going to change
    
    /////////////////////////////////////////////////////////////////////////////////////////////
    
    iField Interface:
     RETURN_ERR SetFieldItem(long ID, i3DSMaxObject* Field); //Sets a reference to an actual item
     RETURN_ERR DoThing(long ID);                            //Year specific action
    
    /////////////////////////////////////////////////////////////////////////////////////////////
    
    iRobot Interface:
     RETURN_ERR SetRobot(i3DSMaxObject* Robot);  //Sets a reference to the actual robot
     long GetTeamNumber();                       //Gets the team number
     RETURN_ERR Update(lnog TimeStamp);          //tells it to update it's position
                                                 //called after OI info is set
     RETURN_ERR BeginPrematch();                 //Begins the disabled mode before the match
     RETURN_ERR BeginMatch();                    //Begins the actual match
     RETURN_ERR EndMatch();                      //Ends the match
     bool CanAI();                               //Can this bot do AIs?
     long GetYear();                             //What year is it for?
    
     Properties:
      Operator_IO OI_Info(); //The structure with all the info sent to/from the OI
      ULONG Alliance();      //The current alliance, Actually an RGB color
      bool AI();             //Is it acting as an AI? Always returns False if CanAI is false
    
    /////////////////////////////////////////////////////////////////////////////////////////////
    
    iGame Interface:
     long GetNumBots();                         //The total number of bots required
     long GetNumAlliances();                    //The number of alliances required
     RETURN_ERR SetBot(long ID, iRobot* Robot); //Sets the reference to a iRobot
     RETURN_ERR BeginPrematch();                //Begin prematch
     RETURN_ERR BeginMatch();                   //Begin Match
     RETURN_ERR HaltMatch();                    //Field error, prematurely stops match
     RETURN_ERR SetField(iField* Field);        //Sets the reference to the iField
    
     Properties:
      BOT_SCORES CurrentScores(); //The current scores
    
     Events:
      void MatchFinish(UINT Winner, BOT_SCORES Scores); //Raised when the match finishes normally
  • A DLL must present the apropriate interface
  • The objects are not responsible for loading an item, it is loaded by the program and the reference set.
  • An object may do whatever it wants, but emphasis is on speed. Multi-threading is encouraged.

Last edited by Astronouth7303 : 18-06-2004 at 15:23. Reason: needed revision, changes in bold.
Reply With Quote
 


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
[Official 2005 Game Design] OK, so YOU design the 2005 game... dlavery FRC Game Design 37 26-10-2004 23:15
FIRST Video Game: Hammering out details Astronouth7303 FIRST-related Organizations 72 22-06-2004 22:48
FIRST Video Game Mike Ciance Chit-Chat 40 14-06-2004 16:28
heres the code. y this not working omega Programming 16 31-03-2004 15:18
File Sharing and Revision Tracking Madison FIRST-related Organizations 14 04-06-2003 18:01


All times are GMT -5. The time now is 19:02.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi