
-----------------------------------
born130
Mon May 12, 2003 9:28 pm

Anyone know how to make a classic button masher Olympic game
-----------------------------------
Hey just wondering if anyone knows how to make a button masher Olympic game similar to arcade style.

For example: press "a" repeatedly to move character to finish line in 100m.

or long jump, get the right angle and button mash.

If anyone has code please post.

Thanks

-----------------------------------
Tony
Mon May 12, 2003 9:37 pm


-----------------------------------
i suppose you can just run a loop with a getch in it...
var y:int := 0
var c:string(1)

loop
   if hasch then
      getch(c)
      if c="a" then
         y += 5
      end if
   end if
   drawoval(100,y,3,3,red)
   cls
end loop

*coughf2cough* - Darkness 

then when time is up (ether you finished y>=maxy or time is up (use a timer)) then you exit the loop

-----------------------------------
Dan
Mon May 12, 2003 9:37 pm


-----------------------------------
here is a really really really simplified version of what you want to do:


var num:int:=0
var key:string(1)

loop
   getch(key)
   num+=1
   put num 
end loop


You can use getch to wait until a key is hit then after that move the object and add to the counter. although there may be a problem in that you could hold down a button.

 Indented -Darkness 

-----------------------------------
Dan
Mon May 12, 2003 9:38 pm


-----------------------------------
dang you bet me to it tony, oh well your ex is better  :?

-----------------------------------
Martin
Tue May 13, 2003 11:34 am


-----------------------------------
If you want it to be a button masher, then you would have to do this.

var key : array char of boolean
var x : int := 10
var buttonDown : boolean := false
loop
    Input.KeyDown (key)
    if key (KEY_RIGHT_ARROW) then
        if buttonDown = false then
            buttonDown := true
            Draw.FillOval (x, 100, 10, 10, white)
            x += 10
            Draw.FillOval (x, 100, 10, 10, black)
        end if
    end if
    if not key (KEY_RIGHT_ARROW) then
        buttonDown := false
    end if
end loop


-----------------------------------
born130
Tue May 13, 2003 8:46 pm


-----------------------------------
Does anyone know how I could stop the clock when one of the racers has crossed the finish line?
i.e. it will stop when one of the racers crosses the finish line at point y.

Also how would i modify the controls by using two keys and moving through alternate pressings?

Thanks

-----------------------------------
Dan
Tue May 13, 2003 8:57 pm


-----------------------------------
Does anyone know how I could stop the clock when one of the racers has crossed the finish line?
i.e. it will stop when one of the racers crosses the finish line at point y.


do you mean stop a timer you have going or stop the loop?


loop
      code to make guy run and bution stuff
     
      exit when y > y postion of finsh line then
end loop


or


loop
    code to make guy run and bution stuff

    if y < y postion of finsh line then
            code for clok/timer to increas
end loop


-----------------------------------
born130
Tue May 13, 2003 9:07 pm


-----------------------------------
Actually what i meant was i wanted to stop the clock that is running to show the time that the racer finished in.
i.e. if it took 9906 milliseconds to finish the race, the clock would stop and read that.

-----------------------------------
Dan
Wed May 14, 2003 3:41 pm


-----------------------------------
oic, this is what i whode do.


var starttime: int
var time: int := 0

%beging of ruing code
starttime := Time.Sec 

loop
    % code to make guys run and stuff
    
    if y < yend  then %y is the loaction of the runer
                      %yend if the loaction of the end                  
        time := Time.sec - starttime
        put time
    end if
    
    exit when y > yend
end loop

put "your time was ", time

