What is the logic for winning money in this MATLAB dice game?

  • Context: MATLAB 
  • Thread starter Thread starter Judas543
  • Start date Start date
  • Tags Tags
    Dice Game Matlab
Click For Summary
SUMMARY

The discussion focuses on creating a MATLAB script for a dice game where players roll a die 12 times and win money based on specific outcomes. The game rules state that rolling a "ONE" or "FIVE" at least six times results in a $2 win, while rolling "THREE" exactly three times results in a $1 win. Participants are required to implement a main script that calls a function named "diceGame," which processes the results and calculates the winnings based on the defined conditions.

PREREQUISITES
  • Understanding of MATLAB programming, specifically script and function creation.
  • Familiarity with random number generation in MATLAB using the rand function.
  • Knowledge of control structures in MATLAB, such as loops and conditionals.
  • Ability to manipulate arrays in MATLAB to store and analyze dice roll results.
NEXT STEPS
  • Explore MATLAB's random number generation functions to enhance simulation accuracy.
  • Learn about MATLAB arrays and how to efficiently store and iterate through data.
  • Investigate MATLAB's function creation and how to pass parameters between scripts and functions.
  • Study conditional statements in MATLAB to implement complex game logic effectively.
USEFUL FOR

This discussion is beneficial for MATLAB programmers, game developers, and educators looking to implement simple game logic and random simulations in their projects.

Judas543
Messages
6
Reaction score
0
This script looks easy but from staring at it for countless times and referring to a book, I can't figure it out...I'm really stressing out

Anyways these are the instructions...So you need 1 main script and then a function script

1.You are playing a game where you roll a die 12 times. In Matlab, you simulate each result by generating a random number between [1...6] (1 point)

2.If you run a “ONE” or a “FIVE” at least six times, you win 2 dollars, or if you run “THREE” three times you win 1 dollar. (2 points)


3.Create a Matlab script that calls a function “diceGame” (1 point) that takes in a vector representing the 12 dice values and return the amount of money won.



This is what I have right now..Missing some stuff though
What I do know that I need to have a "count"
for k = 1:12
dice_result = ceil(rand * 6);
end
 
Physics news on Phys.org
You need some logic to do this. Your loop should fill an array of size 12 with the values of the 12 rolls of the die.

The main part of your m-file should cycle through the array, looking at each value. Each For each value in the array (think for loop), if the result is 1, increment a variable (one_count). If the result is 5, increment another variable (five_count). If the result is 3, increment a variable (three_count).

After your loop, inspect these three variables. If one_count >= 6 or if five_count >= 6, you win $2. If three_count == 3, you win $1. (As stated, it appears that you don't win the dollar if three_count > 3.)
 

Similar threads

  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 53 ·
2
Replies
53
Views
10K
  • · Replies 8 ·
Replies
8
Views
3K
  • · Replies 6 ·
Replies
6
Views
19K
  • · Replies 41 ·
2
Replies
41
Views
6K
  • · Replies 2 ·
Replies
2
Views
10K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 4 ·
Replies
4
Views
1K
Replies
1
Views
4K