Pastie now auto-senses if line-wrap is a bad or good idea. Feedback?
## mark a section (Learn more)
This paste will be private.
Pseudo code: Main() - print ( 'Welcome to find the target.' ) - print ( 'try to find the target ( # ) by guessing its x and y coordinates' ) - print ( ' but avoid finding the mine ( X )! ') - make array of size 4, and then fill it with arrays of size 4: x = Array(4) for i=0 to x.size do x[i] = Array(4) end loop - now you have you're board!, lets fill it with teh charecters... for i=0 to x.size do for j=o to x[i].size do x[i][j] = '.' end loop end loop - now we need to find out where the winning place is, so lets make a random x, and a random y: winningx = (rand * 4).upper # you're language might lack this specifically, here i expect rand to be from 0 to 1, and upper rounds up to nearest whole integer. - do the same for winningy, and for minex and miney. - now we call the game loop: Game() - while ( !gameover ) # while we haven't finished... - call printBoard() - call xval = DoInput('x') - call yval = DoInput('y') - if xval == winningx AND yval == winningy print ('Congratulations, you found the winning target!') exit with success. else if minex == xval AND miney == yval print ('you loose sucka') exit with failure. else x[xval][yval] = 'o' endif endwhile -> end of Game() DoInput(ARG) - print ('enter the ARG coord:') - input = read line if input > ARG.size OR input < 0 ## this line/fucntion assumes here that X and Y sizes are teh same. pascal may not be this flexible with symbols (for ARG.size), but there are simple solutions. print('Coords must be between 0 and 4') call DoInput() else return input endif -> end of DoInput() PrintBoard() - print out the top row (easy peasy): print (' ') for i=0 to x.size do print (i) end loop - print out each of the other rows: for i=0 to x[0].size do # note x[0].size is the height of the board, assuming each column is the same size, this could be better. print (i) for j=0 to x.size do # this is going accross the x'es print (x[j][i]) # the indices are the other way round cause we're going left to right, top to bottom, rather than top to bottom left to right. end loop -> end of PrintBoard()
From the Design Piracy series on my blog: