Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Technical Discussion (http://www.chiefdelphi.com/forums/forumdisplay.php?f=22)
-   -   Defense v Offense (http://www.chiefdelphi.com/forums/showthread.php?t=88493)

bobosalad 09-01-2011 01:29

Defense v Offense
 
i started looking at the design and am having disagreements with teammates about the strategy of going about this design. his idea is to go and build a defensive robot that has the mini robot as well with no lift. i disagreed and said we need the lift. what are your opinions of defense v offense? is there really a defense this year? can defense be played with an offensive robot?

theprgramerdude 09-01-2011 01:35

Re: Defense v Offense
 
I haven't done any calculations yet about the rate of point scoring and strategy (let the game sink in for the weekend), but the general rule of thumb is that defensive bots only work well if your teammates can score. You also have to take into consideration just how wide this field is, as one robot cannot stop 3 attackers that easily, only slow them down, if at all.

Koko Ed 09-01-2011 01:35

Re: Defense v Offense
 
Take the California FIRST philosophy with this game:
The best defense is a good offense.

BIGWILLI2081 09-01-2011 02:05

Re: Defense v Offense
 
I believe mini bots are going to be a HUGE part of this game. If your robot will be able to play defense effectively and have a great mini bot, then this isn't a bad idea. You'd need to be able to hold your ground. It is true defense is limited this year with the pinning rule and no entering scoring zones, but defense will still be key. You could also block people from coming out of their lanes when they go and get their tubes. However, you have to score to win the game. If you can have both an effective tube manipulator and mini bot, offense is most likely the best strategy.

bobosalad 09-01-2011 02:18

Re: Defense v Offense
 
would people agree that generally, if you build a good offensive robot, it could still be used purely for defense if the occasion arises?

artdutra04 09-01-2011 02:22

Re: Defense v Offense
 
As someone who played through Triple Play (2005) game, where massive penalties simply from a minor driving mistake could easily swing matches, you better be extremely careful going on a primarily defense-robot route this year. The 1x penalties from home zone and lane incursions, as well as the 10x penalty for pinning means your team really has to walk a fine line without racking up penalties for your alliance.

Molten 09-01-2011 02:51

Re: Defense v Offense
 
Though it isn't the popular opinion, defense wins matches. Yes, you have to score something in order to win...but you don't have to score alot. You just have to score more then your opponents. I've always wanted to be on a defense-planned team(usually end up on a defense-improvised team). I think a team that has a good traction, maneuverable, fast drive train with a good driver and good mini bot would be nearly unbeatable. Admittedly, this sounds like a tall order, but if you cut out the manipulator you can put all of your weight into drive/mini bot.

Anyone can do defense, but only some can do it well enough to win with it. If you go in planning on offense, your probably not going to win by falling back to defense(Buckeye 2007 was a semi-exception for 1766 since we did make it to pick our own alliance with an improvised defense robot). If you want to do defense right, plan on doing defense. Every pound you spend on a semi-working manipulator could be used elsewhere more effectively.

578robotsrock 09-01-2011 10:38

Re: Defense v Offense
 
IF you can play defense well, you'll do good. Last year we put all our focuse on having a bot with manily defense and a decent kicker to clear balls. We didn't win any compositions besides an off season one, but we played on Saturday afternoon and even when we were ranked near last because of allence pairings in qulification matches, we were pulled forward to play. We are still in planning now, but I would vote for a similar staigy of making a mainly defensive robot that has some sort of scoring capabilities, either mini-bot or a claw.

Ryan_Davis 09-01-2011 10:54

Re: Defense v Offense
 
Quote:

Originally Posted by 578robotsrock (Post 994296)
IF you can play defense well, you'll do good. Last year we put all our focuse on having a bot with manily defense and a decent kicker to clear balls. We didn't win any compositions besides an off season one, but we played on Saturday afternoon and even when we were ranked near last because of allence pairings in qulification matches, we were pulled forward to play. We are still in planning now, but I would vote for a similar staigy of making a mainly defensive robot that has some sort of scoring capabilities, either mini-bot or a claw.

Ah remember the regional :). You, Penfield, and ourselves. Yay malfunctions.

GGCO 09-01-2011 10:58

Re: Defense v Offense
 
Any robot with four wheels can be a defensive bot. It's that simple.

I think a minibot is a must have though, so personally if it came down to a sweet manipulator or a crazy fast minibot - I'd take the minibot hands down.

dodar 09-01-2011 11:08

Re: Defense v Offense
 
Quote:

Originally Posted by GGCO (Post 994307)
Any robot with four wheels can be a defensive bot. It's that simple.

I think a minibot is a must have though, so personally if it came down to a sweet manipulator or a crazy fast minibot - I'd take the minibot hands down.

Sorry Bomb Squad, you cant play defense. =] lol

1168Programmer 09-01-2011 11:32

Re: Defense v Offense
 
Partly, it can come down to your budget. If you have the money to make an awesome arm that works every time, then go for it, you'll be a valuable assert on every alliance.

It also depends on what type of wheels you're going to use. (Or maybe its the other way around.) Omni would make terrible defense but the manuverability would make amazing offense. KOP wheels could probably do either depending on how you build the bot.

BuzzMathias175 09-01-2011 11:32

Re: Defense v Offense
 
The only defensive tactic I could see is "traping" an opposing robot in their End zone preventing them from leaving it to get more tubes to score

1168Programmer 09-01-2011 13:34

Re: Defense v Offense
 
Quote:

Originally Posted by GGCO (Post 994307)
Any robot with four wheels can be a defensive bot. It's that simple.

Any robot with four wheels can be defensive, but not every robot with four wheels can be effectively defensive.

1168Programmer 09-01-2011 13:38

Re: Defense v Offense
 
Quote:

Originally Posted by BuzzMathias175 (Post 994340)
The only defensive tactic I could see is "traping" an opposing robot in their End zone preventing them from leaving it to get more tubes to score

Or even just getting in the way out in the middle of the field. (You know, that awkward you-go-this-way-no-that-way thing when you almost walk into someone.) A few seconds of distraction could cost the opponent alliance a completed top row logo, definitely worth it. At least, as long as you can't do anything else to help your alliance score crazy amounts of points.

Ian Curtis 09-01-2011 13:45

Re: Defense v Offense
 
I think this is the best defensive game we've seen in a long time. Better practice your driving, because the "open field tackle" will be a big play this year (I think).

Grim Tuesday 09-01-2011 13:49

Re: Defense v Offense
 
This is also the first year with viable stealing of pieces, we'll have to see how that works out.

Also coupled with defenders being in a good position to release a minibot, this will be interesting.

1168Programmer 09-01-2011 13:55

Re: Defense v Offense
 
Don't forget the giant penalty for pinning another robot. That would certainly come into play on defense.

BrendanB 09-01-2011 13:56

Re: Defense v Offense
 
I agree with Koko and the westcoast 100%. Defense is the best offense. However that doesn't mean that is all you should do. Give yourselves a fast robot with some traction wheels and you have yourself a defender. But I would recommend you at least have the capability to place on the bottom row.

Joon Park 09-01-2011 13:57

Re: Defense v Offense
 
Stealing pieces that are already on the rack seems like a difficult idea to pull of, and one that probably will not be worth the effort. And the pieces on the ground are fair game to both alliances, unless of course, they are in the scoring zones of the opposite alliance.

In terms of defense, If the robot is agile and maneuverable enough, I think it could be very effective in preventing other robots from getting in a good position to hang the game pieces. I remember last year there were a few teams that had an insanely fast robot, and they could literally defend both goals all by themselves. If a similar robot is build this year, it could probably defend the scoring area all by itself, even without entering the area (an getting a penalty).

davidthefat 09-01-2011 13:59

Re: Defense v Offense
 
Offense wins games but the defense wins championships. As you get higher in the rankings, the chances are you are going against high scoring teams as well. It comes down to who can score more and prevent the other team from scoring more than you.

1168Programmer 09-01-2011 14:03

Re: Defense v Offense
 
If you're going to be quick and speedy like Joon Park said, you're still going to need to be careful to avoid penalties. Your drivers will probably need to practice driving accurately from a distance and trying to see through the opposing alliance's scoring rack (with pieces on it possibly).

Hawiian Cadder 09-01-2011 14:04

Re: Defense v Offense
 
you might consider building a robot that is capable of grabbing a tube off the floor, but not scoring it, this way you can "herd" tubes to teamates who can score eficently so that they do not have to waste time making a trip across the field.

Nemisis 09-01-2011 14:06

Re: Defense v Offense
 
This game doesnt seem entirely difficult apart from building two robots but honestly it just depends on the team opinion. Scoring will earn points and defense is always good but simply being able to play the game well could possibly lead to getting drafted so i would definitely suggest to consider all options, both defensive and offensive.

Nemisis
Team 2389

1168Programmer 09-01-2011 14:09

Re: Defense v Offense
 
Quote:

Originally Posted by Hawiian Cadder (Post 994504)
you might consider building a robot that is capable of grabbing a tube off the floor, but not scoring it, this way you can "herd" tubes to teamates who can score eficently so that they do not have to waste time making a trip across the field.

Hmm, that makes sense. (Hypothetically) Would you then design your bot to have an adjustable arm to make it easier to hand off to the other robot...? hmm...

Not planning this, just curious.

bobosalad 09-01-2011 17:45

Re: Defense v Offense
 
what happens when you go to regionals? you find many robots that arent completed. wouldnt those be a better defense considering they cant do anything besides defense? also... (paraphrasing) "any robot with wheels can be defensive" i agree more and more as i think about it. if you are a robot putting up tubes and you have to cross the field to get another one, just getting in the other teams way. i am now thinking that an offensive robot with a strong drive train will win.

Nemisis 09-01-2011 17:57

Re: Defense v Offense
 
Thats very true. But also a good driver will be necessary in order to get around a defensive Bot...

Molten 09-01-2011 19:45

Re: Defense v Offense
 
There is alot more to defense other then just getting in the way. In 2007 we did well due to a form of defense most didn't consider. Our arm could go up, but not down. It couldn't score because of this issue. However, we could knock pieces out of many robots arms by adding a bit of weight to the end of our arm. It wasn't nearly enough to do any actual damage to a robot, but knocked innertubes out of the best of manipulators. By the time the team picked up another tube, we'd knock it out again before they could score. There are ways around this sort of defense, but it is definitely a surprisingly effective method. Also, every good defense team knows that it comes right down to it pinning isn't the only way to control a robot. Push the corners to keep them turned and out of control of their own bot. I've seen a driver keep 3 bots in a corner without pinning any of them with this simple maneuver.

If your thinking about doing defense, you should do it right. A kitbot doesn't make for a solid defense.

Grogen 10-01-2011 16:42

Re: Defense v Offense
 
If several teams decide to make a defense only bot, what if three defensive bots are allied together? Defensive bots I think are out of the question. If a team could make an all around bot that could play mostly offense and some defense, then it could be an independant bot.

Several ideas are out there up for options. Maybe an offense/ defense hybrid bot is the best design?????

SteveGPage 10-01-2011 16:52

Re: Defense v Offense
 
As you determine your defensive strategy, please keep in mind <G49> which makes it illegal to try and get a game piece from a robot that already posesses it.

Steve

JesseK 10-01-2011 16:55

Re: Defense v Offense
 
It's quite possible to add a little metal, some nuts/bolts, an electronic controller or two to the KOP in order to derive a mechanism that scores on the lowest row. Thus even the defensive robots can score something if their alliance partners cannot. That the defensive robot team doesn't have the foresight to do so shouldn't reflect negatively on other teams who choose whether or not to play defense or go offense.

Just thought I'd throw that out there.

Molten 10-01-2011 21:32

Re: Defense v Offense
 
Quote:

Originally Posted by Grogen (Post 995966)
If several teams decide to make a defense only bot, what if three defensive bots are allied together? Defensive bots I think are out of the question. If a team could make an all around bot that could play mostly offense and some defense, then it could be an independant bot.

Several ideas are out there up for options. Maybe an offense/ defense hybrid bot is the best design?????

Regionals aren't always about individual matches. I'm sure this will happen at some point, but never in eliminations. If you create a good enough defensive bot, it'll be sure to get picked if not get to do the picking. I'm also going to be blunt in saying that most of the poor defense bots I see out there usually start out as an "all around bot". If your going to do defense, do it right. If your going to do offense, go at it with your whole heart. But if you kind of sit in the middle, your usually going to fall short of anything spectacular. There are always a few exceptions, but I've rarely seen a powerhouse offensive team that also plays good defense.

Quote:

Originally Posted by SteveGPage (Post 995972)
As you determine your defensive strategy, please keep in mind <G49> which makes it illegal to try and get a game piece from a robot that already posesses it.

Steve

<G49> ROBOTS may not attempt to POSSESS a GAME PIECE that is being POSSESSED by another ROBOT.

I might be wrong, but this just means you can't steal it from them. I don't see where it says you can't knock it out of their manipulator as long as your intention is purely defense and not to take possession of the game piece.

XaulZan11 10-01-2011 21:52

Re: Defense v Offense
 
Quote:

Originally Posted by Molten (Post 996184)
I've rarely seen a powerhouse offensive team that also plays good defense.

Of course, if a team is an offensive powerhouse there isn't much reason for them not to play offense.

In my opinion, you rarely, if ever, set out and build a defensive robot (unless your team is incapable of building an offensive one). The best defensive robots typically are from teams build an offensive robot, but their scoring mechanism isn't up to par. The best defensive robots typically have great drivetrains and drivers, which is also a key for strong offensive robots. So, why not build an offensive robot with a good drivetrain and play defense as a backup?

Grim Tuesday 10-01-2011 22:14

Re: Defense v Offense
 
After our strategy meeting today, our team decided to make a defensive robot. We'll have to see how it pans out, but as I see it, we could score on the two lower racks, if forced to, but our main strategy is to block other robots from getting their game pieces, and stealing them from their human players throwing them in.

Another concept based on where on the field we are is to "punt" gamepieces to our alliance partners, who can in turn, score them without having to traverse the field.

Molten 10-01-2011 23:12

Re: Defense v Offense
 
Quote:

Originally Posted by XaulZan11 (Post 996222)
Of course, if a team is an offensive powerhouse there isn't much reason for them not to play offense.

In my opinion, you rarely, if ever, set out and build a defensive robot (unless your team is incapable of building an offensive one). The best defensive robots typically are from teams build an offensive robot, but their scoring mechanism isn't up to par. The best defensive robots typically have great drivetrains and drivers, which is also a key for strong offensive robots. So, why not build an offensive robot with a good drivetrain and play defense as a backup?

I recall team 48 had a pretty amazing defense robot a few years back. They had a powerful drive that could push just about any robot they wanted and a second gear for high speed maneuverability. It was clear they had no intentions of scoring as there wasn't the slightest hint of a manipulator on it. Truly great drive trains require alot of focus, and alot of weight. Anything put into a half-baked manipulator is taking away from your defensive capabilities. I agree that a great defensive robot+good manipulator=offensive powerhouse. I just don't agree that offensive powerhouse-good manipulator=great defensive robot. If a team were to have enough resources to fully devote themselves to both a manipulator and a drive and figure out the perfect balance of weight between them, it'd be amazing. I just don't see many teams that have that many students or mentors or time to do all that. Sometimes, it comes down to priorities and I just think people need to be clear to choose a priority rather then try for more then they can handle.

SteveGPage 10-01-2011 23:24

Re: Defense v Offense
 
Quote:

Originally Posted by Molten (Post 996184)

<G49> ROBOTS may not attempt to POSSESS a GAME PIECE that is being POSSESSED by another ROBOT.

I might be wrong, but this just means you can't steal it from them. I don't see where it says you can't knock it out of their manipulator as long as your intention is purely defense and not to take possession of the game piece.

I don't know either, probably should get some clarification on this question from the GDC!

XaulZan11 10-01-2011 23:31

Re: Defense v Offense
 
Quote:

Originally Posted by Molten (Post 996335)
I recall team 48 had a pretty amazing defense robot a few years back. They had a powerful drive that could push just about any robot they wanted and a second gear for high speed maneuverability. It was clear they had no intentions of scoring as there wasn't the slightest hint of a manipulator on it. Truly great drive trains require alot of focus, and alot of weight. Anything put into a half-baked manipulator is taking away from your defensive capabilities. I agree that a great defensive robot+good manipulator=offensive powerhouse. I just don't agree that offensive powerhouse-good manipulator=great defensive robot. If a team were to have enough resources to fully devote themselves to both a manipulator and a drive and figure out the perfect balance of weight between them, it'd be amazing. I just don't see many teams that have that many students or mentors or time to do all that. Sometimes, it comes down to priorities and I just think people need to be clear to choose a priority rather then try for more then they can handle.

I would agree that 48 was an awesome defender in 2007. Them and 703 that year were the two best defensive robots I've seen. I could be wrong, but I think that 48 planned to have a tube manipulator but didn't get it done due to weight. I do know that was the case for 703 (I think there is a picture of them on CD with the beginning of their tube manipulator). I also think that 2007 was a little different as teams could earn points being ramps without touching any tube.

My point is that you rarely see a team that just planned to be a box bot be an amazing defender as its usally a traditionally good team that stuggles with their manipulator. 171 at Wisconsin was a perfect example of this last year. Although they planned to be a scorer, their kicker and lifter weren't quite perfected so they were smart enough to adapt and play to their strength, which was defense. Their strong 6 wheel drive shut down Wildstang in the semifinals. They did drastically improve their scoring, but they won a regional because their smart drivers and strong drivetrain allowed them to play fantastic defense.

davidthefat 10-01-2011 23:44

Re: Defense v Offense
 
I had a great defensive strategy and design all made into a powerpoint. Apparently I couldn't present it because we will never go defensive. I mean I got shot down without even being asked the design or strategy. I honestly think it is genius but no one would listen. I emailed my mentor if I can even try convincing the team in 10 minute presentation. My argument for being a defender this year is that we were never really successful as an offensive robot ever in history. I still get the vibe that we are a rookie team. No one is ambitious enough (even though mentors think its too ambitious) No unique ideas ever come out of the discussions. The most unique ideas are the ones most criticized. Personally I get the vibe from everyone that I am annoying and talk too much. Hell thats a lot better than sitting there and not saying a word. I say if you have an idea let the world know and not complain later. One thing that is held against me all the time is that its all ideas, so I actually tried CAD this year. Its not good but hey its worth a try. I spend 6 hours working and developing my idea and no one listens with an open mind; I am sick and tired of that. Apparently I am pushing my "agenda" too aggressively.

Adding onto that, I am the lead programmer this year, and most the programming group is either my age or older. Now I do not think they respect me enough to just stop talking and listen to what I am demonstrating. You know honestly I can program the whole robot in whatever fashion I want, but for the sake of others, I chose to program in Java instead of C++ (I wanted to try inline Assembly) Now the programming mentors can't show up most of the time, so they trust me as a leader, so I am kind of like a mentor too. I feel that the software group never has a say in my team. Its like "programmers, can you do x and y for us?" We are the bottom apparently.

Now they do not trust me or my group to do a fully automated robot either. It was not my fault that the autonomous mode last year was pretty much programmed AT the competition. Everyone said don't worry about autonomy until a day before shipping... Now I was a rookie that year, they expected a functional autonomous mode with just an IR sensor. And at the matches they blamed me for running into the wall or missing the ball. Just great... So my mission of a fully autonomous robot is out the window (we can't even afford the sensors needed)


/rant

Honestly, I think that was why I played Madden all day in the pits last year...

Grim Tuesday 11-01-2011 00:02

Re: Defense v Offense
 
Quote:

Originally Posted by davidthefat (Post 996367)
I had a great defensive strategy and design all made into a powerpoint. Apparently I couldn't present it because we will never go defensive. I mean I got shot down without even being asked the design or strategy. I honestly think it is genius but no one would listen. I emailed my mentor if I can even try convincing the team in 10 minute presentation. My argument for being a defender this year is that we were never really successful as an offensive robot ever in history. I still get the vibe that we are a rookie team. No one is ambitious enough (even though mentors think its too ambitious) No unique ideas ever come out of the discussions. The most unique ideas are the ones most criticized. Personally I get the vibe from everyone that I am annoying and talk too much. Hell thats a lot better than sitting there and not saying a word. I say if you have an idea let the world know and not complain later. One thing that is held against me all the time is that its all ideas, so I actually tried CAD this year. Its not good but hey its worth a try. I spend 6 hours working and developing my idea and no one listens with an open mind; I am sick and tired of that. Apparently I am pushing my "agenda" too aggressively.

Adding onto that, I am the lead programmer this year, and most the programming group is either my age or older. Now I do not think they respect me enough to just stop talking and listen to what I am demonstrating. You know honestly I can program the whole robot in whatever fashion I want, but for the sake of others, I chose to program in Java instead of C++ (I wanted to try inline Assembly) Now the programming mentors can't show up most of the time, so they trust me as a leader, so I am kind of like a mentor too. I feel that the software group never has a say in my team. Its like "programmers, can you do x and y for us?" We are the bottom apparently.

Now they do not trust me or my group to do a fully automated robot either. It was not my fault that the autonomous mode last year was pretty much programmed AT the competition. Everyone said don't worry about autonomy until a day before shipping... Now I was a rookie that year, they expected a functional autonomous mode with just an IR sensor. And at the matches they blamed me for running into the wall or missing the ball. Just great... So my mission of a fully autonomous robot is out the window (we can't even afford the sensors needed)


/rant

Honestly, I think that was why I played Madden all day in the pits last year...


Im sorry to hear that your disappointed, but neither Chief Delphi, or this thread is place to hear your problems. Bring them to your teacher, or other mentors.

I have heard from our programmer that it is very possible for an autonomous scoring mechanism during tele-op.

However, what I think is really interesting is this defensive powerpoint. Since our team has decided on a defensive strategy, I dont suppose that you would be interested in sharing this powerpoint with CD? It could be quite eye opening for some teams.

davidthefat 11-01-2011 00:11

Re: Defense v Offense
 
Quote:

Originally Posted by Grim Tuesday (Post 996388)
Im sorry to hear that your disappointed, but neither Chief Delphi, or this thread is place to hear your problems. Bring them to your teacher, or other mentors.

I have heard from our programmer that it is very possible for an autonomous scoring mechanism during tele-op.

However, what I think is really interesting is this defensive powerpoint. Since our team has decided on a defensive strategy, I dont suppose that you would be interested in sharing this powerpoint with CD? It could be quite eye opening for some teams.

Problem is that I have to PRESENT it, cause the CAD is TERRIBLE you can't really comprehend it unless I point everything out and explain. I'll get the CAD person to make a good 3d CAD of it, I'll post it when that is done. But my strategy is also fully autonomous, being teleoperated would make it very clumsy.

Koko Ed 11-01-2011 00:13

Re: Defense v Offense
 
Quote:

Originally Posted by bobosalad (Post 994784)
what happens when you go to regionals? you find many robots that arent completed. wouldnt those be a better defense considering they cant do anything besides defense? also... (paraphrasing) "any robot with wheels can be defensive" i agree more and more as i think about it. if you are a robot putting up tubes and you have to cross the field to get another one, just getting in the other teams way. i am now thinking that an offensive robot with a strong drive train will win.

The thing I often notice with teams that fail to complete the robot oft times also fail to completely read the manual and thus understand the rules.
So while they have no choice to do anything else but play defense they'd best be careful where and how they play defense this year or else instead of preventing the opposing alliance from scoring points they end up costing their own alliance significant points.

M. Mellott 11-01-2011 15:02

Re: Defense v Offense
 
Quote:

Originally Posted by XaulZan11 (Post 996358)
I would agree that 48 was an awesome defender in 2007. Them and 703 that year were the two best defensive robots I've seen. I could be wrong, but I think that 48 planned to have a tube manipulator but didn't get it done due to weight. I do know that was the case for 703 (I think there is a picture of them on CD with the beginning of their tube manipulator). I also think that 2007 was a little different as teams could earn points being ramps without touching any tube.

My point is that you rarely see a team that just planned to be a box bot be an amazing defender as its usally a traditionally good team that stuggles with their manipulator. 171 at Wisconsin was a perfect example of this last year. Although they planned to be a scorer, their kicker and lifter weren't quite perfected so they were smart enough to adapt and play to their strength, which was defense. Their strong 6 wheel drive shut down Wildstang in the semifinals. They did drastically improve their scoring, but they won a regional because their smart drivers and strong drivetrain allowed them to play fantastic defense.


In 2007, Team 48 never intended to have an arm/manipulator, just a purely defensive robot with a very strong drivetrain and ramps to hold two robots. It was definitely one of my favorite years, so I'm looking forward to this season.

I agree with the idea of a strong drivetrain coupled with a decent hanger may be the way to go. I also think speed, whether used for offense or defense, is going to be important this year.


All times are GMT -5. The time now is 23:45.

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