Latest commit

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Mission 5: bestanden en collections API

Taak 1: de klasse Point

Maak de klasse Point. Deze klasse heeft 2 eigenschappen: een x- en y-coördinaat (int).

  • Een Point-object kan vergeleken worden met een ander Point-object. Gebruik de y-coördinaat voor de vergelijking (een lagere y-coördinaat komt voor een hogere waarde). Als de y-coördinaten gelijk zijn dan gebruik je de x-coördinaat.
  • Zorg ook dat de equals-methode correct wordt geïmplementeerd. Twee Point-objecten zijn gelijk als hun x- en y-waarden gelijk zijn.
  • Voorzie getters en setters.
  • Voorzie de toString()-methode: formaat (x,y).

Test alle methoden behalve getters en setters!

Taak 2: inlezen van bestand color.txt

Lees het bestand color.txt. Gebruik een Map om de waarde van R (rood), G (groen) en B (blauw) te bepalen. Je start met de waarde 0 voor iedere kleur. Als je het bestand inleest, voer je de bewerkingen uit. Dus bij instructie "G +10" tel je 10 op bij de huidige waarde van kleur G.

Toon nu in de terminal een blokje in de gevonden kleur. Je vindt voorbeeldcode in het de klasse MessageApp.

Taak 3: geheime boodschap

Iedere lijn in het bestand points.txt stelt een Point-object voor. Lees het bestand in. Maak gebruik van een verzameling waarin geen dubbele elementen kunnen voorkomen.

  • Hoeveel unieke Point-objecten zijn er?
  • Bepaal de kleinste en grootste x-waarde.
  • Bepaal de kleinste en grootste y-waarde.

Genereer nu een grid (of matrix) met alle punten vanaf (x-min, y-min) tot (x-max, y-max). Indien het gegenereerde punt voorkomt in het bestand dat kleur je het punt in de gevonden kleur van taak 2. Indien het punt niet voorkomt druk je een wit blokje af (" ").

Welke boodschap verschijnt op het scherm?

Taak 4: priority queue

Maak voor deze opdracht gebruik van een PriorityQueue. Lees het bestand priority.txt. Hierin staat 2 types van acties: ENTER (voeg een student toe aan de priority queue) of SERVE. Iedere ENTER-actie bevat de volgende informatie van een student: name score token. Maak een klasse om deze informatie op te slaan. In de priority queue worden de studenten geholpen volgens de volgende criteria.

  • Studenten met de hoogste score worden eerste geholpen
  • Bij gelijke score worden studenten geholpen op basis van hun naam (in alfabetische volgorde A-Z daarna a-z)
  • Bij gelijke score en gelijke naam bepaalt het token de volgorde. Het laagste token wordt eerst geholpen.

Verwerk nu het bestand. Druk af welke student er geholpen worden bij de SERVE-actie.

  • Hoeveel studenten staan er nog op de priority queue na het verwerken van het bestand?
  • In welke volgorde gaan deze studenten geholpen worden. Print hun namen in de juiste volgorde.

Schrijf je PriorityQueue in een aparte klasse zodat je de verschillende criteria voor de volgorde van het helpen van de studenten kan testen.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Latest commit

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Mission 5: bestanden en collections API

Taak 1: de klasse Point

Maak de klasse Point. Deze klasse heeft 2 eigenschappen: een x- en y-coördinaat (int).

  • Een Point-object kan vergeleken worden met een ander Point-object. Gebruik de y-coördinaat voor de vergelijking (een lagere y-coördinaat komt voor een hogere waarde). Als de y-coördinaten gelijk zijn dan gebruik je de x-coördinaat.
  • Zorg ook dat de equals-methode correct wordt geïmplementeerd. Twee Point-objecten zijn gelijk als hun x- en y-waarden gelijk zijn.
  • Voorzie getters en setters.
  • Voorzie de toString()-methode: formaat (x,y).

Test alle methoden behalve getters en setters!

Taak 2: inlezen van bestand color.txt

Lees het bestand color.txt. Gebruik een Map om de waarde van R (rood), G (groen) en B (blauw) te bepalen. Je start met de waarde 0 voor iedere kleur. Als je het bestand inleest, voer je de bewerkingen uit. Dus bij instructie "G +10" tel je 10 op bij de huidige waarde van kleur G.

Toon nu in de terminal een blokje in de gevonden kleur. Je vindt voorbeeldcode in het de klasse MessageApp.

Taak 3: geheime boodschap

Iedere lijn in het bestand points.txt stelt een Point-object voor. Lees het bestand in. Maak gebruik van een verzameling waarin geen dubbele elementen kunnen voorkomen.

  • Hoeveel unieke Point-objecten zijn er?
  • Bepaal de kleinste en grootste x-waarde.
  • Bepaal de kleinste en grootste y-waarde.

Genereer nu een grid (of matrix) met alle punten vanaf (x-min, y-min) tot (x-max, y-max). Indien het gegenereerde punt voorkomt in het bestand dat kleur je het punt in de gevonden kleur van taak 2. Indien het punt niet voorkomt druk je een wit blokje af (" ").

Welke boodschap verschijnt op het scherm?

Taak 4: priority queue

Maak voor deze opdracht gebruik van een PriorityQueue. Lees het bestand priority.txt. Hierin staat 2 types van acties: ENTER (voeg een student toe aan de priority queue) of SERVE. Iedere ENTER-actie bevat de volgende informatie van een student: name score token. Maak een klasse om deze informatie op te slaan. In de priority queue worden de studenten geholpen volgens de volgende criteria.

  • Studenten met de hoogste score worden eerste geholpen
  • Bij gelijke score worden studenten geholpen op basis van hun naam (in alfabetische volgorde A-Z daarna a-z)
  • Bij gelijke score en gelijke naam bepaalt het token de volgorde. Het laagste token wordt eerst geholpen.

Verwerk nu het bestand. Druk af welke student er geholpen worden bij de SERVE-actie.

  • Hoeveel studenten staan er nog op de priority queue na het verwerken van het bestand?
  • In welke volgorde gaan deze studenten geholpen worden. Print hun namen in de juiste volgorde.

Schrijf je PriorityQueue in een aparte klasse zodat je de verschillende criteria voor de volgorde van het helpen van de studenten kan testen.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Mission 5: bestanden en collections API

Taak 1: de klasse Point

Maak de klasse Point. Deze klasse heeft 2 eigenschappen: een x- en y-coördinaat (int).

  • Een Point-object kan vergeleken worden met een ander Point-object. Gebruik de y-coördinaat voor de vergelijking (een lagere y-coördinaat komt voor een hogere waarde). Als de y-coördinaten gelijk zijn dan gebruik je de x-coördinaat.
  • Zorg ook dat de equals-methode correct wordt geïmplementeerd. Twee Point-objecten zijn gelijk als hun x- en y-waarden gelijk zijn.
  • Voorzie getters en setters.
  • Voorzie de toString()-methode: formaat (x,y).

Test alle methoden behalve getters en setters!

Taak 2: inlezen van bestand color.txt

Lees het bestand color.txt. Gebruik een Map om de waarde van R (rood), G (groen) en B (blauw) te bepalen. Je start met de waarde 0 voor iedere kleur. Als je het bestand inleest, voer je de bewerkingen uit. Dus bij instructie "G +10" tel je 10 op bij de huidige waarde van kleur G.

Toon nu in de terminal een blokje in de gevonden kleur. Je vindt voorbeeldcode in het de klasse MessageApp.

Taak 3: geheime boodschap

Iedere lijn in het bestand points.txt stelt een Point-object voor. Lees het bestand in. Maak gebruik van een verzameling waarin geen dubbele elementen kunnen voorkomen.

  • Hoeveel unieke Point-objecten zijn er?
  • Bepaal de kleinste en grootste x-waarde.
  • Bepaal de kleinste en grootste y-waarde.

Genereer nu een grid (of matrix) met alle punten vanaf (x-min, y-min) tot (x-max, y-max). Indien het gegenereerde punt voorkomt in het bestand dat kleur je het punt in de gevonden kleur van taak 2. Indien het punt niet voorkomt druk je een wit blokje af (" ").

Welke boodschap verschijnt op het scherm?

Taak 4: priority queue

Maak voor deze opdracht gebruik van een PriorityQueue. Lees het bestand priority.txt. Hierin staat 2 types van acties: ENTER (voeg een student toe aan de priority queue) of SERVE. Iedere ENTER-actie bevat de volgende informatie van een student: name score token. Maak een klasse om deze informatie op te slaan. In de priority queue worden de studenten geholpen volgens de volgende criteria.

  • Studenten met de hoogste score worden eerste geholpen
  • Bij gelijke score worden studenten geholpen op basis van hun naam (in alfabetische volgorde A-Z daarna a-z)
  • Bij gelijke score en gelijke naam bepaalt het token de volgorde. Het laagste token wordt eerst geholpen.

Verwerk nu het bestand. Druk af welke student er geholpen worden bij de SERVE-actie.

  • Hoeveel studenten staan er nog op de priority queue na het verwerken van het bestand?
  • In welke volgorde gaan deze studenten geholpen worden. Print hun namen in de juiste volgorde.

Schrijf je PriorityQueue in een aparte klasse zodat je de verschillende criteria voor de volgorde van het helpen van de studenten kan testen.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Mission 5: bestanden en collections API

Taak 1: de klasse Point

Maak de klasse Point. Deze klasse heeft 2 eigenschappen: een x- en y-coördinaat (int).

  • Een Point-object kan vergeleken worden met een ander Point-object. Gebruik de y-coördinaat voor de vergelijking (een lagere y-coördinaat komt voor een hogere waarde). Als de y-coördinaten gelijk zijn dan gebruik je de x-coördinaat.
  • Zorg ook dat de equals-methode correct wordt geïmplementeerd. Twee Point-objecten zijn gelijk als hun x- en y-waarden gelijk zijn.
  • Voorzie getters en setters.
  • Voorzie de toString()-methode: formaat (x,y).

Test alle methoden behalve getters en setters!

Taak 2: inlezen van bestand color.txt

Lees het bestand color.txt. Gebruik een Map om de waarde van R (rood), G (groen) en B (blauw) te bepalen. Je start met de waarde 0 voor iedere kleur. Als je het bestand inleest, voer je de bewerkingen uit. Dus bij instructie "G +10" tel je 10 op bij de huidige waarde van kleur G.

Toon nu in de terminal een blokje in de gevonden kleur. Je vindt voorbeeldcode in het de klasse MessageApp.

Taak 3: geheime boodschap

Iedere lijn in het bestand points.txt stelt een Point-object voor. Lees het bestand in. Maak gebruik van een verzameling waarin geen dubbele elementen kunnen voorkomen.

  • Hoeveel unieke Point-objecten zijn er?
  • Bepaal de kleinste en grootste x-waarde.
  • Bepaal de kleinste en grootste y-waarde.

Genereer nu een grid (of matrix) met alle punten vanaf (x-min, y-min) tot (x-max, y-max). Indien het gegenereerde punt voorkomt in het bestand dat kleur je het punt in de gevonden kleur van taak 2. Indien het punt niet voorkomt druk je een wit blokje af (" ").

Welke boodschap verschijnt op het scherm?

Taak 4: priority queue

Maak voor deze opdracht gebruik van een PriorityQueue. Lees het bestand priority.txt. Hierin staat 2 types van acties: ENTER (voeg een student toe aan de priority queue) of SERVE. Iedere ENTER-actie bevat de volgende informatie van een student: name score token. Maak een klasse om deze informatie op te slaan. In de priority queue worden de studenten geholpen volgens de volgende criteria.

  • Studenten met de hoogste score worden eerste geholpen
  • Bij gelijke score worden studenten geholpen op basis van hun naam (in alfabetische volgorde A-Z daarna a-z)
  • Bij gelijke score en gelijke naam bepaalt het token de volgorde. Het laagste token wordt eerst geholpen.

Verwerk nu het bestand. Druk af welke student er geholpen worden bij de SERVE-actie.

  • Hoeveel studenten staan er nog op de priority queue na het verwerken van het bestand?
  • In welke volgorde gaan deze studenten geholpen worden. Print hun namen in de juiste volgorde.

Schrijf je PriorityQueue in een aparte klasse zodat je de verschillende criteria voor de volgorde van het helpen van de studenten kan testen.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Latest commit

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Mission 5: bestanden en collections API

Taak 1: de klasse Point

Maak de klasse Point. Deze klasse heeft 2 eigenschappen: een x- en y-coördinaat (int).

  • Een Point-object kan vergeleken worden met een ander Point-object. Gebruik de y-coördinaat voor de vergelijking (een lagere y-coördinaat komt voor een hogere waarde). Als de y-coördinaten gelijk zijn dan gebruik je de x-coördinaat.
  • Zorg ook dat de equals-methode correct wordt geïmplementeerd. Twee Point-objecten zijn gelijk als hun x- en y-waarden gelijk zijn.
  • Voorzie getters en setters.
  • Voorzie de toString()-methode: formaat (x,y).

Test alle methoden behalve getters en setters!

Taak 2: inlezen van bestand color.txt

Lees het bestand color.txt. Gebruik een Map om de waarde van R (rood), G (groen) en B (blauw) te bepalen. Je start met de waarde 0 voor iedere kleur. Als je het bestand inleest, voer je de bewerkingen uit. Dus bij instructie "G +10" tel je 10 op bij de huidige waarde van kleur G.

Toon nu in de terminal een blokje in de gevonden kleur. Je vindt voorbeeldcode in het de klasse MessageApp.

Taak 3: geheime boodschap

Iedere lijn in het bestand points.txt stelt een Point-object voor. Lees het bestand in. Maak gebruik van een verzameling waarin geen dubbele elementen kunnen voorkomen.

  • Hoeveel unieke Point-objecten zijn er?
  • Bepaal de kleinste en grootste x-waarde.
  • Bepaal de kleinste en grootste y-waarde.

Genereer nu een grid (of matrix) met alle punten vanaf (x-min, y-min) tot (x-max, y-max). Indien het gegenereerde punt voorkomt in het bestand dat kleur je het punt in de gevonden kleur van taak 2. Indien het punt niet voorkomt druk je een wit blokje af (" ").

Welke boodschap verschijnt op het scherm?

Taak 4: priority queue

Maak voor deze opdracht gebruik van een PriorityQueue. Lees het bestand priority.txt. Hierin staat 2 types van acties: ENTER (voeg een student toe aan de priority queue) of SERVE. Iedere ENTER-actie bevat de volgende informatie van een student: name score token. Maak een klasse om deze informatie op te slaan. In de priority queue worden de studenten geholpen volgens de volgende criteria.

  • Studenten met de hoogste score worden eerste geholpen
  • Bij gelijke score worden studenten geholpen op basis van hun naam (in alfabetische volgorde A-Z daarna a-z)
  • Bij gelijke score en gelijke naam bepaalt het token de volgorde. Het laagste token wordt eerst geholpen.

Verwerk nu het bestand. Druk af welke student er geholpen worden bij de SERVE-actie.

  • Hoeveel studenten staan er nog op de priority queue na het verwerken van het bestand?
  • In welke volgorde gaan deze studenten geholpen worden. Print hun namen in de juiste volgorde.

Schrijf je PriorityQueue in een aparte klasse zodat je de verschillende criteria voor de volgorde van het helpen van de studenten kan testen.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Mission 5: bestanden en collections API

Taak 1: de klasse Point

Maak de klasse Point. Deze klasse heeft 2 eigenschappen: een x- en y-coördinaat (int).

  • Een Point-object kan vergeleken worden met een ander Point-object. Gebruik de y-coördinaat voor de vergelijking (een lagere y-coördinaat komt voor een hogere waarde). Als de y-coördinaten gelijk zijn dan gebruik je de x-coördinaat.
  • Zorg ook dat de equals-methode correct wordt geïmplementeerd. Twee Point-objecten zijn gelijk als hun x- en y-waarden gelijk zijn.
  • Voorzie getters en setters.
  • Voorzie de toString()-methode: formaat (x,y).

Test alle methoden behalve getters en setters!

Taak 2: inlezen van bestand color.txt

Lees het bestand color.txt. Gebruik een Map om de waarde van R (rood), G (groen) en B (blauw) te bepalen. Je start met de waarde 0 voor iedere kleur. Als je het bestand inleest, voer je de bewerkingen uit. Dus bij instructie "G +10" tel je 10 op bij de huidige waarde van kleur G.

Toon nu in de terminal een blokje in de gevonden kleur. Je vindt voorbeeldcode in het de klasse MessageApp.

Taak 3: geheime boodschap

Iedere lijn in het bestand points.txt stelt een Point-object voor. Lees het bestand in. Maak gebruik van een verzameling waarin geen dubbele elementen kunnen voorkomen.

  • Hoeveel unieke Point-objecten zijn er?
  • Bepaal de kleinste en grootste x-waarde.
  • Bepaal de kleinste en grootste y-waarde.

Genereer nu een grid (of matrix) met alle punten vanaf (x-min, y-min) tot (x-max, y-max). Indien het gegenereerde punt voorkomt in het bestand dat kleur je het punt in de gevonden kleur van taak 2. Indien het punt niet voorkomt druk je een wit blokje af (" ").

Welke boodschap verschijnt op het scherm?

Taak 4: priority queue

Maak voor deze opdracht gebruik van een PriorityQueue. Lees het bestand priority.txt. Hierin staat 2 types van acties: ENTER (voeg een student toe aan de priority queue) of SERVE. Iedere ENTER-actie bevat de volgende informatie van een student: name score token. Maak een klasse om deze informatie op te slaan. In de priority queue worden de studenten geholpen volgens de volgende criteria.

  • Studenten met de hoogste score worden eerste geholpen
  • Bij gelijke score worden studenten geholpen op basis van hun naam (in alfabetische volgorde A-Z daarna a-z)
  • Bij gelijke score en gelijke naam bepaalt het token de volgorde. Het laagste token wordt eerst geholpen.

Verwerk nu het bestand. Druk af welke student er geholpen worden bij de SERVE-actie.

  • Hoeveel studenten staan er nog op de priority queue na het verwerken van het bestand?
  • In welke volgorde gaan deze studenten geholpen worden. Print hun namen in de juiste volgorde.

Schrijf je PriorityQueue in een aparte klasse zodat je de verschillende criteria voor de volgorde van het helpen van de studenten kan testen.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Mission 5: bestanden en collections API

Taak 1: de klasse Point

Maak de klasse Point. Deze klasse heeft 2 eigenschappen: een x- en y-coördinaat (int).

  • Een Point-object kan vergeleken worden met een ander Point-object. Gebruik de y-coördinaat voor de vergelijking (een lagere y-coördinaat komt voor een hogere waarde). Als de y-coördinaten gelijk zijn dan gebruik je de x-coördinaat.
  • Zorg ook dat de equals-methode correct wordt geïmplementeerd. Twee Point-objecten zijn gelijk als hun x- en y-waarden gelijk zijn.
  • Voorzie getters en setters.
  • Voorzie de toString()-methode: formaat (x,y).

Test alle methoden behalve getters en setters!

Taak 2: inlezen van bestand color.txt

Lees het bestand color.txt. Gebruik een Map om de waarde van R (rood), G (groen) en B (blauw) te bepalen. Je start met de waarde 0 voor iedere kleur. Als je het bestand inleest, voer je de bewerkingen uit. Dus bij instructie "G +10" tel je 10 op bij de huidige waarde van kleur G.

Toon nu in de terminal een blokje in de gevonden kleur. Je vindt voorbeeldcode in het de klasse MessageApp.

Taak 3: geheime boodschap

Iedere lijn in het bestand points.txt stelt een Point-object voor. Lees het bestand in. Maak gebruik van een verzameling waarin geen dubbele elementen kunnen voorkomen.

  • Hoeveel unieke Point-objecten zijn er?
  • Bepaal de kleinste en grootste x-waarde.
  • Bepaal de kleinste en grootste y-waarde.

Genereer nu een grid (of matrix) met alle punten vanaf (x-min, y-min) tot (x-max, y-max). Indien het gegenereerde punt voorkomt in het bestand dat kleur je het punt in de gevonden kleur van taak 2. Indien het punt niet voorkomt druk je een wit blokje af (" ").

Welke boodschap verschijnt op het scherm?

Taak 4: priority queue

Maak voor deze opdracht gebruik van een PriorityQueue. Lees het bestand priority.txt. Hierin staat 2 types van acties: ENTER (voeg een student toe aan de priority queue) of SERVE. Iedere ENTER-actie bevat de volgende informatie van een student: name score token. Maak een klasse om deze informatie op te slaan. In de priority queue worden de studenten geholpen volgens de volgende criteria.

  • Studenten met de hoogste score worden eerste geholpen
  • Bij gelijke score worden studenten geholpen op basis van hun naam (in alfabetische volgorde A-Z daarna a-z)
  • Bij gelijke score en gelijke naam bepaalt het token de volgorde. Het laagste token wordt eerst geholpen.

Verwerk nu het bestand. Druk af welke student er geholpen worden bij de SERVE-actie.

  • Hoeveel studenten staan er nog op de priority queue na het verwerken van het bestand?
  • In welke volgorde gaan deze studenten geholpen worden. Print hun namen in de juiste volgorde.

Schrijf je PriorityQueue in een aparte klasse zodat je de verschillende criteria voor de volgorde van het helpen van de studenten kan testen.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Latest commit

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Mission 5: bestanden en collections API

Taak 1: de klasse Point

Maak de klasse Point. Deze klasse heeft 2 eigenschappen: een x- en y-coördinaat (int).

  • Een Point-object kan vergeleken worden met een ander Point-object. Gebruik de y-coördinaat voor de vergelijking (een lagere y-coördinaat komt voor een hogere waarde). Als de y-coördinaten gelijk zijn dan gebruik je de x-coördinaat.
  • Zorg ook dat de equals-methode correct wordt geïmplementeerd. Twee Point-objecten zijn gelijk als hun x- en y-waarden gelijk zijn.
  • Voorzie getters en setters.
  • Voorzie de toString()-methode: formaat (x,y).

Test alle methoden behalve getters en setters!

Taak 2: inlezen van bestand color.txt

Lees het bestand color.txt. Gebruik een Map om de waarde van R (rood), G (groen) en B (blauw) te bepalen. Je start met de waarde 0 voor iedere kleur. Als je het bestand inleest, voer je de bewerkingen uit. Dus bij instructie "G +10" tel je 10 op bij de huidige waarde van kleur G.

Toon nu in de terminal een blokje in de gevonden kleur. Je vindt voorbeeldcode in het de klasse MessageApp.

Taak 3: geheime boodschap

Iedere lijn in het bestand points.txt stelt een Point-object voor. Lees het bestand in. Maak gebruik van een verzameling waarin geen dubbele elementen kunnen voorkomen.

  • Hoeveel unieke Point-objecten zijn er?
  • Bepaal de kleinste en grootste x-waarde.
  • Bepaal de kleinste en grootste y-waarde.

Genereer nu een grid (of matrix) met alle punten vanaf (x-min, y-min) tot (x-max, y-max). Indien het gegenereerde punt voorkomt in het bestand dat kleur je het punt in de gevonden kleur van taak 2. Indien het punt niet voorkomt druk je een wit blokje af (" ").

Welke boodschap verschijnt op het scherm?

Taak 4: priority queue

Maak voor deze opdracht gebruik van een PriorityQueue. Lees het bestand priority.txt. Hierin staat 2 types van acties: ENTER (voeg een student toe aan de priority queue) of SERVE. Iedere ENTER-actie bevat de volgende informatie van een student: name score token. Maak een klasse om deze informatie op te slaan. In de priority queue worden de studenten geholpen volgens de volgende criteria.

  • Studenten met de hoogste score worden eerste geholpen
  • Bij gelijke score worden studenten geholpen op basis van hun naam (in alfabetische volgorde A-Z daarna a-z)
  • Bij gelijke score en gelijke naam bepaalt het token de volgorde. Het laagste token wordt eerst geholpen.

Verwerk nu het bestand. Druk af welke student er geholpen worden bij de SERVE-actie.

  • Hoeveel studenten staan er nog op de priority queue na het verwerken van het bestand?
  • In welke volgorde gaan deze studenten geholpen worden. Print hun namen in de juiste volgorde.

Schrijf je PriorityQueue in een aparte klasse zodat je de verschillende criteria voor de volgorde van het helpen van de studenten kan testen.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages