import java.util.*;
public class LiuQianTest {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Random r = new Random();
//1.随机拿出4张牌(按编号模拟),2.对半撕开,堆在一起
List<Integer> list = new ArrayList<>();
Collections.addAll(list,1, 2, 3, 4, 1, 2, 3, 4);
//3.根据名字的字数往下放牌
String name;
System.out.println("请输入您的名字:");
name = sc.nextLine();
for (int i = 0; i < name.length(); i++) {
list.add(list.get(0));
list.remove(0);
}
//4.拿起最上面的三张牌并插到中间
int ran = r.nextInt(3) + 4;
for (int i = 0; i < 3; i++) {
list.add(ran, list.get(0));
list.remove(0);
}
//5.把最上面的牌藏起来
final int result = list.get(0);
list.remove(0);
//6.南方人,北方人,或是不确定(1,2,3张牌插到中间)
System.out.println("请输入您是哪方人:(1.南方人,2.北方人,3.不确定)");
int time = sc.nextInt();
for (int i = 0; i < time; i++) {
list.add(ran, list.get(0));
list.remove(0);
}
//7.扔掉最上面的一张牌(男),或者最上面的两张牌(女)
System.out.println("请输入您的性别:(1.男,2.女)");
int sex = sc.nextInt();
for (int i = 0; i < sex; i++) {
list.remove(0);
}
//8.“见证奇迹的时刻”洗牌,每说一个字就把第一张牌放到最下面
for (int i = 0; i < 7; i++) {
list.add(list.get(0));
list.remove(0);
}
//9.“好运留下来,烦恼丢出去”,直到留下最后一张
while(list.size() != 1) {
list.add(list.get(0));
list.remove(0);
list.remove(0);
}
//10.最后留下的牌和藏起来的牌可以拼回完整的一张!
System.out.println("您剩下的牌为:" + list.get(0));
System.out.println("您的初始牌为:" + result);
//System.out.println(list);
}
}
很有意思的魔术!