16
niversity of Limerick Computer Applications CS 4815 Robocode

University of Limerick1 Computer Applications CS 4815 Robocode

Embed Size (px)

Citation preview

Page 1: University of Limerick1 Computer Applications CS 4815 Robocode

University of Limerick 1

Computer Applications

CS 4815Robocode

Page 2: University of Limerick1 Computer Applications CS 4815 Robocode

University of Limerick 2

Module Objectives This module will enable students to

– Define what is meant by a framework– Define what is meant by an API– Define what is meant by event driven

programming and callbacks– List several examples of events for a given

system– Give examples of how the use of a particular

framework implementation » and how it helps to achieve desired qualities

– Lots and lots of programming experience

Page 3: University of Limerick1 Computer Applications CS 4815 Robocode

University of Limerick 3

Contact Details Chris Exton Department Computer Science and

Information Systems Room: CSIS Building, Room 126 Email: [email protected] http://www.csis.ul.ie/staff/chrisexton/default.htm

Page 4: University of Limerick1 Computer Applications CS 4815 Robocode

University of Limerick 4

Flexibility Questions and discussion as we go Slides, Exercises, Links etc available on the

webhttp://www.csis.ul.ie/staff/chrisexton/CS4011/index.html

Page 5: University of Limerick1 Computer Applications CS 4815 Robocode

University of Limerick 5

Assessment

Multiple choice exam 30% (week 7) Competition 10% (week 9)

– Cup» 10 winning team (teams of 3)» 8 second third fourth» 6 next level» 4 next level» 2 for being a participant

Bonus 2 mark for cup officials 4– (must be from different teams)

Assignment 25% (week 10)– Marks will be given individually

Final exam 35%

Page 6: University of Limerick1 Computer Applications CS 4815 Robocode

University of Limerick 6

Time Management

You are expected to invest a significant amount of time outside the scheduled class hours in order to obtain good grades in this module

Proper time management is extremely crucial

Page 7: University of Limerick1 Computer Applications CS 4815 Robocode

University of Limerick 7

Assignment Interviews and Feedback

The program you have written will be subject to face-to-face interview

The main purpose of the interview is two fold– to assess your comprehension of the work

you have submitted and related course content

– to provide an opportunity for you to receive timely face-to-face feedback on your work and progress during the semester

Page 8: University of Limerick1 Computer Applications CS 4815 Robocode

University of Limerick 8

Assignment Interviews and Feedback

Your assignment grade will be determined by correctness, coding style, appropriate use of language constructs and your understanding of the code and ability to explain it in an interview

Your assignment will only be marked if you have attended the interview

It is your responsibility to make an interview appointment

Page 9: University of Limerick1 Computer Applications CS 4815 Robocode

University of Limerick 9

Assessment The ability to

understand the fundamental principles of programming is an essential foundation to many future modules

30% D2

35% D1

40% C3

48% C2

52% C1

56% B3

60% B2

64% B1

72% A2

80% A1

Page 10: University of Limerick1 Computer Applications CS 4815 Robocode

University of Limerick 10

Robocode Robocode is a fun, easy to use battle simulator Originally Robocode was developed by IBM

(2001) But is now opensource

– http://robocode.sourceforge.net/ In short you create a robot using Java, put it

onto a battlefield and let it battle against opponent robots created by others

Each Robocode participant creates his or her own robot using elements of the Java language, enabling a range of developers, from beginners to advanced to participate

Page 11: University of Limerick1 Computer Applications CS 4815 Robocode

University of Limerick 11

What is a Robot ?

Can consists of one or more Java classes Can be archived into a JAR package Packager available from the Battlefield GUI Robots can range from simplistic to extremely

complex They can work in teams

– For example Droid have no scanner, but an extra 20 life

– Droid robots can act as decoys, battering rams but need to communicate to others for information on battle field

Page 12: University of Limerick1 Computer Applications CS 4815 Robocode

University of Limerick 12

Battle field This houses the main simulation engine It allows you to create, save and open new or

existing battles You can terminate, pause or resume a battle Lets you obtain statistics on any robot using

controls available in main arena activate the IDE (Interactive Development

Environment)

Page 13: University of Limerick1 Computer Applications CS 4815 Robocode

University of Limerick 13

Assignment Summary Create your own robot

– I requires you over the next few weeks to develop and submit your Robocode robot as a team

– Give it some form of intelligence» Lots of hints and tips on the web

– Assessment will be carried out in the lab» So make sure you attend

– You are not allowed to use the advanced robot features for you assignment

Page 14: University of Limerick1 Computer Applications CS 4815 Robocode

University of Limerick 14

Other possabilities I am intending winner(s) to go on to national

competition to represent UL– http://www.robocode.ie– There will also be a bus willing supporters

Page 15: University of Limerick1 Computer Applications CS 4815 Robocode

University of Limerick 15

The IDE …

The Robocode editor is a customised text editor for Java source files that make up a robot.

It is integrated with the Java compiler It contains a customised Robot packager You may of course use any other editor

Page 16: University of Limerick1 Computer Applications CS 4815 Robocode

University of Limerick 16

The robot A robot has a gun that rotates A radar on top that also rotates robot, gun and radar may rotate independently The default is all aligned This is all documented in the Javadoc of the

Robocode API– An application programming interface (API) is a

set of definitions of the ways one piece of computer software communicates with another.

– In Robocodes case it lets you know how what methods/functions you are required to call to make your robot move, shoot, turn etc