'===========================================================================
' Subject: Hamurabi 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 P%
	DIM S%
	DIM H%
	DIM E%
	DIM Y%
	DIM A%
	DIM I%
	DIM Q%
	DIM D%
	DIM B$
	DIM C%
	DIM Temp$
	DIM TChar$
	DIM RValue%
	
PROGRAM

	RANDOMIZE

	CLS
	
	PRINT "YOU ARE THE RULER OF THE ANCIENT KINGDOM OF SUMERIA."
	PRINT "YOUR PEOPLE CALL YOU HAMURABI THE WISE. YOUR TASK IS"
	PRINT "TO DEVELOP A STABLE ECONOMY BY THE WISE MANAGEMENT OF"
	PRINT "YOUR RESOURCES. YOU WILL BE BESET FROM TIME TO TIME"
	PRINT "BY NATURAL EVENTS. THE ONLY HELP I CAN GIVE YOU IS THE "
	PRINT "FACT THAT IT TAKES 2 BUSHELS OF GRAIN AS SEED TO PLANT"
	PRINT "AN ACRE. MAY YOU JUDGE WELL, ALL KNOWING HAMURABI."
	PRINT "*******************HAMURABI IS HERE*******************"

	P%=95
	S%=2800
	H%=3000
	E%=H%-S%
	Y%=3
	A%=H%/Y%
	I%=5
	Q%=1
Label210:	
	D%=0	

Label215:	
	PRINT ""
	PRINT "LAST YEAR ";
	PRINT D%
	PRINT " PEOPLE STARVED, ";
	PRINT I%
	PRINT " CAME TO THE CITY"
	P%=P%+I%
	IF Q% > 0
		GOTO Label230
	ENDIF
	
	P% = P%/2
	PRINT "HALF DIED OF THE PLAGUE"
Label230:
	PRINT "POPULATION IS NOW ";
	PRINT P%
	PRINT "CITY OWNS ";
	PRINT A%
	PRINT " ACRES, ";
	PRINT Y%
	PRINT " BUSHELS HARVESTED PER ACRE"
	PRINT "RATS DESTROYED ";
	PRINT E%
	PRINT " BUSHELS, ";
	PRINT S%
	PRINT " BUSHELS IN STORE"
	PRINT ""
Label260:	
	INPUT "DO YOU WISH TO ABDICATE? (1=YES/0=NO) ",B$
	PRINT ""
	RValue% = VAL(B$)
	IF RValue% = 0
		GOTO Label310
	ENDIF
	IF RValue% <> 1
		GOTO Label260
	ENDIF
	END
Label310:		
	C% = RND(10)
	Y% = C% + 17
	PRINT "LAND COSTS ";
	PRINT Y%
	PRINT " BUSHELS PER ACRE"
Label320:	
	INPUT "BUY ",B$
	Q% = VAL(B$)
	RValue% = Y% * Q%
	IF RValue% < S%
		GOTO Label330
	ENDIF
	GOSUB Label710
	GOTO Label320
Label330:		
	IF Q% = 0
		GOTO Label340
	ENDIF
	A% = A%+Q%
	S% = S%-Y%*Q%
	C% = 0		
	GOTO Label410
Label340:
	INPUT "SELL ",B$
	IF Q% < A%
		GOTO Label350
	ENDIF
	GOSUB Label710
	GOTO Label340	
Label350:	
	A% = A%-Q%
	S% = S%+Y%*Q%
	C%=0
Label410:
	INPUT "BUSHELS FOR FOOD ",B$
	Q% = VAL(B$)
	IF Q% <= S%
		GOTO Label430
	ENDIF
	GOSUB Label710		
	GOT0 Label410
Label430:
	S% = S%-Q%
	C%=1
Label440:	
	INPUT "ACRES TO PLANT ",B$
	D% = VAL(B$)
	IF D% < A%
		GOTO Label455
	ENDIF
	RValue% = D%/2
	IF RValue% < S%
		GOTO Label455
	ENDIF
Label452:	
	GOSUB Label710
	GOTO Label440						
Label455:
	RValue% = 10*P%
	IF D% >= RValue%
		GOTO Label452
	ENDIF		
	S% = S% - (D%/2)
	GOSUB Label800
	Y%=C%
	H%=D%*Y%
	E%=0
	GOSUB Label800 
	E% = S%/C% 
	S% = S%-E%+H%
	GOSUB Label800 
	RValue% = 20*A%+S%
	I% = C% * RValue% / P% / 100+1
	C% = Q%/20
	RValue% = RND(3)
	Q% = 10*RValue%
	IF P% < C%
		GOTO Label210 
	ENDIF
	D% = P% - C%
	P% = C%
	GOTO Label215 
Label710:	
	PRINT "THINK AGAIN, YOU HAVE"
	PRINT A%
	PRINT " ACRES, ";
	PRINT P%
	PRINT " PEOPLE, ";
	PRINT S%
	PRINT " BUSHELS"
	RETURN
Label800:
	C% = RND(6)	
	RETURN
	END
	

					
