COORD question

In C++ i'm trying to move two words on a screen. I have made a function that sets the coordinates for the words. but how would i use the coordinates set for that word in a while loop? what would i use in the parameters?

placeCursor(screen, 24,10);
cout << "UP" << endl;

while (pos.Y > 1)
{
SetConsoleCursorPosition(screen, pos);
cout << " " << endl;
pos.Y --;
SetConsoleCursorPosition(screen, pos);
cout << "UP" << endl;
@alvadrive42

Here's a small program to move one line of text. You should be able to modify it, so you can do two or more words, or lines of text.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
// PlaceCursor.cpp : main project file.

#include <stdafx.h> // Used with MS VC++ 2008 Express. Remove if using different compiler
#include <stdio.h>
#include "conio.h"
#include <iostream>
#include <windows.h>


HANDLE console = GetStdHandle(STD_OUTPUT_HANDLE);
COORD CursorPosition;



using namespace std;
using namespace System;

void PlaceCursor(int x, int y); 

void WaitKey();


int main()
{
   int x = 1;// Column 1
   int y = 5;// Row 5
   // Start position of the text 

   PlaceCursor(24,2); // Placing title
   cout <<   "PlaceCursor(x,y) Demonstration..";

   for (x=1;x<27;x++)  // Moves the text to the right
   {
      PlaceCursor(x,y);
      cout << "* column " << x <<  ", row " << y << "!";

      Sleep(200);
      PlaceCursor(x,y); // Locate the asterick
	  cout << " "; // Remove it from screen, so we don't have a trail of astericks
   }
   x--; // Remove 1 from x, so we start where the text is now located

   for (y=5;y<23;y++) // Moves the text down the screen
   {
      Sleep(200);
      PlaceCursor(x,y);
		  cout << "                                   "; // Remove the line of text
      Sleep(200);
      PlaceCursor(x,y+1);
      cout << "* column " << x << ", row " << y+1 << "!"; // Print new text line
   }
   Sleep(800);
   for (y=23;y>8;y--) // Moves text up the screen to row 8
   {
      Sleep(200);
      PlaceCursor(x,y);
	  cout << "                                   ";
      Sleep(200);
      PlaceCursor(x,y-1);
      cout << "* column " << x << ", row " << y-1 << "!";
   }

   Sleep(1000); // Program finished, wait 1 second
   PlaceCursor(23,24);
   cout << "Press any key to continue . . ."; // Let user know we're done
   PlaceCursor(23,24); // Cursor to blink on the letter 'P' of aboves Press..
   WaitKey();  // Wait for a keypress
   return 0;
}

void PlaceCursor(int x, int y) 
{ 
CursorPosition.X = x; // Locates column
CursorPosition.Y = y; // Locates Row
SetConsoleCursorPosition(console,CursorPosition); // Sets position for next thing to be printed 
}

void WaitKey()
{
   while (_kbhit()) _getch(); // Empty the input buffer
   _getch(); // Wait for a key
   while (_kbhit()) _getch(); // Empty the input buffer (some keys sends two messages)
}
Topic archived. No new replies allowed.