Skip to content

Instantly share code, notes, and snippets.

@matejthetree
Last active July 24, 2019 18:25
Show Gist options
  • Save matejthetree/a99b45991a5f6775a3e199614ffd3184 to your computer and use it in GitHub Desktop.
Save matejthetree/a99b45991a5f6775a3e199614ffd3184 to your computer and use it in GitHub Desktop.
class Auto {
//ODOMETAR
int totalnaKilometraza = 0;
//KONTROLNA PLOCA
bool potrebnaPromjenaUlja = false;
num benzin;
//DIJAGNOSTIKA
/// status za dijagnostiku
String status;
//PRIVATNE VARIJABLE
int _obaveznaPromjenaSvakihKM = 10;
int _kilometrazaOdZadnjePromjeneUlja = 0;
// KONTRUKTOR
Auto(this.benzin);
/// vozi za odredjenu udaljenost i potrosi toliko benzina
bool vozi(int udaljenost) {
if (benzin >= udaljenost) {
_azurirajKilometre(udaljenost);
_oduzmiBenzin(udaljenost);
_azurirajStatus("Uspijesno si vozio. Imas jos benzina za $benzin kilometara");
_provjeriUlje();
return true;
} else {
_azurirajStatus("Ostao si bez benzina. Imas $benzin litara");
return false;
}
}
//JAVNE FUNKCIJE
///Nadodaj ulje da se ne pokvari motor
void dodajUlje(){
_kilometrazaOdZadnjePromjeneUlja = 0;
}
//napraviti funkciju za dodati benzin
//PRIVATNE FUNKCIJE
void _provjeriUlje() {
if (_kilometrazaOdZadnjePromjeneUlja > _obaveznaPromjenaSvakihKM) {
potrebnaPromjenaUlja = true;
} else {
potrebnaPromjenaUlja = false;
}
}
void _azurirajStatus(String status){
this.status = status;
}
void _oduzmiBenzin(int udaljenost) {
benzin -= udaljenost;
}
void _azurirajKilometre(int udaljenost) {
totalnaKilometraza += udaljenost;
_kilometrazaOdZadnjePromjeneUlja += udaljenost;
}
}
void main(){
var fico = new Auto(25);
while ( fico.vozi(3)){
print("brrRRr");
if (fico.potrebnaPromjenaUlja) {
fico.dodajUlje();
print('dodano ulje');
}
}
print(fico.status);
//dodati benzin
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment