1
2
3pub fn test_gamepad_to_integer(){
14 println!("Hello, world for Eloi Crate!");
15 for _ in 0..10{
16 let input = gamepad_to_integer(
17 19,
18 get_random_float(),
19 get_random_float(),
20 get_random_float(),
21 get_random_float()
22 );
23 println!("Input: {}", input);
24 }
25
26 println!("T:{}", gamepad_to_integer(19,0.0,0.0,0.0,0.0));
27 println!("T:{}", gamepad_to_integer(19,1.0,0.0,0.0,0.0));
28 println!("T:{}", gamepad_to_integer(19,0.0,1.0,0.0,0.0));
29 println!("T:{}", gamepad_to_integer(19,0.0,0.0,1.0,0.0));
30 println!("T:{}", gamepad_to_integer(19,0.0,0.0,0.0,1.0));
31 println!("T:{}", gamepad_to_integer(19,1.0,1.0,1.0,1.0));
32 println!("T:{}", gamepad_to_integer(19,1.0,1.0,0.0,0.0));
33 println!("T:{}", gamepad_to_integer(19,0.0,0.0,1.0,1.0));
34
35 println!("T:{}", gamepad_to_integer(-19,0.0,0.0,0.0,0.0));
36 println!("T:{}", gamepad_to_integer(-19,1.0,0.0,0.0,0.0));
37 println!("T:{}", gamepad_to_integer(-19,0.0,1.0,0.0,0.0));
38 println!("T:{}", gamepad_to_integer(-19,0.0,0.0,1.0,0.0));
39 println!("T:{}", gamepad_to_integer(-19,0.0,0.0,0.0,1.0));
40 println!("T:{}", gamepad_to_integer(-19,1.0,1.0,1.0,1.0));
41 println!("T:{}", gamepad_to_integer(-19,1.0,1.0,0.0,0.0));
42 println!("T:{}", gamepad_to_integer(-19,0.0,0.0,1.0,1.0));
43}
44
45
46pub fn get_random_float() -> f32 {
48 return (rand::random::<f32>() - 0.5) * 2.0;
49}
50
51
52pub fn gamepad_to_integer(front_id:i8,lx:f32, ly:f32, rx:f32, ry:f32 )->i32
56{
57
58 let mut result:i32 =0;
59
60 result+= parse_percent11_to_integer99(lx)*1000000;
61 result+= parse_percent11_to_integer99(ly)*10000;
62 result+= parse_percent11_to_integer99(rx)*100;
63 result+= parse_percent11_to_integer99(ry)*1;
64
65 if front_id<0{
66 result += (-front_id as i32) * 100000000;
67 result = result *-1;
68 }
69 else {
70 result += (front_id as i32) * 100000000;
71 }
72 return result;
73}
74
75
76pub fn parse_percent11_to_integer99(percent11:f32) -> i32{
90 if percent11==0.00{
91 return 0;
92 }
93 return 1+ (( ( (percent11+1.0)*0.5 ) * 98.0 ) ) as i32;
94}
95
96
97pub use self::utils::random_println;
109
110pub mod utils{
111 use crate::gamepad_to_integer;
112 use crate::get_random_float;
113
114
115 pub fn random_println(){
116
117 println!("Hello, world for Eloi Crate!");
118 for _ in 0..10{
119 let input = gamepad_to_integer(
120 19,
121 get_random_float(),
122 get_random_float(),
123 get_random_float(),
124 get_random_float()
125 );
126 println!("Input: {}", input);
127 }
128
129 }
130
131
132}