Package _io

Source Code of _io.ReadBinaryScoreMaps

/*
* Created on May 14, 2005
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package _io;

import java.io.BufferedInputStream;
import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.IOException;

import stage1.HandRecord;
import stage1.ScoreMaps;
import _misc.Constants;

/**
* @author Adam
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
public class ReadBinaryScoreMaps {
 
  public static ScoreMaps getScoreMap(String fileName, int numBoardCards, int bufferSize) throws IOException {
   
    DataInputStream dis = new DataInputStream(new BufferedInputStream(new FileInputStream(fileName), bufferSize));
   
    // read and verify format ID
    short formatID = dis.readShort();
    if(formatID != Constants.vidScoreMap_holeCardsConstant_boardCardsImplicit) {
      throw new RuntimeException();
    }
   
    // read header from file
    short header[] = new short[10];
    for(int i = 0; i < 10; i++) {
      header[i] = dis.readShort();
    }
   
    // process header
    byte[] holeCards = new byte[] { (byte)header[0], (byte)header[1] };
    if(numBoardCards != (byte)header[2]) {
      throw new RuntimeException("not right number of board cards");
    }

    ScoreMaps sm = new ScoreMaps((byte)numBoardCards, holeCards);
    HandRecord iterator = new HandRecord(numBoardCards, holeCards);
    short length;
    short score;
    int count;
   
    // THIS CODE HAS BEEN TESTED -- DO NOT TOUCH!!!!!!!!!!!!!!!!!!!!
    while(iterator.hasMoreElements) {
      iterator.advanceRecord();
     
      length = dis.readShort();
     
      for(int i = 0; i < length/6; i++) {
        score = dis.readShort();
        count = dis.readInt();
        sm.addScoreCountFromFile(iterator, score, count);
      }
    }
   
    dis.close();

    return sm;
  }
}
TOP

Related Classes of _io.ReadBinaryScoreMaps

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.