Question

Filename = ".\characters.txt"
LoadCharacters()

While MenuOption <> "x"
  TextWindow.Write("Menu : (a) adjust characters, (v) view 

characters, (x) exit, (c) Create Character : ")
  MenuOption = TextWindow.Read()
  MenuOption = Text.ConvertToLowerCase(MenuOption)
  If MenuOption = "a" Then
    TextWindow.WriteLine("Adjusting Characters")
    AdjustCharacters()
  EndIf  

  If MenuOption = "v" Then
    TextWindow.WriteLine("Viewing Characters")
    ViewCharacters()
  EndIf

  If MenuOption = "x" Then
    TextWindow.WriteLine("Exiting program")
    Program.Delay(500)
    Program.End()
  EndIf

  If MenuOption = "c" Then
    TextWindow.WriteLine("Creating Characters")
    Createcharacter()
  EndIf
EndWhile

'================================================
'c:

sub Createcharacter
  TextWindow.WriteLine("Please enter the number of 

characters you want")
  Characternum = TextWindow.ReadNumber()
    For x = 1 To Characternum
    TextWindow.WriteLine("Please enter the name of the 

character" + x)
    Character[x] = TextWindow.Read()
    Strength[x] = 10
    Skill[x] = 10
  EndFor
  AdjustCharacters()
EndSub 

'================================================
'a:

Sub AdjustCharacters
  For X = 1 To Characternum
    Strength[x] = Strength[x] + Math.Floor

(Math.GetRandomNumber(12)/Math.GetRandomNumber(4))
    Skill[x] = Skill[x] + Math.Floor(Math.GetRandomNumber

(12)/Math.GetRandomNumber(4))
  EndFor
  SaveCharacters()
EndSub

'================================================
'v:

Sub ViewCharacters
  For X = 1 To Characternum
    TextWindow.WriteLine("Character " + x + " - " + 

Character[x] + ", stength = " + Strength[x] + ", skill = " 

+ Skill[x])
  EndFor
EndSub

'================================================

Sub LoadCharacters
  ' Requires Filename to be set
  Characternum = File.ReadLine(Filename,1)
  TextWindow.WriteLine("Number of characters = " + 

Characternum)
  For x = 1 To Characternum
    Character[x] = File.ReadLine(Filename,x * 3 - 1) ' Get 

name
    Strength[x] = File.ReadLine(Filename,x * 3) ' Get 

strength
    Skill[x] = File.ReadLine(Filename,x * 3 + 1) ' Get 

skill
  EndFor
EndSub

'================================================

Sub SaveCharacters
  ' Requires Filename and TotalCharacters to be set
  File.WriteLine(Filename,1,Characternum)
  For x = 1 To Characternum
    File.WriteLine(Filename,x * 3 - 1,Character[x]) ' Set 

name
    File.WriteLine(Filename,x * 3, Strength[x]) ' Set 

strength
    File.WriteLine(Filename,x * 3 + 1, Skill[x]) ' Set 

skill
  EndFor
    EndSub  

Really stuck on it and need to get my head round it. Its in Small basic and I have to teach kids how to write this in pseudo code. If somebody could explain what this code could be used for it'd be much appreciated.

cheers

Était-ce utile?

La solution

It's part of a game, where the player is presented a menu to create, adjust and view game characters. Createcharacter asks the player for the names of the characters, adjust characters gives the charactes random strength and skill points, save characters writes the characters to a file, Load loads them from the file and puts them in memory, view characters prints the character names and stats on the screen.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top