I've made My first function using parameters!

I’m so proud of myself!

I just managed to make a function that use parameters. This open possibilities for a mechanics I’ve been trying to hack my mind in how to implement.

For example, a way to simule complex operations in the background while the player is making decisions (like a Do while?) .

This way I could make a game were, as the weeks go by, certain random events may happen. (Accidental encounters. Prices fluctuations, weather changing??)

Here is the link: Dice roller


I’m putting the code here, so you guys could point ways for me to improve/clean, well if you feel like to. lol :smiley:

Here is the Code:

*label test_comb
*temp dice 0
*temp times 0
*temp total 0

This is a simple die roll algorithm. Made by Victoro because he needs to better his (nonexistent?) coding skills.

please Enter how many sides do your dice got (Ex. six)

  #two sides (like a coin)
    *set dice 2
  #four sides
    *set dice 4
    *set dice 6
    *set dice 20
  #A hundred?
    *set dice 100
  #lemme put it!
    *input_number dice 2 999
please Enter how many times do your dice got to row? 

  #Two times
    *set times 2
  #four times
    *set times 4
  #lemme put it!
    *input_number times 2 20


*comment "For" is a scene written as a 
*comment For-like function. It receives 
*comment a number and a name as 
*comment parameters. the number is 
*comment for the number of times a 
*comment command must be repeated
*comment and the name is the
*comment command to be repeated. 

*gosub For times "roll_dice" dice

The total of points accumulated is: ${total}


*label For
*comment For(i=0; i<=x; i++)
*comment   DO {action}

Program: The number of parameters in this function is: ${param_count}

this function repeat ${param_1} times

this function executes the function" ${param_2} " each time it repeats.

*comment This function accepts other functions calls if you wish!

*temp count 0
*temp limit param_1
*label for_each
*if (count<limit)
  *gosub {param_2} param_3
  *set count +1
  [i]The die row count is[/i]: ${count} time(s)
  *gosub for_each
  [i][b]end of For[/b][/i]

*label roll_dice
*temp return
*rand return 1 param_1

Program: [i]The dice rolled[/i] ${return}

*set total + return
Summary: [b]The total points cumulated is[/b] ${total}



Very interesting. It would be cool if the FOR loop became a native feature in Choicescript.

1 Like