1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- //
- // Grouping values in structs is not merely convenient. It also allows
- // us to treat the values as a single item when storing them, passing
- // them to functions, etc.
- //
- // This exercise demonstrates how we can store structs in an array and
- // how doing so lets us print them all (both) using a loop.
- //
- const std = @import("std");
- const Class = enum{
- wizard,
- thief,
- bard,
- warrior,
- };
- const Character = struct{
- class: Class,
- gold: u32,
- health: u8,
- experience: u32,
- };
- pub fn main() void {
- var chars: [2]Character = undefined;
- // Glorp the Wise
- chars[0] = Character{
- .class = Class.wizard,
- .gold = 20,
- .health = 100,
- .experience = 10,
- };
- // Please add "Zump the Loud" with the following properties:
- //
- // class bard
- // gold 10
- // health 100
- // experience 20
- //
- // Feel free to run this program without adding Zump. What does
- // it do and why?
- // Printing all RPG characters in a loop:
- for (chars) |c, num| {
- std.debug.print("Character {} - G:{} H:{} XP:{}\n",
- .{num+1, c.gold, c.health, c.experience});
- }
- std.debug.print("\n", .{});
- }
|