'===========================================================================
' Subject: Hun Attack Game                    Date: 03-16-03 (  :  )       
'  Author: Tony Jones                         Code: XPBASIC                
'  Origin: xpbbasic@xpbbasic.com            Packet: XPBASIC.ABC
'===========================================================================
' Converted to XPB! Basic by Tony Jones
' http://www.xpbbasic.com

CONSOLE

	DIM A1%
	DIM A%
	DIM B%
	DIM B$
	DIM N%
	DIM N$
	DIM S%
	DIM W%
	DIM E%
	DIM F%
	DIM E1%
	DIM F1%
	DIM M1%
	DIM N1%
	DIM S1%
	DIM W1%
	DIM Temp%

PROGRAM

	CLS
	LOCATE 5,30
	PRINT "HUN ATTACK"
	PRINT ""
	LOCATE 6,20
	PRINT "THE UNREAL MEDIEVAL WAR GAME"
	LOCATE 7,20
	PRINT "----------------------------"
	PRINT ""
	PRINT "YOU ARE THE KING OF A CASTLE WHICH IS UNDER ATTACK BY"
	PRINT "THE INFAMOUS HUN."
	PRINT "AS THE KING YOU MUST DIRECT YOUR 1000 MEN TO DEFEND THE"
	PRINT "FOUR SIDES OF THE CASTLE. ALSO YOU MUST HAVE SOME MEN"
	PRINT "ON FIRE WATCH, TO PUT OUT FLAMING ARROWS. LET THE BATTLE"
	PRINT "BEGIN, I WILL SHOW NO MERCY."
	RANDOMIZE
	A1%=1000
	A%=1000
	PRINT ""
	PRINT "" 
	B%=1
Line140:	
	PRINT "BATTLE NUMBER ";
	B$ = STR$(B%)
	PRINT B$
	INC B%
Line150:	
	INPUT "HOW MANY MEN WILL DEFEND THE NORTH WALL? ",N$
	N% = VAL(N$)
	IF N% > A% 
		GOTO Line1460 
	ENDIF		
	IF A% < 10
		GOTO Line200 
	ENDIF		
	Temp% = A% / 15
	IF Temp% > N%
		GOTO Line1430 
	ENDIF		
Line200:	
	PRINT "SOUTH WALL(";
	Temp% = A% - N%
	PRINT Temp%
	INPUT " LEFT) ",N$
	S% = VAL(N$)
	Temp% = S% + N%
	IF Temp% > A%
		GOTO Line1460
	ENDIF		
	IF A% < 10
		GOTO Line250
	ENDIF
	Temp% = A% / 15
	IF Temp% > S%
		GOTO Line1430
	ENDIF
Line250:	
	PRINT "EAST WALL(";
	Temp% = A% - (N% + S%)
	PRINT Temp%
	INPUT "LEFT) ",N$
	E% = VAL(N$)
	Temp% = E% + S% + N%
	IF Temp% > A%
		GOTO Line1460
	ENDIF		
	IF A% < 10
		GOTO Line300 
	ENDIF
	Temp% = A% / 15
	IF Temp% > E%
		GOTO Line1430 
	ENDIF
Line300:
	PRINT "WEST WALL(";
	Temp% = A% - (N% + S% + E%)
	PRINT Temp%
	INPUT " LEFT) ",N$
	W% = VAL(N$)
	Temp% = S%+N%+E%+W%
	IF Temp% > A%
		GOTO Line1460 
	ENDIF
	IF A% < 10
		GOTO Line350 
	ENDIF		
	Temp% = A% / 15
	IF Temp% > W%
		GOTO Line1430
	ENDIF			
Line350:
	PRINT "HOW MANY MEN ON FIRE WATCH(";
	Temp% = A% - (N%+S%+E%+W%)
	PRINT Temp%
	INPUT " LEFT) ",N$
	F% = VAL(N$)
	Temp% = E%+S%+W%+N%+F%
	IF Temp% > A%
		GOTO Line1460 
	ENDIF
	Temp% = A%-(E%+W%+N%+S%+F%)
	IF Temp% = 0
		GOTO Line430 
	ENDIF
	PRINT ""
	PRINT ""
	PRINT "KING ,YOU JUST THREW ";
	Temp% = A% - (E%+S%+W%+N%+F%)
	PRINT Temp%
	PRINT " MEN OVER THE WALL."
	A%=A%-(A%-(E%+W%+N%+S%+F%))
Line430:
	PRINT ""
	PRINT "RAISE THE DRAWBRIDGE THE HUN IS APPROACHING."
	PRINT "WATCH OUT FOR FLAMING ARROWS, SWISH.."
	PRINT ""
	PRINT ""
	F1%=A1%/15
	F1%=RND(F1%)
	Temp% = F% * 2
	IF F1% > Temp%
		GOTO Line510 
	ENDIF		
	GOTO Line520 
Line510:
	PRINT "KING, YOUR CASTLE IS BURNING!!!"
	GOTO Line1410 
Line520:
	M1%=A1%-F1%
Line530:	
	N1%=M1%/2
	N1%=RND(N1%)
	IF A1% < 10
		GOTO Line560 
	ENDIF
	Temp% = A1%/15
	IF Temp% > N1%
		GOTO Line530 
	ENDIF		
Line560:
	S1%=M1% / 2
	S1%=RND(S1%)
	IF A1% < 10
		GOTO Line590 
	ENDIF
	Temp% = A1% / 15
	IF Temp% > S1%
		GOTO Line560
	ENDIF				
Line590:
	E1%=M1% / 2
	E1%=RND(E1%)
	IF A1% < 10
		GOTO Line620 
	ENDIF
	Temp% = A1% / 15		
	IF Temp% > E1%
		GOTO Line590 
	ENDIF		
Line620:
	W1%=A1%-(N1%+S1%+E1%+F1%)
	IF A1% < 10
		GOTO Line650 
	ENDIF		
	Temp% = A1% / 15
	IF Temp% > W1%
		GOTO Line530 
	ENDIF		
Line650:
	Temp% = 2 * N%
	IF N1% > Temp%
		GOTO Line670 
	ENDIF		
	GOTO Line690 
Line670:	
	PRINT "KING, YOU LOST ALL ";
	PRINT N%
	PRINT " MEN ON THE NORTH WALL."
	A%=A%-N%
	GOTO Line810 
Line690:
	Temp% = 2 * N1%
	IF N% > Temp%
		GOTO Line710 	
	ENDIF	
	GOTO Line740		
Line710:
	PRINT "KING, YOU KILLED ALL ";
	PRINT N1%
	PRINT " MEN ON THE NORTH WALL."
	A1%=A1%-N1%
	GOTO Line810 	
Line740:
	IF N1% > N%
		GOTO Line770 
	ENDIF		
	IF N% > N1%
		GOTO Line790 
	ENDIF		
	PRINT "DRAW AT THE NORTH WALL."
	GOTO Line810 
Line770:
	PRINT "KING, YOU LOST ";
	Temp% = N1%-N%
	PRINT Temp%
	PRINT " MEN AT THE NORTH WALL."
	A%=A%-(N1%-N%)
	GOTO Line810 
Line790:
	PRINT "KING, YOU KILLED ";
	Temp% = N%-N1%
	PRINT Temp%
	PRINT " MEN AT THE NORTH WALL."
	A1%=A1%-(N%-N1%)
Line810:
	Temp% = 2*S%
	IF S1% > Temp%
		GOTO Line830 
	ENDIF		
	GOTO Line850
Line830:
	PRINT "KING, YOU LOST ALL ";
	PRINT S%
	PRINT " MEN ON THE SOUTH WALL."
	A%=A%-S%
	GOTO Line970 
	Temp% = 2*S1%
Line850:	
	IF S% > Temp%
		GOTO Line870 
	ENDIF		
	GOTO Line900 
Line870:
	PRINT "KING, YOU KILLED ALL ";
	PRINT S1%
	PRINT " MEN ON THE SOUTH WALL."
	A1%=A1%-S1%
	GOTO Line970 
Line900:
	IF S1% > S%
		GOTO Line930 
	ENDIF
	IF S% > S1%
		GOTO Line950 
	ENDIF		
	PRINT "DRAW AT THE SOUTH WALL."
	GOTO Line970 
Line930:
	PRINT "KING, YOU LOST ";
	Temp% = S1%-S%
	PRINT Temp%
	PRINT " MEN AT THE SOUTH WALL."
	A%=A%-(S1%-S%)
	GOTO Line970 
Line950:
	PRINT "KING, YOU KILLED ";
	Temp% = S%-S1%
	PRINT Temp%
	PRINT " MEN AT THE SOUTH WALL."
	A1%=A1%-(S%-S1%)
Line970:
	Temp% = 2*E%
	IF E1% > Temp%
		GOTO Line990 
	ENDIF		
	GOTO Line1010 
Line990:
	PRINT "KING, YOU LOST ALL ";
	PRINT E%
	PRINT " MEN ON THE EAST WALL."
	A%=A%-E%
	GOTO Line1130 
Line1010:
	Temp% = 2*E1%
	IF E% > Temp%
		GOTO Line1030 
	ENDIF		
	GOTO Line1060 
Line1030:
	PRINT "KING, YOU KILLED ALL ";
	PRINT E1%
	PRINT " MEN ON THE EAST WALL."
	A1%=A1%-E1%
	GOTO Line1130 
Line1060:
	IF E1% > E%
		GOTO Line1090 
	ENDIF			
	IF E% > E1%
		GOTO Line1110 
	ENDIF		
	PRINT "DRAW AT THE EAST WALL."
	GOTO Line1130 
Line1090:
	PRINT "KING, YOU LOST ";
	Temp% = E1%-E%
	PRINT Temp%
	PRINT " MEN AT THE EAST WALL."
	A%=A%-(E1%-E%)
	GOTO Line1130 
Line1110:
	PRINT "KING, YOU KILLED ";
	Temp% = E%-E1%
	PRINT Temp%
	PRINT " MEN AT THE EAST WALL."
	A1%=A1%-(E%-E1%)
Line1130:
	Temp% = 2*W%
	IF W1% > Temp%
		GOTO Line1150 
	ENDIF		
	GOTO Line1170
Line1150:
	PRINT "KING, YOU LOST ALL ";
	PRINT W%
	PRINT " MEN ON THE WEST WALL."
	A%=A%-W%
	GOTO Line1290 
Line1170:
	Temp% = 2*W1%
	IF W% > Temp%
		GOTO Line1190 
	ENDIF		
	GOTO Line1220
Line1190:
	PRINT "KING, YOU KILLED ALL ";
	PRINT W1%
	PRINT " MEN ON THE WEST WALL."
	A1%=A1%-W1%
	GOTO Line1290 
Line1220:
	IF W1% > W%
		GOTO Line1250 
	ENDIF		
	IF W% > W1%
		GOTO Line1270 
	ENDIF		
	PRINT "DRAW AT THE WEST WALL."
	GOTO Line1290 
Line1250:
	PRINT "KING, YOU LOST ";
	Temp% = W1%-W%
	PRINT Temp%
	PRINT "MEN AT THE WEST WALL."
	A%=A%-(W1%-W%)
	GOTO Line1290 
Line1270:
	PRINT "KING, YOU KILLED ";
	Temp% = W%-W1%
	PRINT Temp%
	PRINT " MEN AT THE WEST WALL."
	A1%=A1%-(W%-W1%)
	GOTO Line1290 
Line1290:
	PRINT ""
	PRINT ""
	PRINT "KING,YOU HAVE ";
	PRINT A%
	PRINT " MEN LEFT."
	PRINT "THE HUN HAS ";
	PRINT A1%
	PRINT " MEN LEFT."
	PRINT ""
	PRINT ""
	PRINT ""
	PRINT ""
	IF A% <= 0
		GOTO Line1410 
	ENDIF		
	IF A1% <= 0
		GOTO Line1420 
	ENDIF		
	GOTO Line140 
Line1410:
	PRINT "KING, YOU LOST THE WAR!!!!!!!!!"
	PRINT ""
	PRINT "Press a key to exit."
	WAITKEY	
	END
Line1420:
	PRINT "KING, YOU WON THE WAR!!!!!!"
	PRINT ""
	PRINT "Press a key to exit."		
	WAITKEY	
	END
Line1430:
	PRINT ""
	PRINT ""
	PRINT "KING,YOUR DEFENSES ARE TO UNEVEN."
	GOTO Line150 
Line1460:
	PRINT ""
	PRINT ""
	PRINT "KING, YOU ONLY HAVE ";
	PRINT A%
	PRINT " MEN."
	GOTO Line150 
	END


