-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathRobot.java
More file actions
103 lines (79 loc) · 1.49 KB
/
Robot.java
File metadata and controls
103 lines (79 loc) · 1.49 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
package com.example.robot;
public class Robot {
private int orientation;
private int abs;
private int ord;
private int Num;
private static int Count;
public Robot(int orientation, int abs, int ord) {
this.orientation = orientation;
this.abs = abs;
this.ord = ord;
Robot.Count++;
this.Num=Robot.Count;
}
public int getOrientation() {
return this.orientation;
}
public void setOrientation(int orientation) {
this.orientation = orientation;
}
public int getAbs() {
return this.abs;
}
public void setAbs(int abs) {
this.abs = abs;
}
public int getOrd() {
return this.ord;
}
public void setOrd(int ord) {
this.ord = ord;
}
public int getNum() {
return this.Num;
}
public static int getCount(){
return Robot.Count;
}
@Override
public String toString() {
return "{" +
" orientation='" + getOrientation() + "'" +
", abs='" + getAbs() + "'" +
", ord='" + getOrd() + "'" +
", Num='" + getNum() + "'" +
"}";
}
public void Avancer(){
Avancer(1);
}
public void Avancer(int a){
switch (this.getOrientation()) {
case 1:
this.abs+=a;
break;
case 2:
this.ord+=a;
break;
case 3:
this.abs-=a;
break;
case 4:
this.ord-=a;
break;
default:
break;
}
}
public void Tourner(int x){
int direction = this.getOrientation() + x % 4;
if(direction > 4){
direction-=4;
}
this.orientation = direction;
}
public void Affiche(){
System.out.println(this);
}
}