🎉」 init: hello world !

This commit is contained in:
2025-05-28 12:10:02 +02:00
commit 9bff691192
161 changed files with 230316 additions and 0 deletions

View File

@ -0,0 +1,609 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>cub3D correction</title>
<link rel="shortcut icon" href="../../assets/favicons/favicon_no-bg.ico" type="image/x-icon">
<link href="../../css/styles.css" media="all" rel="stylesheet" />
<link rel="manifest" href="../../manifest.json">
<script src="../../js/script.js"></script>
</head>
<body>
<script>
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('../../js/service-worker.js')
.then(function(registration) {
console.log('Service Worker registered successfully:', registration);
})
.catch(function(error) {
console.log('Service Worker registration failed:', error);
});
}
</script>
<span class="menu">
<a id="backToProject" href="../../">Go to homepage 🏠</a>
</span>
<div class="container-item scale-team-container">
<div class="row mt-4">
<div class="scale-section-infos col-sm-12 scale-div">
<h3 class="font-weight-bold text-uppercase text-center mt-4 pt-4">
<br><br>Scale for project
<a href="https://projects.intra.42.fr/projects/cub3d">cub3D</a>
</h3>
<h5 class="text-muted text-center">You should evaluate 2 student in this team</h5>
<hr>
<div class="p-0 scale-introduction dancer from-down" id="introduction-24645">
<h3 class="font-weight-bold mb-1">Introduction</h3>
<p>
Please respect the following rules:<br><br>- Remain polite, courteous, respectful and
constructive throughout the <br> evaluation process. The well-being of the community depends on
it.<br><br>- Identify with the person (or the group) evaluated the eventual <br>
dysfunctions of the work. Take the time to discuss and debate the <br> problems that may
have been identified.<br><br>- You must consider that there might be some difference in how
your peers <br> might have understood the project's instructions and the scope of its <br>
functionalities. Always keep an open mind and grade them as honestly as <br> possible. The
pedagogy is valid only and only if the peer evaluation is <br> done seriously.<br>
</p>
</div>
<div class="p-0 scale-guidelines dancer from-down" id="guidelines-24645">
<h3 class="font-weight-bold mb-1">Guidelines</h3>
<p>
- Only grade the work that is in the student or group's Git repository.
<br><br>- Double-check that the Git repository belongs to the student or the group. Ensure that
<br>
the work is for the relevant project and also check that "git clone" is used in an empty folder.
<br><br>- Check carefully that no malicious aliases was used to fool you and make you
<br> evaluate something that is not the content of the official repository.<br><br>- To avoid
any surprises, carefully check that both the evaluating<br> and the evaluated students have
reviewed the possible scripts used
to facilitate the grading.<br><br>- If the evaluating student has not completed that particular
project yet, it is mandatory for this student to read the entire subject before starting the
defense.
<br><br>- Use the flags available on this scale to signal an empty repository,
non-functioning program, norm error, cheating etc. In these
cases, the grading is over and the final grade is 0 (or -42 in case cheating). However, except
for cheating, you are
encouraged to continue to discuss your work (even if you
have not
finished it) to identify any issues that may have caused this failure and avoid repeating the
same mistake in the future.
<br><br>-- Remember that for the duration of the defense, no
segfault,
no other unexpected, premature, uncontrolled or
unexpected
termination of the program, else the final grade is O. Use
the
appropriate flag.<br><br>You should never have to edit any file except the
configuration file if it exists.
If you want to edit a file, take the time to explicit the reasons
with the
evaluated student and make sure both of you are okay with
this.
<br><br>- You must also verify the absence of memory leaks. Any
memory allocated on the heap must
be properly freed before the end of execution. You are allowed to use any of the different tools
available
on the computer, such as
leaks, valgrind, or e_fence. In case of memory leaks, tick the appropriate flag.<br>
</p>
</div>
<hr>
<div class="dancer from-down" id="attachments-24645">
<h3 class="font-weight-bold mb-1">Attachments</h3>
<div class="project-attachments-list">
</div>
<div class="project-attachments-list">
<div class="project-attachment-item">
<h4 class="attachment-name">
<span class="icon-file"></span>
<a target="_blank" href="https://github.com/rphlr/42-Subjects/">subject.pdf</a>
<span class="icon-file"></span>
<a target="_blank" href="https://github.com/rphlr/42-Subjects/"
class="attachment-download">minilibx_opengl.tgz</a>
<span class="icon-file"></span>
<a target="_blank" href="https://github.com/rphlr/42-Subjects/"
class="attachment-download">minilibx_mms_20200219_beta.tgz</a>
</h4>
</div>
</div>
</div>
</div>
<form class="simple_form form-horizontal" novalidate="novalidate" id="edit_scale_team_5422972"
action="https://projects.intra.42.fr/projects/42cursus-philosophers/project_sessions/3320/evaluations/1599/scales/24645/scale_teams/5422972"
accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓"><input type="hidden"
name="_method" value="patch"><input type="hidden" name="authenticity_token"
value="ZkyeHJiPBawYYypB3ZeNyewnhCm+8MjQ+Dd60WIU6Y6msl5IKl/IaXrRWUDaTXYEV43NGlXmrIarxQldqGOeoQ==">
<div class="scale-section-answers col-sm-12 scale-div">
<section class="scale-section-item dancer from-down" id="section-69350">
<div class="section-header">
<h3 class="font-weight-bold mb-1">Mandatory Part</h3>
<p class="font-italic"></p>
</div>
<h4 class="scale-question-name">Executable name</h4>
<p class="scale-section-guidelines">
</p>
<p>Check that the project compiles well (without re-link) when
you execute the <code>make</code>
command and that the executable name is <code>cub3D</code>. If not, use the invalid
compilation flag at the end of the
scale.</p>
<p></p>
<div class="scale-question-answers">
<div class="form-group hidden scale_team_answer_id">
<div class="col-sm-10"><input class="form-control hidden"
name="[scale_team][answers_attributes][0][id]" type="hidden"
id="scale_team_answer_id"></div>
</div>
<div class="form-group hidden scale_team_answer_question_id">
<div class="col-sm-10"><input class="form-control hidden" value="234741"
name="[scale_team][answers_attributes][0][question_id]" type="hidden"
id="scale_team_answer_question_id"></div>
</div>
<div class="btn-group block">
<input autocomplete="off" class="checkbox-input"
name="[scale_team][answers_attributes][0][value]"
id="radio_[scale_team][answers_attributes][0]_true" type="radio" value="1">
<label class="btn btn-success checkbox-label light-bg"
for="radio_[scale_team][answers_attributes][0]_true">
<span class="icon-check"></span>
Yes
</label>
<input autocomplete="off" class="checkbox-input"
name="[scale_team][answers_attributes][0][value]"
id="radio_[scale_team][answers_attributes][0]_false" type="radio" value="0"
checked="checked">
<label class="btn btn-danger checkbox-label light-bg"
for="radio_[scale_team][answers_attributes][0]_false">
<span class="icon-times"></span>
No
</label>
</div>
</div>
<h4 class="scale-question-name">Configuration file</h4>
<p class="scale-section-guidelines">
</p>
<p>Check that you can configure ALL the following elements in
the configuration file.
The formating has to be as described in the subject.
<ul>
<li>north texture path - NO</li>
<li>north texture path - NO</li>
<li>east texture path - EA</li>
<li>south texture path - SO</li>
<li>west texture path - WE</li>
<li>floor color - F</li>
<li>ceiling color - C</li>
<li>the map (see subject for the map configuration details)</li>
</ul>
Also, check that the program returns an error and exits properly when
the configuration file is misconfigured (for example an unknown key, double keys,
an invalid path..) or if the filename doesn't end with the
<code>.cub</code> extension.
If not, the defense is over and use the appropriate flag incomplete work, crash....</p>
<p></p>
<div class="scale-question-answers">
<div class="form-group hidden scale_team_answer_id">
<div class="col-sm-10"><input class="form-control hidden"
name="[scale_team][answers_attributes][1][id]" type="hidden"
id="scale_team_answer_id"></div>
</div>
<div class="form-group hidden scale_team_answer_question_id">
<div class="col-sm-10"><input class="form-control hidden" value="234742"
name="[scale_team][answers_attributes][1][question_id]" type="hidden"
id="scale_team_answer_question_id"></div>
</div>
<div class="btn-group block">
<input autocomplete="off" class="checkbox-input"
name="[scale_team][answers_attributes][1][value]"
id="radio_[scale_team][answers_attributes][1]_true" type="radio" value="1">
<label class="btn btn-success checkbox-label light-bg"
for="radio_[scale_team][answers_attributes][1]_true">
<span class="icon-check"></span>
Yes
</label>
<input autocomplete="off" class="checkbox-input"
name="[scale_team][answers_attributes][1][value]"
id="radio_[scale_team][answers_attributes][1]_false" type="radio" value="0"
checked="checked">
<label class="btn btn-danger checkbox-label light-bg"
for="radio_[scale_team][answers_attributes][1]_false">
<span class="icon-times"></span>
No
</label>
</div>
</div>
<h4 class="scale-question-name">Technical elements of the display</h4>
<p class="scale-section-guidelines">
</p>
We're going to evaluate the technical elements of the
display. Run the program and execute the following tests. If at least one
fails, no points will be awarded for this section. Move to the
next one.
<ul>
<li>A window must open at the launch of the program. A window must open at the launch of the
program.</li>
<li>An image representing the inside of a maze must be
displayed inside the window.</li>
<li>Hide all or part of the window either by using another window
or by using the screen's borders, then minimize the
windows
and maximize it back. In all cases, the content of the window
must remain consistent.</li>
</ul>
<p></p>
<div class="scale-question-answers">
<div class="form-group hidden scale_team_answer_id">
<div class="col-sm-10"><input class="form-control hidden"
name="[scale_team][answers_attributes][2][id]" type="hidden"
id="scale_team_answer_id"></div>
</div>
<div class="form-group hidden scale_team_answer_question_id">
<div class="col-sm-10"><input class="form-control hidden" value="234743"
name="[scale_team][answers_attributes][2][question_id]" type="hidden"
id="scale_team_answer_question_id"></div>
</div>
<div class="btn-group block">
<input autocomplete="off" class="checkbox-input"
name="[scale_team][answers_attributes][2][value]"
id="radio_[scale_team][answers_attributes][2]_true" type="radio" value="1">
<label class="btn btn-success checkbox-label light-bg"
for="radio_[scale_team][answers_attributes][2]_true">
<span class="icon-check"></span>
Yes
</label>
<input autocomplete="off" class="checkbox-input"
name="[scale_team][answers_attributes][2][value]"
id="radio_[scale_team][answers_attributes][2]_false" type="radio" value="0"
checked="checked">
<label class="btn btn-danger checkbox-label light-bg"
for="radio_[scale_team][answers_attributes][2]_false">
<span class="icon-times"></span>
No
</label>
</div>
</div>
<h4 class="scale-question-name">User basic events</h4>
<p class="scale-section-guidelines">
</p>
In this section, we're going to evaluate the program's user
generated events. Execute the 3 following tests. If at least
one
fails, this means that no points will be awarded for this section.
Move to the next one.
<ul>
<li>Click the red cross at the top left of the window. The
window must close and the program must exit
cleanly.</li>
<li>Press the ESC key. The window must close and the
program must exit cleanly. In the case of this test, we will
accept that another key exits the program, for example, Q.</li>
<li>Press the four movement keys (we'll accept WASD
or ZQSD keys)
in the order of your liking. Each key press must
render a
visible result on the window, such as a player's movement/rotation.</li>
</ul>
<p></p>
<div class="scale-question-answers">
<div class="form-group hidden scale_team_answer_id">
<div class="col-sm-10"><input class="form-control hidden"
name="[scale_team][answers_attributes][3][id]" type="hidden"
id="scale_team_answer_id"></div>
</div>
<div class="form-group hidden scale_team_answer_question_id">
<div class="col-sm-10"><input class="form-control hidden" value="234744"
name="[scale_team][answers_attributes][3][question_id]" type="hidden"
id="scale_team_answer_question_id"></div>
</div>
<div class="btn-group block">
<input autocomplete="off" class="checkbox-input"
name="[scale_team][answers_attributes][3][value]"
id="radio_[scale_team][answers_attributes][3]_true" type="radio" value="1">
<label class="btn btn-success checkbox-label light-bg"
for="radio_[scale_team][answers_attributes][3]_true">
<span class="icon-check"></span>
Yes
</label>
<input autocomplete="off" class="checkbox-input"
name="[scale_team][answers_attributes][3][value]"
id="radio_[scale_team][answers_attributes][3]_false" type="radio" value="0"
checked="checked">
<label class="btn btn-danger checkbox-label light-bg"
for="radio_[scale_team][answers_attributes][3]_false">
<span class="icon-times"></span>
No
</label>
</div>
</div>
<h4 class="scale-question-name">Movements</h4>
<p class="scale-section-guidelines">
</p>
In this section, we'll evaluate the implementation of the player's movement/orientation inside
the maze. Execute the 5 following tests. If at least one fails, this means that no points will
be awarded for this section.
<ul>
<li>The player's spawning orientation on the first image
must be in accordance
with the configuration file, test for each cardinal orientation (N, S, E, W).</li>
<li>Press the left arrow then the right arrow.
The player's view must rotate to the left
then to the right as if the player's head was moving.</li>
<li>Press W (or Z) then S.
The player's view must go forward and then backward in a
straight line.</li>
<li>Press A (or Q) then D.</li>
<li>The player's view must go to the left and then to the
right in a
straight line.</li>
<li>During those four movements, was the display smooth? By smooth we mean is the game
"playable" or is it
slow.</li>
</ul>
<p></p>
<div class="scale-question-answers">
<div class="form-group hidden scale_team_answer_id">
<div class="col-sm-10"><input class="form-control hidden"
name="[scale_team][answers_attributes][4][id]" type="hidden"
id="scale_team_answer_id"></div>
</div>
<div class="form-group hidden scale_team_answer_question_id">
<div class="col-sm-10"><input class="form-control hidden" value="234744"
name="[scale_team][answers_attributes][4][question_id]" type="hidden"
id="scale_team_answer_question_id"></div>
</div>
<div class="btn-group block">
<input autocomplete="off" class="checkbox-input"
name="[scale_team][answers_attributes][4][value]"
id="radio_[scale_team][answers_attributes][4]_true" type="radio" value="1">
<label class="btn btn-success checkbox-label light-bg"
for="radio_[scale_team][answers_attributes][4]_true">
<span class="icon-check"></span>
Yes
</label>
<input autocomplete="off" class="checkbox-input"
name="[scale_team][answers_attributes][4][value]"
id="radio_[scale_team][answers_attributes][4]_false" type="radio" value="0"
checked="checked">
<label class="btn btn-danger checkbox-label light-bg"
for="radio_[scale_team][answers_attributes][4]_false">
<span class="icon-times"></span>
No
</label>
</div>
</div>
<h4 class="scale-question-name">Walls</h4>
<p class="scale-section-guidelines">
</p>
In this section, we'll evaluate the walls in the maze. Execute the 4 following tests. If at
least one fails, this means that no points will be awarded for this
section.
<ul>
<li>The wall's texture vary depending on which compass point the wall is facing
(north, south, east, west). Check that the textures on the walls and perspective
are
visible and correct.</li>
<li>Check that if you modify the path of a wall texture in
the configuration file,
it modifies the rendered texture when the program is
re-executed.
Also check that if you set a non-existent path it
raises an error.</li>
<li>Check that the floor and ceiling colors are well handled when you modify them in the
configuration
file.</li>
</ul>
<p></p>
<div class="scale-question-answers">
<div class="form-group hidden scale_team_answer_id">
<div class="col-sm-10"><input class="form-control hidden"
name="[scale_team][answers_attributes][5][id]" type="hidden"
id="scale_team_answer_id"></div>
</div>
<div class="form-group hidden scale_team_answer_question_id">
<div class="col-sm-10"><input class="form-control hidden" value="234744"
name="[scale_team][answers_attributes][5][question_id]" type="hidden"
id="scale_team_answer_question_id"></div>
</div>
<div class="btn-group block">
<input autocomplete="off" class="checkbox-input"
name="[scale_team][answers_attributes][5][value]"
id="radio_[scale_team][answers_attributes][5]_true" type="radio" value="1">
<label class="btn btn-success checkbox-label light-bg"
for="radio_[scale_team][answers_attributes][5]_true">
<span class="icon-check"></span>
Yes
</label>
<input autocomplete="off" class="checkbox-input"
name="[scale_team][answers_attributes][5][value]"
id="radio_[scale_team][answers_attributes][5]_false" type="radio" value="0"
checked="checked">
<label class="btn btn-danger checkbox-label light-bg"
for="radio_[scale_team][answers_attributes][5]_false">
<span class="icon-times"></span>
No
</label>
</div>
</div>
<h4 class="scale-question-name">Error management</h4>
<p class="scale-section-guidelines">
</p>
In this section, we'll evaluate the program's error management
and reliability. Execute the 4 following tests. If at least one
fails, this means that no points will be awarded for this
section. Move to the next one.
<ul>
<li>Run the program using numerous arguments and
random values.
Even if the program doesn't require any arguments,
it is
critical that those arguments don't alternate or
create
unhandled errors.</li>
<li>Check that there are no memory leaks. You can use
the
top or leaks command in another shell to monitor that the memory
use is stable. The memory used must not increase
each time an
action is made.</li>
<li>Roll either your arm or your face on the keyboard.
The program must not show any strange behaviors and it must stay functional.</li>
<li>Modify the map. The program must not show any
strange behaviors
and it must stay functional if the map is well configured, if not it must raise an
error.</li>
</ul>
<p></p>
<div class="scale-question-answers">
<div class="form-group hidden scale_team_answer_id">
<div class="col-sm-10"><input class="form-control hidden"
name="[scale_team][answers_attributes][6][id]" type="hidden"
id="scale_team_answer_id"></div>
</div>
<div class="form-group hidden scale_team_answer_question_id">
<div class="col-sm-10"><input class="form-control hidden" value="234744"
name="[scale_team][answers_attributes][6][question_id]" type="hidden"
id="scale_team_answer_question_id"></div>
</div>
<div class="btn-group block">
<input autocomplete="off" class="checkbox-input"
name="[scale_team][answers_attributes][6][value]"
id="radio_[scale_team][answers_attributes][6]_true" type="radio" value="1">
<label class="btn btn-success checkbox-label light-bg"
for="radio_[scale_team][answers_attributes][6]_true">
<span class="icon-check"></span>
Yes
</label>
<input autocomplete="off" class="checkbox-input"
name="[scale_team][answers_attributes][6][value]"
id="radio_[scale_team][answers_attributes][6]_false" type="radio" value="0"
checked="checked">
<label class="btn btn-danger checkbox-label light-bg"
for="radio_[scale_team][answers_attributes][6]_false">
<span class="icon-times"></span>
No
</label>
</div>
</div>
</section>
<section class="scale-section-item dancer from-down" id="section-69351">
<div class="section-header">
<hr>
<h3 class="font-weight-bold mb-1">Bonus</h3>
<p class="font-italic">We will look at your bonuses if and only if your mandatory
part is excellent. This means that you must complete the mandatory part, beginning to
end, and your error management must be flawless, even in cases of twisted or
bad usage. So if the mandatory part didn't score all the
points during this defense bonuses will be totally ignored.</p>
</div>
<h4 class="scale-question-name">When I'll be older I'll be John Carmack</h4>
<p class="scale-section-guidelines">
Look at the subject bonus part and add one point for each bonus implemented and fully
functional.
</p>
<div class="marked-title text-center">Rate it from 0 (failed) through 5 (excellent)</div>
<input autocomplete="off" class="star-range" data-star-range="" max="5"
name="[scale_team][answers_attributes][3][value]" step="1" type="range" value="0"
style="position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0;">
<hr>
</div>
</section>
</div>
<div class="col-sm-12 scale-div pb-4">
<div class="dancer from-down" id="ratings-24645">
<h3 class="font-weight-bold mb-1">Ratings</h3>
<p class="marked-title">Dont forget to check the flag corresponding to the defense</p>
<div class="btn-group block flags-buttons" data-radio-item="flag-small">
<label class="btn btn-default btn-success label_flag_ok on-active positive"
for="scale_team_flag_id_1" name="scale_team[flag_id]">
<span class="iconf-check-4"></span>
Ok
</label>
<label class="btn btn-default btn-success label_flag_outstanding_project on-active positive"
for="scale_team_flag_id_9" name="scale_team[flag_id]">
<span class="iconf-star-1"></span>
Outstanding project
</label>
</div>
<div class="btn-group block flags-buttons" data-radio-item="flag-small">
<label class="btn btn-danger btn-default label_flag_empty_work negative on-active"
for="scale_team_flag_id_2" name="scale_team[flag_id]">
<span class="iconf-iconf-folder-1"></span>
Empty work
</label>
<label class="btn btn-danger btn-default label_flag_incomplete_work negative on-active"
for="scale_team_flag_id_3" name="scale_team[flag_id]">
<span class="iconf-file-attention"></span>
Incomplete work
</label>
<label class="btn btn-danger btn-default label_flag_invalid_compilation negative on-active"
for="scale_team_flag_id_5" name="scale_team[flag_id]">
<span class="iconf-skull-2"></span>
Invalid compilation
</label>
<label class="btn btn-danger btn-default label_flag_norme negative on-active"
for="scale_team_flag_id_6" name="scale_team[flag_id]">
<span class="iconf-receipt-1"></span>
Norme
</label>
<label class="btn btn-danger btn-default label_flag_cheat negative on-active"
for="scale_team_flag_id_7" name="scale_team[flag_id]">
<span class="iconf-layers"></span>
Cheat
</label>
<label class="btn btn-danger btn-default label_flag_crash negative on-active"
for="scale_team_flag_id_8" name="scale_team[flag_id]">
<span class="iconf-bomb"></span>
Crash
</label>
<label class="btn btn-danger btn-default label_flag_concerning_situation negative on-active"
for="scale_team_flag_id_11" name="scale_team[flag_id]">
<span class="iconf-alert-2"></span>
Concerning situation
</label>
<label class="btn btn-danger btn-default label_flag_leaks negative on-active"
for="scale_team_flag_id_12" name="scale_team[flag_id]">
<span class="iconf-blood"></span>
Leaks
</label>
<label class="btn btn-danger btn-default label_flag_forbidden_function negative on-active"
for="scale_team_flag_id_13" name="scale_team[flag_id]">
<span class="iconf-delete-2"></span>
Forbidden function
</label>
<label class="btn btn-danger btn-default label_flag_cant_support_/_explain_code negative on-active"
for="scale_team_flag_id_14" name="scale_team[flag_id]">
<span class="iconf-bubble-attention-4"></span>
Cant support / explain code
</label>
</div>
</div>
</div>
<div class="col-sm-12 scale-div">
<h3 class="font-weight-bold mb-1">Conclusion</h3>
<br />
</div>
<div class="scale-final-submit"><a href="https://github.com/rphlr/42-Evals">
<input class="btn btn-primary btn-block font-weight-bold" type="button"
value="Give this repository a star. ⭐" /></a>
</div>
</form>
<script src="../../js/js"></script>
<script src="../../js/main.js"></script>
</body>
</html>