mirror of
https://github.com/vlang/v.git
synced 2025-09-14 23:12:33 +03:00
examples: add fireworks example (#8358)
This commit is contained in:
parent
90ecbde712
commit
ba3342a034
6 changed files with 225 additions and 0 deletions
28
examples/fireworks/modules/objects/vector.v
Normal file
28
examples/fireworks/modules/objects/vector.v
Normal file
|
@ -0,0 +1,28 @@
|
|||
module objects
|
||||
|
||||
import math
|
||||
import rand
|
||||
|
||||
pub struct Vector {
|
||||
pub mut:
|
||||
x f32
|
||||
y f32
|
||||
}
|
||||
|
||||
pub fn (a Vector) + (b Vector) Vector {
|
||||
return Vector{a.x + b.x, a.y + b.y}
|
||||
}
|
||||
|
||||
pub fn (vector Vector) mult(scalar f32) Vector {
|
||||
return Vector{vector.x * scalar, vector.y * scalar}
|
||||
}
|
||||
|
||||
pub fn random_vector_in_circle() Vector {
|
||||
theta := rand.f32n(2 * math.pi)
|
||||
y := rand.f32()
|
||||
|
||||
return {
|
||||
x: f32(y * math.sin(theta))
|
||||
y: f32(y * math.cos(theta))
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue