-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMouseDemo.java
More file actions
127 lines (114 loc) · 2.7 KB
/
Copy pathMouseDemo.java
File metadata and controls
127 lines (114 loc) · 2.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
import java.util.Random;
import java.util.Scanner;
public class MouseDemo {
public static void main (String [] args)
{
Scanner keyboard = new Scanner (System.in);
Random generator = new Random ();
System.out.println("enter row");
int rowNum = keyboard.nextInt();
System.out.println("enter column");
int columnNum = keyboard.nextInt();
int row =1;
int column = 1;
int [][] mouse = new int [rowNum][columnNum];
int x=2;
int y=2;
do
{
int num = generator.nextInt(8)+1;
mouse [0][0] = 1;
mouse [1][1] = 2;
if ((num == 1)&&(row+1 <= rowNum))
//in the array
{
if ((row != 0)&&(column != 0) && (row +1 != rowNum -1)&&(column != columnNum -1))
//to make sure it doesnt run into edges
{
row ++;
y++;
x++;
mouse [row][column] = y;
}
}
else if ((num == 2)&&(column+1 <= columnNum))
{
if ((row != 0)&&(column != 0) && (row != rowNum -1)&&(column+1 != columnNum -1))
{
column ++;
y++;
x++;
mouse [row][column] = y;
}
}
else if ((num == 3)&&(column+1 <= columnNum)&&(row +1 <= rowNum))
{
if ((row != 0)&&(column != 0) && (row+1 != rowNum -1)&&(column+1 != columnNum -1))
{
row ++;
column ++;
y++;
x++;
mouse [row][column] = y;
}
}
else if (((num == 4)&&(row+1 <= rowNum)&&(column+1 <= columnNum)))
{
if ((row != 0)&&(column-1 != 0) && (row+1 != rowNum -1)&&(column != columnNum -1))
{
row ++;
column --;
y++;
x++;
mouse [row][column] = y;
}
}
else if (((num == 5)&&(row+1 <= rowNum)&&(column+1 <= columnNum)))
{
if ((row-1 != 0)&&(column != 0) && (row != rowNum -1)&&(column+1 != columnNum -1))
{
row --;
column ++;
y++;
x++;
mouse [row][column] = y;
}
}
else
{
reset(rowNum, columnNum, mouse);
row = 1;
column = 1;
y=2;
x=2;
}
}while ((row+2 < rowNum)||(column+2 < columnNum));
mouse [rowNum-1][columnNum-1]=(x+1);
System.out.println("");
System.out.println("it took " + (x+1) + " moves to solve");
System.out.println("");
for(int[] rows : mouse)
{
printRow(rows);
}
}
private static void reset(int rowNum, int columnNum, int [][]mouse)
{
for (int rows = 0; rows <rowNum; rows++)
{
for (int columns = 0; columns <columnNum; columns++)
{
mouse[rows][columns] = 0;
}
}
}
private static void printRow(int[] rows)
{
for (int i : rows)
{
System.out.print(i);
System.out.print(" ");
}
System.out.println();
}
}