コード例 #1
0
ファイル: Item.cs プロジェクト: tscheckie/SNICE
        public Item(int number)
        {
            NR        = number;
            NR_IN_DS  = number + 1;
            NAME      = "item" + NR_IN_DS;
            EFFECT_NR = number;
            isActive  = false;
            onscreen  = false;
            x         = -5;
            y         = -5;

            switch (number)
            {
            case 0:     // Turn
                duration = 200;
                break;

            case 1:     // Move up border
                duration = 90;
                break;

            case 2:     // Siren
                duration = 200;
                break;

            case 3:     // Eraser
                duration = 600;
                break;

            case 4:     // Flash
                duration = 200;
                break;
            }

            collectSound = new Sound("item" + NR + "_collect");

            // Get Class ID
            DsAPI.DsGetClassID("solidModelClass", out solidModelClassId);

            // Get Attribute Index
            DsAPI.DsGetClassAttrIndex(solidModelClassId, "position", out positionAttrIndex);

            // Get Class Attribut ID
            DsAPI.DsGetClassAttrEnumID(solidModelClassId, positionAttrIndex, out solidModelClassPositionId);

            // Get Object
            DsAPI.DsGetObjectID("item" + NR_IN_DS, out objId);
            positionValueSph.PositionMode = 2; // Set the position mode to spherical

            if (number == 1)                   // border item
            {
                DsAPI.DsGetObjectID("item" + NR_IN_DS + "_warning", out objIdWarning);
                DsAPI.DsGetObjectID("item" + NR_IN_DS + "_border", out objIdBorder);
            }
        }
コード例 #2
0
        // This method contains things that are set when a player is created ... meaning all CONSTANTS ...
        public Player(int number)
        {
            NR       = number;
            NR_IN_DS = number + 1;
            NAME     = "snake" + NR_IN_DS;

            switch (number)
            {
            case 0:
                RED   = 14;
                GREEN = 74;
                BLUE  = 100;
                break;

            case 1:
                RED   = 100;
                GREEN = 89;
                BLUE  = 0;
                break;

            case 2:
                RED   = 95;
                GREEN = 24;
                BLUE  = 25;
                break;

            case 3:
                RED   = 0;
                GREEN = 95;
                BLUE  = 2;
                break;

            case 4:
                RED   = 50;
                GREEN = 0;
                BLUE  = 100;
                break;

            case 5:
                RED   = 100;
                GREEN = 55;
                BLUE  = 7;
                break;

            case 6:
                RED   = 100;
                GREEN = 65;
                BLUE  = 75;
                break;

            case 7:
                RED   = 100;
                GREEN = 100;
                BLUE  = 79;
                break;
            }

            // Get Class ID
            DsAPI.DsGetClassID("emptyClass", out emptyClassId);

            // Get Attribute Index
            DsAPI.DsGetClassAttrIndex(emptyClassId, "position", out positionAttrIndex);

            // Get Object
            DsAPI.DsGetObjectID("snake" + NR_IN_DS, out objId);
            positionValue.PositionMode = 2; // Set the position mode to spherical
        }
コード例 #3
0
ファイル: Game.cs プロジェクト: tscheckie/SNICE
        // Initialization ------------------------------
        public void Init()
        {
            // Moving to the project folder
            while (currentFolder != "SNICE")
            {
                path          = Path.GetDirectoryName(path);
                currentFolder = Path.GetFileName(path);
            }
            // Add Backslash once we're in the right path
            path += "\\";


            Script = new DsScripts();
            Script.PlaySkript(Properties.Resources.SystemReset);
            DsAPI.DsSendStringCommand("eye int 0");
            Script.PlaySkript(Properties.Resources.InitBG);
            Script.PlaySkript(Properties.Resources.InitCounter);
            Script.PlaySkript(Properties.Resources.InitItemEffect);
            Script.PlaySkript(Properties.Resources.InitPoints);
            Script.PlaySkript(Properties.Resources.InitSelectPlayer);
            Script.PlaySkript(Properties.Resources.InitWinners);
            Script.PlaySkript(Properties.Resources.InitLabel);
            Script.PlaySkript(Properties.Resources.InitSound);
            Script.PlaySkript(Properties.Resources.InitSnakes);
            Script.PlaySkript(Properties.Resources.InitTrails);
            Script.PlaySkript(Properties.Resources.InitItem);
            Script.PlaySkript(Properties.Resources.InitMenu);

            Thread.Sleep(2200);


            // Sound Refs .....

            menuLoop        = new Sound("menuLoop");
            gameLoop        = new Sound("gameLoop");
            deathSound      = new Sound("death");
            menuSelectSound = new Sound("menuSelectSound");
            menuMoveSound   = new Sound("menuMoveSound");
            winSound        = new Sound("winSound");
            countdown       = new Sound("countdown");

            DsAPI.DsSendStringCommand("eye int 100 duration 2");
            menuLoop.loop();
            menuLoop.setVolume(70, 2);



            // Initialize Controllers

            numberOfControllers = 0;
            foreach (var deviceInstance in directInput.GetDevices(DeviceType.Gamepad,
                                                                  DeviceEnumerationFlags.AllDevices))
            {
                controllerGuids[numberOfControllers] = deviceInstance.InstanceGuid;                                     // Find a guid
                controllers[numberOfControllers]     = new Joystick(directInput, controllerGuids[numberOfControllers]); // Instantiate Joystick
                controllers[numberOfControllers].Acquire();                                                             // acquire joystick
                numberOfControllers++;
            }

            InitSections();

            for (int i = 0; i < MenuElements.Length; i++)
            {
                MenuElements[i] = new MenuElement(i);
            }

            for (int i = 0; i < items.Length; i++)
            {
                items[i] = new Item(i);
            }

            double startingElevation = 2.5;
            double startingAzimuth   = -174.38;

            for (int i = 0; i < itemYValues.Length; i++)
            {
                itemYValues[i]     = startingElevation;
                startingElevation += 5;
            }

            for (int i = 0; i < itemXValues.Length; i++)
            {
                itemXValues[i]   = startingAzimuth;
                startingAzimuth += 11.25;
            }


            // Set Position mode to sph
            positionValue.PositionMode = 2;
            // Get Ds Ids and stuff
            // SolidModelClass
            DsAPI.DsGetClassID("solidModelClass", out solidModelClassId);

            // Position
            DsAPI.DsGetClassAttrIndex(solidModelClassId, "position", out smcPosAttrIndex);
            // Scale
            DsAPI.DsGetClassAttrIndex(solidModelClassId, "scale", out smcScaleAttrIndex);
            // Intenstiy
            DsAPI.DsGetClassAttrIndex(solidModelClassId, "intensity", out smcIntAttrIndex);

            Thread.Sleep(1200);

            // Get Object IDs from DS
            DsAPI.DsGetObjectID("winners", out winnersObjId);
            DsAPI.DsGetObjectID("pointsTotal", out pointsTotalObjId);


            for (int i = 1; i <= numberOfControllers; i++)
            {
                DsAPI.DsGetObjectID("player" + i, out playerObjId[i - 1]);
                DsAPI.DsGetObjectID("snake" + i, out snakeObjId[i - 1]);
                DsAPI.DsGetObjectID("points" + i, out pointsObjId[i - 1]);
                DsAPI.DsGetObjectID("startlabel" + i, out startlabelObjId[i - 1]);
                DsAPI.DsGetObjectID("counter" + i, out counterObjId[i - 1]);
                DsAPI.DsGetObjectID("trail" + i, out trailObjId[i - 1]);
            }

            // Text2Class
            DsAPI.DsGetClassID("text2Class", out text2ClassId);
            // Attr
            DsAPI.DsGetClassAttrIndex(text2ClassId, "text", out t2cTextAttrIndex);
            DsAPI.DsGetClassAttrIndex(text2ClassId, "intensity", out t2cIntAttrIndex);
            DsAPI.DsGetClassAttrIndex(text2ClassId, "position", out t2cPosAttrIndex);
            DsAPI.DsGetClassAttrIndex(text2ClassId, "color", out t2cColAttrIndex);


            // Trail Class
            DsAPI.DsGetClassID("trailClass", out trailClassId);
            DsAPI.DsGetClassAttrIndex(trailClassId, "color", out trailColAttrIndex);
        }