دستور do یکی از دستوراتی است که در زبان GML و ++c از آن می توان استفاده کرد. از این دستور برای شرط گذاری استفاده می شود، ولی توجه کنید که کار با آن کمی با بقیه دستورات شرطی متفاوت است...

این دستور به تنهایی کاری انجام نمی دهد و باید با دستور until همراه شود.

کار با این دستور اینگونه است:

do
{
statements;
}until(expression)
do
{
مجموعه دستورات;
}until(شرط)

فرق این دستور با بقیه دستورات شرطی اینگونه است که اول دستورات اجرا می شوند و بعد شرط بررسی می شود. برای همین همیشه حداقل یکبار دستورات اجرا می شوند. مثال:

a=0;
b=0;
do
{
a+=1;
}until(a=2)

در این مثال با اینکه شرط درست نیست، اما دستورات یکبار اجرا می شوند و b+=1 می شود.

توجه: از این دستور نباید در رویداد step استفاده کنید. این حلقه نباید بینهایت باشد، وگرنه بازی اجرا نمی شود.