forked from Open-CT/openct-tasks
259 lines
9.0 KiB
HTML
259 lines
9.0 KiB
HTML
<!doctype html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>2017-FR-06</title>
|
|
<script>
|
|
window.stringsLanguage = 'fi';
|
|
</script>
|
|
<script class="remove" type="text/javascript" src="../../../_common/modules/pemFioi/importModules-1.1.js" id="import-modules"></script>
|
|
<script class="remove" type="text/javascript">
|
|
var modulesPath = '../../../_common/modules';
|
|
importModules([
|
|
'jquery-1.7.1', 'jquery-ui.touch-punch', 'raphael-2.2.1', 'JSON-js',
|
|
'beav-1.0', 'beaver-task-2.0', 'simulation-2.0', 'raphaelFactory-1.0',
|
|
'delayFactory-1.0', 'simulationFactory-1.0', 'grid-1.0', 'raphaelButton-1.0',
|
|
'platform-pr', 'buttonsAndMessages', 'installationAPI.01', 'miniPlatform',
|
|
'taskStyles-0.1']);
|
|
</script>
|
|
<script class="remove" type="text/javascript">
|
|
var json = {
|
|
"id": "http://castor-informatique.fr/tasks/2017/2017-FR-06-pacman/",
|
|
"language": "fi",
|
|
"version": "fi.01",
|
|
"authors": "Arthur Charguéraud, Mathias Hiron, Nir Lavee",
|
|
"translators": "Heikki Hyyrö",
|
|
"license": "CC BY-SA 3.0",
|
|
"taskPathPrefix": "",
|
|
"modulesPathPrefix": "",
|
|
"browserSupport": [],
|
|
"fullFeedback": true,
|
|
"acceptedAnswers": [],
|
|
"usesRandomSeed": false
|
|
};
|
|
</script>
|
|
<script type="text/javascript">
|
|
var taskStrings = {
|
|
success: "Onnittelut, ratkaisit tämän version!",
|
|
error: "Haamu sai majavan kiinni. Voit aloittaa uudelleen alusta tai perua viimeisiä askeleitasi.",
|
|
undoOption: "Peru viime askel",
|
|
restartOption: "Aloita alusta",
|
|
partial: "Majava jäi kiinni, mutta saat osan pisteistä. <br> Voit aloittaa uudelleen alusta tai perua viimeisiä askeleitasi.",
|
|
livesLeft: function(lives) {
|
|
return "elämät:<br>" + lives;
|
|
},
|
|
livesFeedback: function(livesLost, livesLeft) {
|
|
return "";
|
|
//return "Castor a perdu " + livesLost + " vie(s). Il lui reste " + livesLeft + " vie(s).";
|
|
}
|
|
};
|
|
</script>
|
|
<script type="text/javascript" src="task.js"></script>
|
|
<style>
|
|
#anim_container {
|
|
text-align: center;
|
|
}
|
|
#anim_container table {
|
|
margin: auto;
|
|
}
|
|
#anim {
|
|
display: inline-block;
|
|
}
|
|
#feedback {
|
|
height: 2em;
|
|
margin-top: 0.5em;
|
|
margin-bottom: 0.1em;
|
|
text-align: center;
|
|
font-weight: bold;
|
|
color: red;
|
|
}
|
|
#controlsContainer {
|
|
text-align: center;
|
|
padding-left: 20px;
|
|
}
|
|
#controlsContainer input {
|
|
min-width: 80px;
|
|
padding: 10px;
|
|
}
|
|
#arrowsTable td {
|
|
width: 30px;
|
|
height: 30px;
|
|
}
|
|
.livesStatus {
|
|
margin-top: 30px;
|
|
font-size: 24px;
|
|
display: none;
|
|
}
|
|
#restart {
|
|
padding: 10px;
|
|
}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
|
|
<div id="task">
|
|
<h1>Haamut</h1>
|
|
<div id="tabsContainer"></div>
|
|
<div id="taskContent">
|
|
<p class="hard" id="difficultyWarning"></p>
|
|
<p>
|
|
Siirrä majava keltaisen ympyrän luo ilman että <span class="easy medium">haamu</span><span class="hard">haamut</span> saavat majavaa kiinni. </p>
|
|
<p>Voit siirtää majavaa nuolinäppäimillä tai klikkaamalla ruudukkoa.
|
|
</p>
|
|
<p class="easy medium">
|
|
Huomaa, että haamu liikkuu koko ajan saman periaatteen mukaisesti. Yritä välttää sitä!
|
|
</p>
|
|
<p class="hard">
|
|
Huomaa, että haamut liikkuvat koko ajan saman periaatteen mukaisesti. Yritä välttää niitä!
|
|
</p>
|
|
|
|
<div id="anim_container">
|
|
<table>
|
|
<tr>
|
|
<td>
|
|
<div id="anim"></div>
|
|
</td>
|
|
<td id="controlsContainer">
|
|
<input type="button" id="undo" value="Peru" />
|
|
<br>
|
|
<div class="livesStatus"></span>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<div id="feedback"></div>
|
|
<input type="button" id="restart" value="Aloita alusta" />
|
|
</div>
|
|
<img src="icon.png" style="display:none">
|
|
<img src="castor.png" style="display:none">
|
|
<img id="image_ghost1" src="ghost1.png" style="display:none">
|
|
<img id="image_ghost2" src="ghost2.png" style="display:none">
|
|
</div>
|
|
</div><!-- task -->
|
|
<div id="solution">
|
|
|
|
<h2>Ratkaisu</h2>
|
|
|
|
|
|
<style>
|
|
.table-sol img {
|
|
width: 240px;
|
|
}
|
|
.table-sol td {
|
|
width: 250px;
|
|
padding-bottom: 20px;
|
|
vertical-align: bottom;
|
|
}
|
|
.table-sol p {
|
|
margin: 0px 0px 5px 0px;
|
|
}
|
|
</style>
|
|
|
|
<div class="easy">
|
|
<table class="table-sol"><tr>
|
|
<td>
|
|
<p>Haluamme jumittaa haamun.</p>
|
|
<img src="Sol_easy_1.png">
|
|
</td>
|
|
<td>
|
|
<p>Houkutellaan se ensin oikealle.</p>
|
|
<img src="Sol_easy_2.png">
|
|
</td>
|
|
<td>
|
|
<p>Palataan sitten vasemmalle.</p>
|
|
<img src="Sol_easy_3.png">
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>Nyt voimme liikkua alas.</p>
|
|
<img src="Sol_easy_4.png">
|
|
</td>
|
|
<td>
|
|
<p>Ja pääsimme maaliin!</p>
|
|
<img src="Sol_easy_5.png">
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="medium">
|
|
|
|
<table class="table-sol"><tr>
|
|
<td>
|
|
<p>Haluamme jumittaa haamun.</p>
|
|
<img src="Sol_medium_1.png">
|
|
</td>
|
|
<td>
|
|
<p>Houkutellaan se ensin oikealle.</p>
|
|
<img src="Sol_medium_2.png">
|
|
</td>
|
|
<td>
|
|
<p>Palataan sitten vasemmalle.</p>
|
|
<img src="Sol_medium_3.png">
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>Nyt voimme liikkua alas ja maaliin.</p>
|
|
<img src="Sol_medium_4.png">
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="hard">
|
|
|
|
<table class="table-sol"><tr>
|
|
<td>
|
|
<p>Houkutellaan molemmat haamut...</p>
|
|
<img src="Sol_hard_0.png">
|
|
</td>
|
|
<td>
|
|
<p>...kohti kulmia.</p>
|
|
<img src="Sol_hard_1.png">
|
|
</td>
|
|
<td>
|
|
<p>Nyt ne molemmat ovat jumissa.</p>
|
|
<img src="Sol_hard_2.png">
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>Mennään alas vasenta laitaa pitkin</p>
|
|
<img src="Sol_hard_3.png">
|
|
</td>
|
|
<td>
|
|
<p>Ja palataan ylös jumittaen alempi haamu.</p>
|
|
<img src="Sol_hard_4.png">
|
|
</td>
|
|
<td>
|
|
<p>Houkutellaan alempi haamu oikealle...</p>
|
|
<img src="Sol_hard_5.png">
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<p>...ja sitten vasemmalle, jättäen sen taas jumiin.</p>
|
|
<img src="Sol_hard_6.png">
|
|
</td>
|
|
<td>
|
|
<p>Nyt voimme mennä alas...</p>
|
|
<img src="Sol_hard_7.png">
|
|
</td>
|
|
<td>
|
|
<p>...ja jatkaa maaliin.</p>
|
|
<img src="Sol_hard_8.png">
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
</div>
|
|
|
|
<h2>Tämä on tietojenkäsittelyä!</h2>
|
|
<p>Tässä tehtävässä meidän piti ensin <b>takaisinmallintaa</b>, millaisen periaatteen mukaan haamu liikkuu: aina kohti majavaa. Sen jälkeen meidän piti päätellä, kuinka tämä haamun yksinkertainen liikkumisperiaate voidaan voittaa hyödyntämällä ruudukon esteitä.</p>
|
|
<p><b>Takaisinmallinnus</b> on tietojenkäsittelyn käsite, joka viittaa yleisesti ottaen jonkin järjestelmän tai ohjelman toiminnallisuuden selvittämiseen esimerkiksi sen suoritusta seuraamalla. Katso esim. <a href="https://fi.wikipedia.org/wiki/Takaisinmallinnus" target="_blank">https://fi.wikipedia.org/wiki/Takaisinmallinnus</a>.</p>
|
|
|
|
</div> <!-- task-solution -->
|
|
</body>
|
|
</html>
|