Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - G.K.

Pages: 1 ... 627 628 629 630 631 632 633 [634] 635 636 637 638 639 640 641 ... 663
12661
Custom Components Showcase / Re: Pay Tribute With Replicas
« on: January 07, 2010, 03:00:44 PM »
Dreadnaut form Robot Wars.

12662
Custom Components Showcase / Re: Pay Tribute With Replicas
« on: January 07, 2010, 02:11:51 PM »
That could be hard.

12663
DSL TC Showcases / Re: Thyrus` Showcase
« on: January 07, 2010, 01:04:20 PM »
I like the skin.

12664
Tournament Archives / Re: Wild Robots: Live 2 Discussion and Sign-Ups?
« on: January 07, 2010, 10:09:40 AM »
Entry sent once it is uploaded. Also very sorry to hear about your grandad's passing.

12665
Custom Components Showcase / Re: Pay Tribute With Replicas
« on: January 07, 2010, 06:22:50 AM »
That makes two of them then.

12666
Tournament Archives / Re: Wheely Tag Tourment - Sign up's
« on: January 07, 2010, 06:20:11 AM »
I've got it working well, with FBSPlus. If you want to send in your own specific bindings it's fine by me.

12667
Tournament Archives / Re: Wheely Tag Tourment - Sign up's
« on: January 07, 2010, 04:37:24 AM »
No problem with that.

12668
Stock Showcases / Re: G.K.'s Showcase
« on: January 07, 2010, 02:54:12 AM »
Thanks Duck.

12669
Stock Showcases / Re: Tritons stock showcase
« on: January 07, 2010, 02:53:28 AM »

Yes, inspired off of GK's Rigadoon Revamped.

I inspired someone!

12670
Stock Showcases / Re: Battleshots
« on: January 07, 2010, 02:52:11 AM »
Took about two minutes.

12671
Tutorials and Tips / Re: AI-ing (.py files, coding, R+D, and help)
« on: January 07, 2010, 02:49:34 AM »
Why?

12672
Tournament Archives / Re: Clash Cubes 3 - SignUp
« on: January 07, 2010, 02:48:05 AM »
Yay, R0B0's entering!

12673
Discussion / Re: Epic Lol moment...
« on: January 06, 2010, 04:56:56 PM »
He does have DSL, he's the guy running Wheely Tag.

12674
Stock Showcases / Re: G.K.'s Showcase
« on: January 06, 2010, 04:42:11 PM »
Thanks. Remade the splash:


12675
Stock Showcases / Re: Battleshots
« on: January 06, 2010, 04:13:00 PM »
My HS vs T-800 vs AC vs MIDF = A lot of maces on the floor.


12676
Contests / Re: BOTM Feb 2010
« on: January 06, 2010, 03:51:24 PM »
Hmmm....

12677
DSL TC Showcases / Re: S.T.C's DSL Bots
« on: January 06, 2010, 01:03:31 PM »
You could probably shrink the chassis width-ways until the npc's almost touch. Hypno wheels have better grip than grannies for the same weight.

12678
Tutorials and Tips / Re: AI-ing (.py files, coding, R+D, and help)
« on: January 06, 2010, 12:48:09 PM »
I've just written Tractor.py, a Plow variant based of Spinner.py

Code: [Select]
import plus
import AI
from AI import vector3
import Arenas
import Gooey
import math
import Tactics

class Tractor(AI.SuperAI):
    "Spins in plow style"
    # - Works just like Spinner.py but with plow incoroporated into it.
    # - Correct weapon ID numbers will help.
    # - No extra stuff needed in the bindings.
    name = "Tractor"

    def __init__(self, **args):
        AI.SuperAI.__init__(self, **args)
       
        self.spin_range = 3.0
       
        if 'range' in args:
            self.spin_range = args.get('range')

        self.tactics.append(Tactics.Engage(self))

    def Activate(self, active):
        if active:
            if AI.SuperAI.debugging:
                self.debug = Gooey.Plain("watch", 0, 75, 100, 75)
                tbox = self.debug.addText("line0", 0, 0, 100, 15)
                tbox.setText("Throttle")
                tbox = self.debug.addText("line1", 0, 15, 100, 15)
                tbox.setText("Turning")
                tbox = self.debug.addText("line2", 0, 30, 100, 15)
                tbox.setText("")
                tbox = self.debug.addText("line3", 0, 45, 100, 15)
                tbox.setText("")
           
        return AI.SuperAI.Activate(self, active)

    def Tick(self):
        if self.weapons:
            # spin up depending on enemy's range
            enemy, range = self.GetNearestEnemy()
           
            if enemy is not None and range < self.spin_range:
                self.Input("Spin", 0, 1)
            elif self.GetInputStatus("Spin", 0) != 0:
                self.Input("Spin", 0, 0)
           
        return AI.SuperAI.Tick(self)

    def RobotInRange(self, robot_id):
        "Return tuple of (part-of-robot-in-range, chassis-in-range)"
        # GetLastDamage returns:  component damaged, amount, at time, by player, by component
        range = self.GetDistanceToID(robot_id)
        if range < self.spin_range:
            damage = self.GetLastDamageReceived()
            if damage[3] == robot_id and (plus.getTimeElapsed() - damage[2] < 1.0):
                return (True, True)
               
        return (False, False)
       
    def LostComponent(self, id):
        #print "Lost Component!"
        return AI.SuperAI.LostComponent(self, id)

    def LostComponent(self, id):
        # if we lose all our weapons, stop using the Engage tactic and switch to Shove
        if id in self.weapons: self.weapons.remove(id)
       
        if not self.weapons:
            tactic = [x for x in self.tactics if x.name == "Engage"]
            if len(tactic) > 0:
                self.tactics.remove(tactic[0])
               
                self.tactics.append(Tactics.Shove(self))
                self.tactics.append(Tactics.Charge(self))
           
        return AI.SuperAI.LostComponent(self, id)

    def DebugString(self, id, string):
        if self.debug:
            if id == 0: self.debug.get("line0").setText(string)
            elif id == 1: self.debug.get("line1").setText(string)
            elif id == 2: self.debug.get("line2").setText(string)
            elif id == 3: self.debug.get("line3").setText(string)
           
    def Disable(self,btarget):
        # Disables opponent by charging it at an angle
        # we use a different angle (depending on the size of the opponent!)
        # if target is equal in size, the plow weapon charges are more direct

        if btarget > self: self.Turn(79)
        else: self.Turn(-79)
        if btarget < self: self.Turn(35)
        else: self.Turn(-35)
        if btarget == self: self.Turn(90)
        else: self.Turn(-90)
        if self.target: self.Turn(360)
       
        return AI.SuperAI.Disable(self, btarget)
   
AI.register(Tractor)

Tested on one of my spinners and one of S_M's, and seems to work fine.

Download Link

Any bugs/opinions appreciated.

12679
Stock Showcases / Re: G.K.'s Showcase
« on: January 06, 2010, 12:17:45 PM »
Ah.

Like this then?


Still beats the Sawmill.

12680
Stock Showcases / Re: G.K.'s Showcase
« on: January 06, 2010, 11:58:09 AM »
Like this?


Still beats the Sawmill.

Pages: 1 ... 627 628 629 630 631 632 633 [634] 635 636 637 638 639 640 641 ... 663