my ziglings
0

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'heatray'

Dave Gauer (Jul 31, 2022, 11:35 AM EDT) 18c761d8 00796028

+13 -8
+10 -5
exercises/047_methods.zig
··· 55 55 .health = strength * 5, 56 56 }; 57 57 } 58 + }; 59 + 60 + // Your trusty weapon. Zap those aliens! 61 + const HeatRay = struct { 62 + damage: u8, 58 63 59 64 // We love this method: 60 - pub fn zap(self: *Alien, damage: u8) void { 61 - self.health -= if (damage >= self.health) self.health else damage; 65 + pub fn zap(self: *HeatRay, alien: *Alien) void { 66 + alien.health -= if (self.damage >= alien.health) alien.health else self.damage; 62 67 } 63 68 }; 64 69 ··· 74 79 }; 75 80 76 81 var aliens_alive = aliens.len; 77 - var heat_ray_strength: u8 = 7; // We've been given a heat ray weapon. 82 + var heat_ray = HeatRay{ .damage = 7 }; // We've been given a heat ray weapon. 78 83 79 84 // We'll keep checking to see if we've killed all the aliens yet. 80 85 while (aliens_alive > 0) { ··· 83 88 // Loop through every alien... 84 89 for (aliens) |*alien| { 85 90 86 - // *** Zap the Alien Here! *** 87 - ???.zap(heat_ray_strength); 91 + // *** Zap the alien with the heat ray here! *** 92 + ???.zap(???); 88 93 89 94 // If the alien's health is still above 0, it's still alive. 90 95 if (alien.health > 0) aliens_alive += 1;
+3 -3
patches/patches/047_methods.patch
··· 1 - 87c87 2 - < ???.zap(heat_ray_strength); 1 + 92c92 2 + < ???.zap(???); 3 3 --- 4 - > alien.zap(heat_ray_strength); 4 + > heat_ray.zap(alien);