Creative Projects for Rust Programmers by Carlo Milanesi

Creative Projects for Rust Programmers by Carlo Milanesi

Author:Carlo Milanesi
Language: eng
Format: mobi, epub
Tags: COM011000 - COMPUTERS / Systems Architecture / General, COM051000 - COMPUTERS / Programming / General, COM051230 - COMPUTERS / Software Development and Engineering / General
Publisher: Packt Publishing
Published: 2020-06-19T07:28:59+00:00


Analyzing the code

And now, let's see all the code of the project that differs from the previous project. There is a new constant, as can be seen in the following code snippet:

const MIN_TIME_DURATION: f64 = 0.1;

This is to solve the following problem. If the game has a frame rate of 50 FPS, the window is redrawn 50 times per second, and each time using the latest values of the variables. Regarding time, it is a number that would change so rapidly that it would be impossible to read. Therefore, this constant sets the maximum rate of change of the displayed time.

The model has several new fields, as can be seen in the following code snippet:

elapsed_sec: f64,

elapsed_shown_sec: f64,

font_style: FontStyle,

font: Asset<Font>,

whoosh_sound: Asset<Sound>,

bump_sound: Asset<Sound>,

click_sound: Asset<Sound>,

two_notes_sound: Asset<Sound>,

The meaning of these fields is described as follows:

elapsed_sec is the fractional number of seconds elapsed since the start of the current race, using the maximum resolution available.

elapsed_shown_sec is the fractional number to show to the user as the number of elapsed seconds since the start of the current race.

font_style contains the size and color of the text to print.

font is the future value of the font to use to print the text of the screen.

whoosh_sound is the future value of the sound to play during the turns of the running ski.

bump_sound is the future value of the sound to play when a gate is missed.

click_sound is the future value of the sound to play when a race is started.

two_notes_sound is the future value of the sound to play when the finish gate is crossed.



Download



Copyright Disclaimer:
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.