
-----------------------------------
Brandit28
Mon Oct 29, 2018 6:09 pm

Turing circle game
-----------------------------------
I am making a game where you guess where a random circle is using given coordinates. I need help having the game two player. An example of this is by having out player go then the next and it will output either "player 1 wins" or "player 2 " wins. This is what i have...


setscreen ("graphics:max,max")
buttonchoose ("multibutton")  %allows for right click
var circleX : int := 0    %  Secret circle
var circleY : int := 0
var guessX : int := 0    %Players Guess
var guessY : int := 0
var distance_amount : int := 0  % Unused at this point
var mousex, mousey, mouseb : int := 0  % Mouse Variables
var answer : real
var intfont : int
var text : string
var playagain : string (1)

        process DoMusic
            loop
                Music.PlayFile ("background.mp3")
            end loop
        end DoMusic


drawfillbox (0, 0, maxx, maxy, black)
colourback (black)


intfont := Font.New ("Times New Roman:30")
Font.Draw (" *****************************************************", 400, 800, intfont, yellow)
Font.Draw ("   Welcome To GUESS THE CIRCLE  ", 400, 700, intfont, yellow)
Font.Draw ("   Objective: Follow the coordinates and guess where ", 400, 500, intfont, yellow)
Font.Draw ("   the other circle is  ", 400, 400, intfont, yellow)
Font.Draw ("   Press 1 Then Enter To Begin  ", 400, 300, intfont, yellow)
Font.Draw (" *****************************************************", 400, 200, intfont, yellow)

get answer
cls 
View.Update
intfont := Font.New ("Times New Roman:50")
Font.Draw ("LOADING...", 750, 500, intfont, white)
for i : 0 .. maxx 
    drawbox (i, 0, 0, 70, white)
    delay (3) 
end for 
%%%%%%%This function determines the distance between 2 points
cls
setscreen ("offscreenonly")  %helps with flicker
drawfillbox (0, 0, maxx, maxy, black)
colourback (black)
colour (white)

  fork DoMusic
  
function distance (x1, y1, x2, y2 : real) : real
    result round (sqrt ((x2 - x1) ** 2 + (y2 - y1) ** 2))
end distance

loop
    circleX := Rand.Int (100, maxx - 100)
    circleY := Rand.Int (100, maxy - 100)
    loop
        mousewhere (mousex, mousey, mouseb)   % allows the mouse to become active - you need this in every loop
        locate (1, 1)

        put "Try and find:(", circleX, ",", circleY, ")"
        put "Left click to guess - Right Click when you are ready"

        if mouseb = 1 then  % User left clicks to guess
            cls   %Clears the screen
            drawfilloval (mousex, mousey, 10, 10, red)  %Draws the circle where the player guesses
            guessX := mousex   %keeps track of player guess
            guessY := mousey
        end if
        exit when mouseb = 100   % right click when player is ready
        View.Update   % Stops the flicker

    end loop
    loop
        cls
        locate (1, 1)
        drawfilloval (guessX, guessY, 10, 10, red)  %Draws players guess
        drawfilloval (circleX, circleY, 10, 10, green)  %Reveals answer
        put "The distance was:", distance (guessX, guessY, circleX, circleY)  %shows the distance



        put "Enter y to restart game and any other key to exit"
        View.Update
        getch (playagain)

        exit

    end loop

    if playagain not= "y" then
        
    end if

end loop

-----------------------------------
Srlancelot39
Wed Oct 31, 2018 7:46 am

RE:Turing circle game
-----------------------------------
The Turing Submissions section is for completed work.  When requesting help, please post in the Turing Help section.

Additionally, please format your code using the code tag.
