-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
139 lines (125 loc) · 4.39 KB
/
Copy pathscript.js
File metadata and controls
139 lines (125 loc) · 4.39 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
128
129
130
131
132
133
134
135
136
137
138
139
/**
* Verkefni 7 – Gisk leikur
*
* Leikur sem snýst um að giska á tölu milli 0 og 100
*/
/**
* Global fylki sem geymir fjölda ágiskana í leikjum
* Ef fylki er tómt hefur enginn leikur verið spilaður.
* Ef fylki er [2, 3] hafa verið spilaðir tveir leikir þar sem:
* - Fyrsti leikur kláraðist í tveim ágiskunum.
* - Seinni leikur kláraðist í þrem ágiskunum.
*/
const games = [];
/**
* Byrjar leikinn okkar með því að kalla í play().
* Eftir að play() klárar þá er boðið notandanum að spila annann leik með confirm()
* Ef notandi ýtir á "ok" þá er annar leikur spilaður.
* Ef notandi ýtir á "cancel" þá er sótt niðurstöður með getResults() og þær birtar með alert().
*/
function start() {
alert ("Þessi leikur snýst um það að giska á tölu milli 1 og 100");
do{
play();
}while(confirm("Viltu spila annan leik?"))
}
/**
* Spilar einn leik. Sér um að:
* - Velja tölu af handahófi í byrjun með randomNumber()
* - Biðja notanda um tölu með prompt()
* - Vinna úr intaki frá notanda með parseGuess()
* - Láta vita hversu nálægt eða rétt gisk er með getResponse() og alert()
* - Haldautan um fjölda ágiskana
* - Vista fjölda ágiskana í "games" fylki þegar búið er að giska rétt
*
* Ef notandi ýtir á cancel þegar beðið er um ágiskun skal hætta í leik en ekki vista ágiskanir
* - t.d. með því að nota break í lykkju.
*
* Þarf aðútfæra með lykkju og flæðisstýringum
*/
function play() {
const random = randomNumber(1,100);
console.log(random);
var gisk = 0;
while (svar != random) {
var svar = prompt("Veldu tölu milli 1 og 100");
gisk++
console.log(gisk);
if (svar < 1 || svar > 100) {
alert ("Tala fyrir utan marka")
}
else if (svar == random) {
alert ("Rétt svar, þú giskaðir ${gisk} sinnum");
//gisk hækkar samkvæmt console.log en það kemur samt ekki rétt fram á endanum
//ef gisk er minna en random talan þá kemur rétt message en ef hún er meira þá kemur alltaf "mjög nálægt, giskaðu aftur"
}
else if ((random - svar) < 5 ) {
alert ("Mjög nálægt, giskaðu aftur");
}
else if ((random - svar) < 10 ) {
alert ("Nálægt, giskaðu aftur");
}
else if ((random - svar) < 20 ) {
alert ("Frekar langt frá, giskaðu aftur");
}
else if ((random - svar) < 50 ) {
alert ("Langt frá, giskaðu aftur");
}
else {
alert ("Mjög langt frá, giskaðu aftur");
}
}
}
/**
* Skilar niðurstöðum um spilaða leiki sem streng.
* Fjöldi liekja er skilað ásamt meðalfjölda giska, t.d.:
* "þú spilaðir 10 leiki
* Meðalfjöldi ágiskana var 5"
* ATH að meðalfjöldi kemur í nýrri línu.
* Ef enginn leikur var spilaður er skilað:
* "Þú spilaðir engann leik >_<"
*/
function getResults(){
}
/**
* Reiknar út og skilar meðal ágiskunum í öllum leikjum sem geymdir eru í
* global breytu "games". Skilar gildi með tveim aukastöfum.
* Ef games = [3,3,4] er niðurstaðan (3+3+4)/3 = 3.66666667
* og henni skilað sem 3.67
*
* þarf að útfæra með lykkju.
*/
function calculateAverage(){
}
/**
* tekur in input sem streng og skilar þeirri tölu sem hægt er að ná þar úr.
* Ef ekki er hægt að ná tölu úr input er skilað null
*/
function parseGuess(input){
}
/**
* Skilar svari sem birta á notanda sem streng, tekur inn tvær breytur
* - guess sem tölu, ágiskun notanda
* - correct sem tölu, rétt gildi
* Ef guess er < 0 eða ekki tala skal skila strengnum "Ekki rétt"
* Ef guess er nákvæmlega sama og correct skal skila strengnum "Rétt"
* Ef munur er undir 5 (|correct - guess| < 5) skal skila "Mjög nálægt"
* Ef munur er undir 10 skal skila "Nálægt"
* Ef munur er undir 20 skal skila "Frekar langt frá"
* Ef munur er undir 50 skal skila "Langt frá"
* Annars skal skila "Mjög langt frá"
*
* Þarf að útfæra með flæðistýringu.
* Math.abs skilar algildi tölu: |a| = Math.abs(a)
*/
function getResponse(guess, correct){
return 'Ekki rétt';
}
/**
* Skilar tölu af handahófi á bilinu [min, max]
*/
function randomNumber(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
// Byrjar leik
start();