www.webdeveloper.com
Results 1 to 2 of 2

Thread: Simple Yahtzee Program

  1. #1
    Join Date
    Oct 2012
    Posts
    3

    Simple Yahtzee Program

    I'm having issues with my code for a yahtzee program. Something is wrong with my second switch statement. The results are not being calculated, and printed on the screen. I'm still a beginner, so I'm having trouble deciphering what I did wrong.

    Here's the code:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title></title>
    </head>



    <body>
    <button type="button" onClick="throwDie()">Click To Play Yahtzee</button>

    <script>


    function throwDie()
    {

    var dieNum = new Array (12);
    var dieValue = new Array (6);
    var count = 0;

    for ( var i = 0; i <= 12; i++ )
    {
    var randthrow = Math.floor( (Math.random() *6) +1 );
    dieNum[i] = randthrow;
    }

    for( var i=0; i<12; i++ )

    switch (dieNum[i])
    {
    case 1:

    document.write ("<img src=http://people.bridgewater.edu/~vcapacci/Classes/2012-Fall-CSCI330/PA%27s/PA2/Dice/die1.png>");
    break;

    case 2:

    document.write ("<img src=http://people.bridgewater.edu/~vcapacci/Classes/2012-Fall-CSCI330/PA%27s/PA2/Dice/die2.png>");
    break;

    case 3:

    document.write ("<img src=\http://people.bridgewater.edu/~vcapacci/Classes/2012-Fall-CSCI330/PA%27s/PA2/Dice/die3.png>");
    break;

    case 4:

    document.write ("<img src=http://people.bridgewater.edu/~vcapacci/Classes/2012-Fall-CSCI330/PA%27s/PA2/Dice/die4.png>");
    break;

    case 5:

    document.write ("<img src=http://people.bridgewater.edu/~vcapacci/Classes/2012-Fall-CSCI330/PA%27s/PA2/Dice/die5.png>");
    break;

    case 6:

    document.write ("<img src=http://people.bridgewater.edu/~vcapacci/Classes/2012-Fall-CSCI330/PA%27s/PA2/Dice/die6.png>");
    break;

    count += dieNum[i];

    }

    document.write("<br>Results :" + count + "<br>");
    for(var i=0;i<6;i++){dieNum[i]=0;}

    for (var i=0;i<12;i++)


    switch (dieValue [i])

    {

    case 1:

    dieValue[0]++;
    break;

    case 2:

    dieValue[1]++;
    break;

    case 3:

    dieValue[2]++;
    break;

    case 4:

    dieValue[3]++;
    break;

    case 5:

    dieValue[4]++;
    break;

    case 6:

    dieValue[5]++;
    break;


    }

    document.writeln("Results");

    for(i=0;i<6;i++)
    {
    document.write((i+1)+":"+dieNum[i]+" ");
    }

    for(var i=0;i<6;i++)
    {
    if(dieNum[i]>=5)
    {
    alert("<h1>YAHTZEE!!</h1>");
    break;
    }
    }

    for(var i=0;i<6;i++)
    {
    if(dieNum[i]>=10)
    {
    alert("<h2><b>DOUBLE YAHTZEE!!</b></h2></font></center>");
    break;

    }

    }
    }

    </script>
    </body>
    </html>

  2. #2
    Join Date
    Dec 2005
    Location
    TX
    Posts
    7,931

    Lightbulb

    Basic game layout. It has no checks for winners/losers, dice sum or other fancy displays.
    Might simplify your convoluted (to me) logic and make it easier to modify and add effects.
    Code:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
     "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <title>Yahtzee Game</title>
    </head>
    <body>
    <h1> Yahtzee Game </h1>
    <button onClick="startGame()">New Player</button><p>
    <table border="1">
     <tr>
      <th> <br>Dice <p> Check to save </th>
      <th> <img src="" id="die0"> <br> <input type="checkbox" id="cb0"> </th>
      <th> <img src="" id="die1"> <br> <input type="checkbox" id="cb1"> </th>
      <th> <img src="" id="die2"> <br> <input type="checkbox" id="cb2"> </th>
      <th> <img src="" id="die3"> <br> <input type="checkbox" id="cb3"> </th>
      <th> <img src="" id="die4"> <br> <input type="checkbox" id="cb4"> </th>
     </tr>
    </table>
    <p>
    <button onclick="throwDie()">Next Roll</button>
    
    <script type="text/javascript">
    // Extensive modifications from: http://www.webdeveloper.com/forum/newreply.php?do=postreply&t=268019
    
    var baseURL = "http://people.bridgewater.edu/~vcapacci/Classes/2012-Fall-CSCI330/PA%27s/PA2/Dice/";
    var dieImg = ['die1.png','die2.png','die3.png','die4.png','die5.png','die6.png'];
    
    var dieNum = [0,0,0,0,0];
    var dieValue = [1,2,3,4,5,6];
    
    function startGame() {
      dieNum = [0,0,0,0,0];
      for (var i=0; i<dieNum.length; i++) { document.getElementById('cb'+i).checked = false; }
      throwDie();
    }
    
    function throwDie() {
     for (var d=0; d<dieNum.length; d++) {
      var randthrow = Math.floor((Math.random()*dieValue.length));
      if (document.getElementById('cb'+d).checked) { } else { dieNum[d] = randthrow; }
     }
     var str = '';
     for (var d=0; d<dieNum.length; d++) {
      var tmp = baseURL+dieImg[dieNum[d]];  
      document.getElementById('die'+d).src = tmp;
      str += document.getElementById('die'+d).src+'\n';
     } // alert(str);  // alert(dieNum.join(','));
    }  
    </script>
    </body>
    </html>
    Post back if you have questions about set-up or ideas about going forward.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center

"

"

X vBulletin 4.2.2 Debug Information

  • Page Generation 0.33076 seconds
  • Memory Usage 2,857KB
  • Queries Executed 15 (?)
More Information
Template Usage (33):
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_global_above_footer
  • (1)ad_global_below_navbar
  • (1)ad_global_header1
  • (1)ad_global_header2
  • (1)ad_navbar_below
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (1)ad_thread_first_post_content
  • (1)ad_thread_last_post_content
  • (1)bbcode_code
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)headinclude_bottom
  • (2)memberaction_dropdown
  • (1)navbar
  • (4)navbar_link
  • (1)navbar_moderation
  • (1)navbar_noticebit
  • (1)navbar_tabs
  • (2)option
  • (2)postbit
  • (2)postbit_onlinestatus
  • (2)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available (6):
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files (26):
  • ./showthread.php
  • ./global.php
  • ./includes/class_bootstrap.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/functions_navigation.php
  • ./includes/class_friendly_url.php
  • ./includes/class_hook.php
  • ./includes/class_bootstrap_framework.php
  • ./vb/vb.php
  • ./vb/phrase.php
  • ./includes/functions_facebook.php
  • ./includes/functions_calendar.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_notice.php
  • ./packages/vbattach/attach.php
  • ./vb/types.php
  • ./vb/cache.php
  • ./vb/cache/db.php
  • ./vb/cache/observer/db.php
  • ./vb/cache/observer.php 

Hooks Called (70):
  • init_startup
  • friendlyurl_resolve_class
  • init_startup_session_setup_start
  • database_pre_fetch_array
  • database_post_fetch_array
  • init_startup_session_setup_complete
  • global_bootstrap_init_start
  • global_bootstrap_init_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • load_show_variables
  • load_forum_show_variables
  • global_state_check
  • global_bootstrap_complete
  • global_start
  • style_fetch
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • strip_bbcode
  • friendlyurl_clean_fragment
  • friendlyurl_geturl
  • forumjump
  • cache_templates
  • cache_templates_process
  • template_register_var
  • template_render_output
  • fetch_template_start
  • fetch_template_complete
  • parse_templates
  • fetch_musername
  • notices_check_start
  • notices_noticebit
  • process_templates_complete
  • friendlyurl_redirect_canonical
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • memberaction_dropdown
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • build_navigation_data
  • build_navigation_array
  • check_navigation_permission
  • process_navigation_links_start
  • process_navigation_links_complete
  • set_navigation_menu_element
  • build_navigation_menudata
  • build_navigation_listdata
  • build_navigation_list
  • set_navigation_tab_main
  • set_navigation_tab_fallback
  • navigation_tab_complete
  • fb_like_button
  • showthread_complete
  • page_templates