Thread Rating:
  • 298 Vote(s) - 2.76 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Page 5: Application... A “Push the Button in 10s” Game
06-16-2011, 03:33 PM, (This post was last modified: 06-23-2011, 04:01 PM by ashimo.)
#1
Page 5: Application... A “Push the Button in 10s” Game
Application... A “Push the Button in 10s” Game

Let’s create a simple game that combines events and control. In this game, we have to press a “start” button and then, when we think that ten seconds have passed, press a “stop” button. The closer we are to exactly 10s, the higher is our score.

Create the 'Try 2-3' Project

Close the Try 2-2 project and then, from the IDE "File" menu, select "New Project". In the "New Project" dialog box, select "Applet Project”"(1), input “Try2-3” (2), specify c:\Curl\lesson\Try2\03_game in the "Directory" field (3), set the "API Version" to "6.0" (4), and then click "OK" (5).


Inputting the Program

Next, we’ll input the following program code. Or, if you prefer, you can copy the program from c:\Curl\Try2\03_game\start.curl and then paste it into the editor.

Code:
{value
    let start-time:#DateTime
    let start-btn:CommandButton = {CommandButton label = Start}
    let stop-btn:CommandButton = {CommandButton label = Stop}
    
    {start-btn.add-event-handler
        {on Action do
            set start-time = {DateTime}
        }
    }
    
    {stop-btn.add-event-handler
        {on Action do
            let elapsed-time:Time = {start-time.elapsed}
            let time-double:double = elapsed-time / 1s
            let score:int = {switch time-double using <=
                             case 10 do (time-double * 10) asa int
                             case 20 do {abs ((20 - time-double) * 10) asa int}
                             else 0
                            }
            
            {popup-message {VBox
                               {center font-size = 20pt, You have {value score} points!!},
                               {center {value {start-time.elapsed}}}
                           }
            }
        }
    }
    
    {VBox
        margin = 10pt,
        spacing = 10pt,
        halign = center,
        {bold Try to stop in 10 seconds},
        start-btn,
        stop-btn
    }
}


Save the File and Execute the Program

After inputting the code, save the file, and then execute the program. The following result will appear in your browser.


Reply


Possibly Related Threads...
Thread Author Replies Views Last Post
  Page 8: Extra Practice ashimo 0 3,581 06-16-2011, 04:05 PM
Last Post: ashimo
  Page 7: Summary ashimo 0 3,056 06-16-2011, 03:57 PM
Last Post: ashimo
  Page 6: Let’s look at the make-up of this game ashimo 0 3,260 06-16-2011, 03:50 PM
Last Post: ashimo
  Page 4: Structure of our program that uses events ashimo 0 2,906 06-16-2011, 03:30 PM
Last Post: ashimo
  Page 3: Using Different Events ashimo 0 3,127 06-16-2011, 03:25 PM
Last Post: ashimo
  Page 2: Structure of a Program that Displays Values input from Controls ashimo 0 3,015 06-16-2011, 02:18 PM
Last Post: ashimo
  Page 1: Making a Simple Action Game ashimo 0 2,815 06-16-2011, 02:03 PM
Last Post: ashimo
Forum Jump:


Users browsing this thread:
1 Guest(s)

MyBB SQL Error

MyBB has experienced an internal SQL error and cannot continue.

SQL Error:
1017 - Can't find file: 'mybb_threadviews' (errno: 2)
Query:
INSERT INTO mybb_threadviews (tid) VALUES('51')