3 import java.util.ArrayList;
\r
4 import java.util.List;
\r
6 public class MainGen {
\r
7 //
\83G
\83\89\81[
\83R
\81[
\83h
\r
8 public static final int GEN_ERR_UNKNOWN = -1;
\r
9 public static final int GEN_ERR_MALLOC = -2;
\r
10 public static final int GEN_ERR_BUFFSIZE = -3;
\r
11 public static final int GEN_ERR_CANCELED = -4;
\r
13 public static final int GEN_LENGTH_MIN = 1;
\r
14 public static final int GEN_LENGTH_MAX = 255;
\r
15 //
\83T
\83C
\83g
\83X
\83\8f\83b
\83v
\82Ì
\8eí
\97Þ
\r
16 public static final int SPT_NORMAL = 0x00;
\r
17 public static final int SPT_SYNCHRO = 0x01;
\r
18 public static final int SPT_ALL = (SPT_NORMAL | SPT_SYNCHRO);
\r
20 public static void main(String[] args){
\r
21 MainGen m = new MainGen();
\r
22 GenProc gs = new GenProc();
\r
23 gs.setMode(SPT_NORMAL);
\r
25 List<String> list = m.generateSiteswap(gs, 3, "1-3");
\r
26 System.out.println(list);
\r
29 public List<String> generateSiteswap(GenProc gs, int balls, String period){
\r
30 List<String> list = new ArrayList<String>();
\r
31 char[] p = StdLib.stoc(period);
\r
33 int count = GetSiteswap(gs, list, balls, p);
\r
37 private int GetSiteswap(GenProc pgs, List<String> list, int balls, char[] sLength){
\r
40 //char[] sLength = new char[StdLib.BUFFLEN];
\r
41 char[] sSeed = new char[StdLib.BUFFLEN];
\r
42 //char[] sClass = new char[StdLib.BUFFLEN];
\r
43 char[] sBuff = new char[StdLib.BUFFLEN];
\r
58 //sLength[n++] = '3';
\r
59 //sLength[n++] = '\0';
\r
62 // sSeed[m++] = '1';
\r
63 // sSeed[m++] = '-';
\r
64 // sSeed[m++] = '3';
\r
67 iSeed = MainJudge.GetSiteswapCycle(sSeed);
\r
70 //
\8dÅ
\91å
\8fo
\97Í
\90\94\82ª 0
\82È
\82ç int
\82Ì
\8dÅ
\91å
\92l
\82É
\r
74 //
\8eü
\8aú
\82ð
\95\
\82·
\90®
\90\94\94z
\97ñ
\82Ì
\8dì
\90¬
\r
75 iLen = StringEx.TextToIntArray(sLength, null, 0, true);
\r
77 return GEN_ERR_UNKNOWN;
\r
78 pdwLen = new int[iLen];
\r
80 // return GEN_ERR_MALLOC;
\r
81 StringEx.TextToIntArray(sLength, pdwLen, iLen, true);
\r
83 //
\83T
\83C
\83g
\83X
\83\8f\83b
\83v
\90¶
\90¬
\r
85 //for(i = 0; i < iLen && iCount < iMax && !(*pbStop); i++){
\r
86 for(i = 0; i < iLen && iCount < iMax; i++){
\r
87 iStart = (int)StdLib.LOWORD(pdwLen[i]);
\r
88 iEnd = (int)StdLib.HIWORD(pdwLen[i]);
\r
89 //
\8eü
\8aú
\82Ì
\91Ã
\93\96\90«
\83`
\83F
\83b
\83N
\r
90 if(iStart < GEN_LENGTH_MIN)
\r
91 iStart = GEN_LENGTH_MIN;
\r
92 if(iEnd > GEN_LENGTH_MAX)
\r
93 iEnd = GEN_LENGTH_MAX;
\r
96 if(iStart > GEN_LENGTH_MAX || iEnd < GEN_LENGTH_MIN)
\r
98 //for(j = iStart; j <= iEnd && iCount < iMax && !(*pbStop); j++){
\r
99 for(j = iStart; j <= iEnd && iCount < iMax; j++){
\r
101 //pgs->Cancel = pbStop;
\r
102 pgs.init(balls, j);
\r
104 StdLib.strcpy(sBuff, sSeed);
\r
109 //iSize = InitGenerator(pgs, sBuff);
\r
110 iSize = pgs.InitGenerator(sBuff);
\r
111 //
\83p
\83^
\81[
\83\93\82ð1
\82Â
\82¸
\82Â
\90¶
\90¬
\r
112 //while(iSize > 0 && iCount < iMax && !(*pbStop)){
\r
113 while(iSize > 0 && iCount < iMax){
\r
114 if(iSize >= StdLib.BUFFLEN){
\r
117 return GEN_ERR_BUFFSIZE;
\r
119 //
\83\8a\83X
\83g
\83{
\83b
\83N
\83X
\82É
\8ai
\94[
\r
120 //if(SendMessage(hList, LB_ADDSTRING, 0, (LPARAM)sBuff) == LB_ERRSPACE || SendMessage(hName, LB_ADDSTRING, 0, (LPARAM)sBuff) == LB_ERRSPACE){
\r
122 // return GEN_ERR_MALLOC;
\r
124 String item = StdLib.ctos(sBuff);
\r
127 iSize = pgs.EnumSiteswap(sBuff);
\r
129 //SendMessage(ghWndMain, WM_USER_GEN, SSN_ADDSITESWAP, (LPARAM)iCount);
\r