Hanoi.hs:9:1: error: parse error (possibly incorrect indentation or mismatched brackets 9 | moveRing (xs,y,z) = if (y

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

my code of a hanoi game in haskell:

module Hanoi
where

makeGame :: Int -> Int -> [[Int]]
makeGame l _=[[]]
makeGame x y = [[1..y] ]++ makeGame (x-1) 0

moveRing :: (([[Int]], Int, Int)->[[Int]]
moveRing (xs,y,z) = if (y<z) then
take (y-1) xs ++ [(tail (xs!!(y-1)))] ++dropy(take (z-1) xs)++ [(head (xs!!(y-1)) ):(xs!!(z-1))] ++dropzxs
else
take (z-1)xs++[(head (xs!!(y-1)) ) :(xs!!(z-1))]++dropz(take (y-1) xs)++[tail (xs!!(y-1))]++dropyxs

approvedMove :: ([[Int]],Int,Int)-> Bool
approvedMove (xs,y,z) = if (y>length xs ||z>length xs) thenFalse
else
if (xs!!(y-1[] then False
else
if (xs!!(z-1))==[] then True
else
ifhead(xs!!(y-1))< head (xs!!(z-1)) thenTrue
elseFalse

startGame :: IO [[Int]]
startGame = do
putstrLn("Let's play tower of Hanoi. Write the number of towers:")
x<-getLine
putstrLn("Write numbers of rings:")
y<-getLine
putstrLn("you choosed "++ x ++"towers and "++ y ++" rings")
putstrLn("starting game")
return (makeGame (read x::Int) (read y::Int))

playingGame :: [[Int]]->IO [[Int]]
playingGame xss= if (all null (init xss)) then
do
showHanoixss
putstrLn("you won")
returnxss
else
do
showHanoixss
putstrLn("enter the stick you want to move from:")
x<-getLine
putstrLn("enter stick to move to:")
y<-getLine
and the error i need help to fix is in the picture
Hanoi.hs:9:1: error:
parse error (possibly incorrect indentation or mismatched brackets)
9 | moveRing (xs,y,z)
= if (y<z) then
Failed, no modules loaded.
Transcribed Image Text:Hanoi.hs:9:1: error: parse error (possibly incorrect indentation or mismatched brackets) 9 | moveRing (xs,y,z) = if (y<z) then Failed, no modules loaded.
module Hanọi
where
makeGame :: Int -> Int -> [[Int]]
makeGame l _=[[]]
makeGame x y =
[[1..y] ]++ makeGame (x-1) 0
moveRing :: (([[Int]], Int, Int)->[[Int]]
moveRing (xs,y,z)
= if (y<z) then
take (y-1) xs ++ [(tail (xs !!(y-1)))] ++drop y(take (z-1) xs)++ [(head (xs!!(y-1)) ):(xs!!(z-1))] ++drop z xs
else
take (z-1)xs++[(head (xs!!(y-1)) ) :(xs!!(z-1))]++drop z(take (y-1) xs)++[tail (xs!!(y-1))]++drop y xs
approvedMove :: ([[Int]],Int,Int)-> Bool
approvedMove (xs,y,z) = if (y>length xs ||z>length xs) then False
%3D
else
if (xs!!(y-1[] then False
else
if (xs!!(z-1))==[] then True
else
if head(xs!!(y-1))< head (xs!!(z-1)) then True
else False
startGame :: I0 [[Int]]
startGame = do
putstrLn("Let's play tower of Hanoi. Write the number of towers:")
X<-getLine
Transcribed Image Text:module Hanọi where makeGame :: Int -> Int -> [[Int]] makeGame l _=[[]] makeGame x y = [[1..y] ]++ makeGame (x-1) 0 moveRing :: (([[Int]], Int, Int)->[[Int]] moveRing (xs,y,z) = if (y<z) then take (y-1) xs ++ [(tail (xs !!(y-1)))] ++drop y(take (z-1) xs)++ [(head (xs!!(y-1)) ):(xs!!(z-1))] ++drop z xs else take (z-1)xs++[(head (xs!!(y-1)) ) :(xs!!(z-1))]++drop z(take (y-1) xs)++[tail (xs!!(y-1))]++drop y xs approvedMove :: ([[Int]],Int,Int)-> Bool approvedMove (xs,y,z) = if (y>length xs ||z>length xs) then False %3D else if (xs!!(y-1[] then False else if (xs!!(z-1))==[] then True else if head(xs!!(y-1))< head (xs!!(z-1)) then True else False startGame :: I0 [[Int]] startGame = do putstrLn("Let's play tower of Hanoi. Write the number of towers:") X<-getLine
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 2 steps

Blurred answer
Knowledge Booster
Binary numbers
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education