#include <stdio.h>
#include <stdlib.h>
#include <fmgraph.h>
#include <mouse.h>
#include <console.h>
#include <string.h>
#include <jstring.h>
#include "jukugo5.h"
#include "font5.h"
#include <time.h>

FILE	*fp;

char	work[4096];
char	data_file[800][81];
int		kadai_gyo[800];

char maru24hk[31];
char goth24hk[31];
char kyou24hk[31];
char minn24hk[31];
char maru24[31];
char goth24[31];
char kyou24[31];
char minn24[31];

void main(int argc, char *argv[])
{
	int		i, kadai_max;
	char	*fgets_pt;
	char	kadai[39],kaisetsu[260];
	char	dname[30],temp[81];
	int		kadaino;
	time_t	t;
	
	if(argc < 3 ){	
		printf("Usage: jkg.exe 24dotfontfile-directoryname data-filename\n");
		exit(0);
	}
	
	strcpy(dname,*(argv+1));
	strcpy(maru24hk,dname);
	strcpy(goth24hk,dname);
	strcpy(kyou24hk,dname);
	strcpy(minn24hk,dname);
	strcpy(maru24  ,dname);
	strcpy(goth24  ,dname);
	strcpy(kyou24  ,dname);
	strcpy(minn24  ,dname);
	
	strcat(maru24hk,"\\maru24hk.fnt");
	strcat(goth24hk,"\\goth24hk.fnt");
	strcat(kyou24hk,"\\kyou24hk.fnt");
	strcat(minn24hk,"\\minn24hk.fnt");
	strcat(maru24  ,"\\maru24.fnt");
	strcat(goth24  ,"\\goth24.fnt");
	strcat(kyou24  ,"\\kyou24.fnt");
	strcat(minn24  ,"\\minn24.fnt");

	fp=fopen( *(argv+2), "r" );
	if( fp==NULL ){
		printf("データファイルがありません.\n");
		exit(2);
	}
	kadai_max=0;
	for(i=0; kadai_max < RAND_MAX; i++){
		fgets_pt=fgets(data_file[i], 81, fp);
		if( data_file[i][0]=='*' ) 	{
			kadai_gyo[kadai_max++]=i;	/* 課題総数の算出と課題行の登録 */
		}
		if( fgets_pt==NULL ) break;
	}
	if( kadai_max==0 ){
		printf("適切なデータファイルではありません.\n");
		exit(2);
	}
	fclose(fp);

	GDS_init(work);
	GDS_setcompatiblemode(COMPATI_EXTD);
	GDS_setdrawpage(0);
	GDS_setdisplaypage(0);

	CON_init();
	CON_systemgyo(SYSGYO_OFF);
	CON_cursorswitch(1);
	srand((unsigned) (time(&t)));

	start_gamen();

	GDS_charhandling(HANDLE_CHAR);		/* ハード座標系で横書き表示のため */
	GDS_chardirection(0,-1,1,0);
	itoa(kadai_max,temp,10);
	GDS_string(580,19,0,temp);
	GDS_string(400,19,0,"課題番号：");
	GDS_string(530,19,0,"/総数");
	
	kadaino=file_read( kadai_max, kadai, kaisetsu);
	itoa(kadaino,temp,10);
	GDS_partclear(0,485,1,529,19);
	GDS_string(485,19,0,temp);
	
	kadai_kakidashi(12,kadai);

	mos_operate(kadai_max, kadai, kaisetsu);
	
	CON_init();
	GDS_cls();
}
