[comp.sys.apple] Robot war tournament

anthes@geocub.UUCP (Franklin Anthes) (06/22/87)

Robot war Tournament

  There were about 10 people interested in holding a robot war tournament,
so the "great event" will take place. I'm posting the rules, in case 
anybody missed this the first time around.

-------------------------------------------------------------------------------

                      ROBOT WAR TOURNAMENT RULES
                      --------------------------


  All robots must be sent by the 10th of July in source code format. On the
15th of July, I will down load ( with KERMIT ) the robots who have arrived. 

  All participants must be willing to allow the distribution of the source
code to the other participants in the tournament.

  If there are any errors in the robots I receive, I can't guarantee that
they will be corrected, so  please be very careful if you are typing the
source code in manually ( more on this later ).

  All robots I receive will automatically be considered as participants in the
duel and  melee categories unless they are explicitly signed up for the doubles
tournament. The composition of the teams who are to participate in the doubles
tournament should be explicitly stated. If you want your doubles robots to
enter the duel and melee categories please say so.

  After each round of the tournament I'll send out the results to all the
participants. At the end of the tournament I'll send out the final results
and the source code for the robots to the participants.

-------------------------------------------------------------------------------

  The duel tournament
  -------------------

 The idea is to have a round robin tournament between a group of robots. In
each group there will be 6 robots, of which 3 will be qualified for the next
round of the tournament.

 The number of robots in the tournament will be a multiple of 6, I will add
robots I have in reserve to ensure this. The first round groups will be
made up by distributing the robots from each participant randomly into a
group where there isn't already a robot from the same participant (as long
as possible). The groups for the second round on will be made up of two
first-place finishers, two second place finishers, and two third place
finishers (from different groups as far as possible).

 Within a group each robot will play a match against the 5 other robots in the
group. A match will consist of 5 battles (10 from the semi-finals on). The
winner of a battle is awarded 2 points, the loser 0 points. If there is a tie
both robots are awarded 1 point. Among the 6 robots in the group the 3 who
have the most points will be qualified for the next round. If there is a tie,
between 2 or more robots, for 3rd place then a round robin will take place
among the tied robots to  determine which robots qualify for the next round.
(I don't think this will happen, but one never knows...). 

 The robots who are in the final group will be ranked according to their score
in the final. The others will be ranked by how far they get in the tournament
( first round, second round, quarter-finals, etc. )

-------------------------------------------------------------------------------

  The melee tournament
  --------------------

 The number of robots in the melee tournament will be a multiple of five. As
before I will add reserve robots to ensure this condition.

 The initial groups will be made up in the same manner as for the duel 
tournament. From the second round on the same 'seeding' principle will be used
as in the duel tournament.

 Among the five robots in a group, the top 3 are sure to be qualified for the
next  round of the tournament. Wild-cards will be given to the robots who
finished fourth with the best score, so that the number of robots qualified
for the next round will be a multiple of five. For example if 55 robots
participate (11 groups of five) then 33 will be automatically qualified for
the second round and 2 wild-cards will be given to the robots who finished
fourth with the best scores. So in the second round there would be 7 groups
left.

 Up until the semi-finals 10 battles will take place in each group.

 In the semi-finals only the top 2 robots in each semi-final are qualified for
the final. The robots with the 5th through 9th scores form a group which will 
battle it out for the last place left in the finals. The robot with the worst
score of the semi-finals is eliminated.

 From the semi-finals on 20 battles will take place in each group.
 ( maybe more if I have the time )

 The ranking will be done in the same manner as the duel tournament.

-------------------------------------------------------------------------------

  The doubles tournament
  ----------------------

 Doubles consists of 2 teams of 2 robots, the team which has the last
surviving robot wins the battle.

 In other respects the doubles tournament will be identical to the duel
tournament. The only exception being the length of each match, which will be
3 battles.

-------------------------------------------------------------------------------

  The 'all-around' ranking 
  ------------------------

 This ranking will take into account the results of the duel and melee 
tournaments. The robots will be ranked by the sum of their rankings in the
duel and melee tournaments. For example the robot who finished 3rd in duel and
8th in melee (3+8) would be ranked before the robot who finished 2nd in duel
and 10th in melee (2+10). Robots having lost in the semi-finals in the duel
tournament, will be considered as having finished 7th in that tournament.
Robots having lost in the quarter-finals will be considered as  having
finished 8th etc. The same principle goes for the melee except that
semi-finalists will be considered as having finished 6th, quarter-finalists
7th etc.

-------------------------------------------------------------------------------

   Recommendation:

  For those of you who are going to type in the robots by hand, I _strongly_
recommend that you type in this simple basic program, which will give you a
 checksum for each line of your program. Once you've typed in the program on
your host run the C (or other equivalent) program and compare the checksums.
If the checksums agree on all of the lines then you can be pretty sure that
no typos. slipped in.

 10  INPUT "ROBOTWAR FILENAME?";A$
 20 F$ = "S:" + A$
 30  FOR I = 768 TO 768 + 24
 40  READ A
 50  POKE I,A
 60  NEXT 
 70  DATA  169,16,133,61,169,0,168,133,60,169,0,145,60,200,208,251,230,61
	  ,169,48,197,61,208,241,96
 80  CALL 768: REM ROUTINE TO CLEAR MEMORY
 90  PRINT  CHR$ (4)"BLOAD ";F$;",A$1000"
 100 I = 4096:CS = 0:NL = 0:A =  PEEK (I):NC = 1
 105  PRINT "LINE         CHECKSUM"
 107  REM   CALCULATE SIMPLE CHECKSUM, IGNORING SPACES AND END OF LINE
 108  REM  CHARACTERS
 110  IF A = 0 THEN  GOTO 170
 120  IF A = 221 THEN  PRINT NL,CS:NL = NL + 1:CS = 0:NC = 1: GOTO 140
 130  IF A <  > 160 THEN CS = CS + (A - 128) * NC:NC = NC + 1
 140 I = I + 1
 150 A =  PEEK (I)
 160  GOTO 110
 170  PRINT NL,CS

-------------------------------------------------------------------------------

#include <stdio.h>

main()
{
  unsigned long cs,nl,nc;
  int c;
  
  cs=nl=0;
  nc=1;
  printf("line		checksum\n");
  while( (c=getchar()) != EOF )
   {
	switch(c)
	 {
	   case '\n': printf("%d		  %d\n",nl,cs);
		      nl++;
		      cs=0;
		      nc=1;
		      break;

	   case ' ':
	   case '\t': break;

	   default: cs+=(c&0x7f)*nc++;
		    break;
	  }
     }
  printf("%d		  %d\n",nl,cs);
}
Newsgroups: comp.sys.apple

-- 

	Frank Anthes-Harper  ( alias the Robotwar Phreak )
Usenet: ....!ucbvax!decvax!seismo!mcvax!inria!geocub!anthes
Mail  : Res.Formanoir
	T.9 Apt.1017
	33600 Pessac
	France

stevem@hpvcla.HP.COM (Steve Miller) (06/26/87)

A long time ago I bought Robot War when I had an Apple //.  I recently
upgraded to an Apple IIe and am now having trouble using Robot War.  I can't
exactly remember but I think the problem was with typing in the file name of
the robot you wanted to assemble or load and it would now print the characters
out in inverse video (Different then on the Apple II) and it would then never
recognize the filename.  It makes the program useless.  Has anyone else
experienced this, and have found the solution?  Does Muse still exist and
have a number I can call?
   -Steven Miller

langbein@topaz.rutgers.edu.UUCP (06/29/87)

Muse, unfortunately, has ceased to exist about 2 years ago. I am still
looking for 2 programs for the apple by them (Form letter Module & The
Adress Book). As for the problem, newer 2e's have a different inverse
video mode. Not much can be done. That's why I still have a Vintage
2+.

				John Langbein
				The Apple Man

lwv@n8emr.UUCP (Larry Virden) (07/01/87)

I am curious about the case where a company or companies go out of business.
I assume (perhaps naievely) - boy is my spelling bad! - that the rights to
the software revert to the author.  Anyone know if that is true?  If not, to
whom?  If so, anyone know the author of software like Robot Wars or Visidex
(which I feel is a very nice quick index db which needs updating to ProDos)...
I suppose that there are hundreds of other such software which would be GREAT
to get the source into the public domain or at least published...

-- 
Larry W. Virden	 75046,606 (CIS)
674 Falls Place, Reynoldsburg, OH 43068 (614) 864-8817
cbosgd!n8emr!lwv HAM/SWL BBS (HBBS) 614-457-4227.. 300/1200 bps

stevem@hpvcla.HP.COM (Steve Miller) (07/06/87)

I am writing a version of Robot War for the Mac.  The language will be
identical to the Apple ][ version but I am open to any ideas to enhancements.
One area that I will be improving will be the speed of execution of
instructions.  One problem I always encountered is that the number of
instructions per second executed on the Apple ][ was so low that it limited
the variety of algorithms and strategies that could be effectively used.
In other words, robots had to be more like Rambo, mostly shooting but very
little thinking (just simple cleaver strategies).

I have completed the editor (multi-window, multi-file), compiler (200 lines
per second!), file system, and CPU interpreter so far.  Now comes the hard
part, the battlefield simulator and graphics.

Steven Miller