-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathapp.js
122 lines (105 loc) · 4.02 KB
/
app.js
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
const firstAngle = document.getElementById('firstAngle')
const secondAngle = document.getElementById('secondAngle')
const thirdAngle = document.getElementById('thirdAngle')
const formCheckTriangleResult = document.getElementById(
'formCheckTriangleResult'
)
const triangleResult = document.querySelector('.triangle_result')
const baseAngle = document.getElementById('baseAngle')
const perpendicularAngle = document.getElementById('perpendicularAngle')
const hypotenuseResult = document.querySelector('.hypotenuse_result')
const formCheckHypotenuseResult = document.getElementById(
'formCheckHypotenuseResult'
)
const baseArea = document.getElementById('baseArea')
const heightArea = document.getElementById('height')
const areaResult = document.querySelector('.area_result')
const formCheckAreaResult = document.getElementById('formCheckAreaResult')
const generateAngle = document.getElementById('generateAngle')
const firstAngleGuess = document.getElementById('firstAngleGuess')
const secondAngleGuess = document.getElementById('secondAngleGuess')
const thirdAngleGuess = document.getElementById('thirdAngleGuess')
const guessAngleResult = document.querySelector('.guess_angle_result')
const guessResultButton = document.getElementById('guessResultButton')
// Guess Angle
guessResultButton.addEventListener('click', () => {
let firstAngle = Number(firstAngleGuess.childNodes[0].nodeValue)
let secondAngle = Number(secondAngleGuess.childNodes[0].nodeValue)
let thirdAngle = Number(thirdAngleGuess.value)
let triangle = firstAngle + secondAngle + thirdAngle
if(triangle === 180){
guessAngleResult.style.display = 'block'
guessAngleResult.innerHTML = `<h1>Congrats! You have correctly guessed the angles!</h1>`
}else{
guessAngleResult.style.display = 'block'
guessAngleResult.style.color = 'red'
guessAngleResult.innerHTML = `<h1>Sorry, you have not correctly guessed the angles!</h1>`
}
})
// Check Area
formCheckAreaResult.addEventListener('click', () => {
const base = Number(baseArea.value)
const height = Number(heightArea.value)
const triangleArea = (base * height) / 2
if (base === 0 || height === 0) {
validInput(areaResult)
} else {
areaResult.style.display = 'block'
areaResult.innerHTML = `<h1>The area of the triangle is ${triangleArea}</h1>`
}
})
// Hypotenuse
formCheckHypotenuseResult.addEventListener('click', () => {
let base = baseAngle.value
let perpendicular = perpendicularAngle.value
let hypotenuse = Math.sqrt(
Math.pow(base, 2) + Math.pow(perpendicular, 2)
).toFixed(2)
if (base === '' || perpendicular === '') {
validInput(hypotenuseResult)
} else {
hypotenuseResult.style.display = 'block'
hypotenuseResult.innerHTML = `<h1>Hypotenuse of the given Triangle is ${hypotenuse}<h1>`
}
})
// is it Triangle?
formCheckTriangleResult.addEventListener('click', () => {
let firstAngleValue = Number(firstAngle.value)
let secondAngleValue = Number(secondAngle.value)
let thirdAngleValue = Number(thirdAngle.value)
let triangle = firstAngleValue + secondAngleValue + thirdAngleValue
if (triangle === 0) {
validInput(triangleResult)
} else if (triangle === 180) {
triangleResult.style.display = 'block'
triangleResult.innerHTML = `<h1>This is a Triangle</h1>`
} else {
triangleResult.style.display = 'block'
triangleResult.style.color = 'red'
triangleResult.innerHTML = `<h1>This is not a Triangle</h1>`
}
})
// Error Message
function validInput(output) {
output.style.display = 'block'
output.style.color = 'red'
output.innerHTML = `<h1>Please enter a valid input</h1>`
}
// Generate Angle
generateAngle.addEventListener('click', () => {
let x = Math.floor(Math.random() * (180 - 0) + 0)
let y = Math.floor(Math.random() * (180 - 0) + 0)
while (1) {
if (x + y >= 180) {
if (x > y) {
x = Math.floor(Math.random() * (180 - 0) + 0)
} else {
y = Math.floor(Math.random() * (180 - 0) + 0)
}
} else {
break
}
}
firstAngleGuess.innerHTML = `${x}`
secondAngleGuess.innerHTML = `${y}`
})