d4m4s74
Member
I have the feeling atleast one of you knows java, so I'll ask it here
I'm making a mobile cube scramber, but whatever I do with the code, I still get duplicate moves or moves reversing the prevous
the code that generates the algorithm:
What am I doing wrong?
ps. I'll make a gui later and port it to j2me (mobile phone)
I'm making a mobile cube scramber, but whatever I do with the code, I still get duplicate moves or moves reversing the prevous
the code that generates the algorithm:
Code:
[COLOR="Blue"]import[/COLOR] java.io.[COLOR="Silver"]*[/COLOR];
[COLOR="Blue"] import[/COLOR] java.util.[COLOR="Silver"]*[/COLOR];
[COLOR="Blue"]public class[/COLOR] cubescrambler {
[COLOR="Blue"]private static[/COLOR] [COLOR="Navy"]BufferedReader[/COLOR] stdin[COLOR="Silver"]=[/COLOR]
[COLOR="Blue"]new[/COLOR] [COLOR="Navy"]BufferedReader[/COLOR]([COLOR="Blue"]new[/COLOR] [COLOR="Navy"]InputStreamReader[/COLOR]([COLOR="Navy"]System[/COLOR].in));
[COLOR="Blue"]public static void main[/COLOR]([COLOR="Navy"]String[/COLOR] args[]) [COLOR="Blue"]throws[/COLOR] [COLOR="Navy"]IOException[/COLOR] {
[COLOR="Navy"]String[/COLOR] s;
[COLOR="Blue"]int[/COLOR] i, j;
[COLOR="Navy"]System[/COLOR].out.print([COLOR="DarkOrchid"]"Pick your length, "[/COLOR]);
s[COLOR="Silver"]=[/COLOR]stdin.readLine();
j[COLOR="Silver"]=[/COLOR][COLOR="Navy"]Integer[/COLOR].parseInt(s);
[COLOR="Navy"]String[/COLOR] alg [COLOR="Silver"]=[/COLOR] [COLOR="DarkOrchid"]""[/COLOR];
[COLOR="Blue"]int[/COLOR] num;
[COLOR="Blue"]int[/COLOR] num0;
[COLOR="Blue"]int[/COLOR] num2;
[COLOR="Blue"]int[/COLOR] numx [COLOR="Silver"]=[/COLOR] 0;
[COLOR="Navy"]Random[/COLOR] number [COLOR="Silver"]=[/COLOR] [COLOR="Blue"]new[/COLOR] [COLOR="Navy"]Random[/COLOR]();
[COLOR="Blue"]for[/COLOR](i[COLOR="Silver"]=[/COLOR]1; i[COLOR="Silver"]<=[/COLOR]j; i[COLOR="Silver"]++[/COLOR]){
num=number.nextInt(6)[COLOR="Silver"]+[/COLOR]1;
[COLOR="Blue"]while[/COLOR] (num [COLOR="Silver"]==[/COLOR] numx) [COLOR="Lime"]//the problem is in this part[/COLOR]
{num [COLOR="Silver"]=[/COLOR] number.nextInt(6)[COLOR="Silver"]+[/COLOR]1;}
numx [COLOR="Silver"]=[/COLOR] num;
num2 [COLOR="Silver"]=[/COLOR] number.nextInt(3);
[COLOR="Blue"]switch[/COLOR] (num){
[COLOR="Blue"]case[/COLOR] 1: alg [COLOR="Silver"]=[/COLOR] alg [COLOR="Silver"]+[/COLOR] [COLOR="DarkOrchid"]" F"[/COLOR];[COLOR="Blue"] break[/COLOR];
[COLOR="Blue"]case[/COLOR] 2: alg [COLOR="Silver"]=[/COLOR] alg [COLOR="Silver"]+[/COLOR] [COLOR="DarkOrchid"]" B"[/COLOR]; [COLOR="Blue"]break[/COLOR];
[COLOR="Blue"]case[/COLOR] 3: alg [COLOR="Silver"]=[/COLOR] alg [COLOR="Silver"]+[/COLOR] [COLOR="DarkOrchid"]" R"[/COLOR]; [COLOR="Blue"]break[/COLOR];
[COLOR="Blue"]case[/COLOR] 4: alg [COLOR="Silver"]=[/COLOR] alg [COLOR="Silver"]+[/COLOR] [COLOR="DarkOrchid"]" L"[/COLOR]; [COLOR="Blue"]break[/COLOR];
[COLOR="Blue"]case[/COLOR] 5: alg [COLOR="Silver"]=[/COLOR] alg [COLOR="Silver"]+[/COLOR] [COLOR="DarkOrchid"]" U"[/COLOR]; [COLOR="Blue"]break[/COLOR];
[COLOR="Blue"]case[/COLOR] 6: alg [COLOR="Silver"]=[/COLOR] alg [COLOR="Silver"]+[/COLOR] [COLOR="DarkOrchid"]" B"[/COLOR]; [COLOR="Blue"]break[/COLOR];
}
[COLOR="Blue"]switch[/COLOR] (num2){
[COLOR="Blue"]case[/COLOR] 0: [COLOR="Blue"]break[/COLOR];
[COLOR="Blue"]case[/COLOR] 1: alg [COLOR="Silver"]=[/COLOR] alg [COLOR="Silver"]+[/COLOR] [COLOR="DarkOrchid"]"'"[/COLOR]; [COLOR="Blue"]break[/COLOR];
[COLOR="Blue"]case[/COLOR] 2: alg [COLOR="Silver"]=[/COLOR] alg [COLOR="Silver"]+[/COLOR] [COLOR="DarkOrchid"]"2"[/COLOR]; [COLOR="Blue"]break[/COLOR];
}
}
[COLOR="Navy"]System[/COLOR].out.println(alg);
}
}
What am I doing wrong?
ps. I'll make a gui later and port it to j2me (mobile phone)
Last edited:
