/**返回的 long 型的最大值是 startLongValue+count-1(产生一个随机数) * param needCount * param count * param startLongValue * return */public static List randomNoRepeatLongArray(int needCount,int count,long startLongValue){//这种情况 会出现无限循环的if(needCount>count) return null;Random random = new Random();int[] ints = new int[count];for(int i=0;i list = new ArrayList();while(list.size() #include #include #include #include const int H = 8; //地图的高 const int L = 16; //地图的长 char GameMap[H][L]; //游戏地图 int key; //按键保存 int sum = 1, over = 0; //蛇的长度, 游戏完毕(自吃或碰墙) int dx[4] = {0, 0, -1, 1}; //左、右、上、下的方向 int dy[4] = {-1, 1, 0, 0}; struct Snake //蛇的每个节点的数据类型 { int x, y; //左边位置 int now; //保存当前节点的方向, 0,1,2,3 分别为左右上下 }Snake[H*L]; const char Shead = ''; //蛇头 const char Sbody = '#'; //蛇身 const char Sfood = '*'; //食物 const char Snode = '.'; //'.'在地图上标示为空 void Initial(); //地图的初始化 void Create_Food(); //在地图上随机产生食物 void Show(); //刷新显示地图 void Button(); //取出按键,并推断方向 void Move(); //蛇的移动 void Check_Border(); //检查蛇头是否越界 void Check_Head(int x, int y); //检查蛇头移动后的位置情况 int main() { Initial(); Show(); r...