דרוש טיימר בC (לא delay- שיהיה אפשר לבצע עוד פעולה באותו זמן) - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

דרוש טיימר בC (לא delay- שיהיה אפשר לבצע עוד פעולה באותו זמן)


nice-1

Recommended Posts

אני אסביר את עצמי קצת יותר טוב-

הרי מיקום בלוק של הטטריס (לדוגמא) נשלט ע"י X ו Y

צריך שהבלוק יפול בהדרגתיות, אבל גם בנפילה יהיה אפשר לשנות לו את ציר הX...

got it?

thanks.

קישור לתוכן
שתף באתרים אחרים

דווקא הבנתי אותך...

הצורה הכי טובה לעשות את זה הכי טוב היא בmultithreading,

אבל זה תלוי פלטפורמה, ולא ציינת תחת איזו אתה עובד...

צירפתי דוגמא לשימוש בלולאה, אפשר להשתמש במקום בקאונטר בבדיקת זמנים, אבל לא היה לי כוח לזה... הפתרון הזה לא ממש פרקטי, אבל אולי הוא יתאים לצרכים שלך.

#include <stdio.h>

void main()
{
char ch = '#'; //a simple char
int i = 0;
int y = 0;
int x = 0;
int left = 75; // left key ascii code
int right = 77; // right key ascii code

while (1){ // main loop
i++;

if (kbhit()) // check if key buffer full
{
char c = getch(); // get the first key when left or right = -32
c = getch(); // get the realkey
if ((c == left) && (y > 0)){ //if left
y--;
}
if ((c == right) && (y < 50)){ //if right
y++;
}
c = ' '; // clear the char
}

if (i > 5000){ // the print section
i = 0;

for (x=0;x<y ;x++ )//
{// Add
putchar(' ');// Spaces
}//

putchar(ch);//put the simple char and newline
putchar('\n');
}
}

}

קישור לתוכן
שתף באתרים אחרים

בעעעע, זה סתם טימטום שלי. :-\

זה הכול בC, ותיקנתי איזה באג אדיוטי שהכנסתי בדרך,

הנה, שוב.

(זה מה שקורה שלא מחפשים וכותבים דוגמא לבד... 8))

void main()
{
char ch = '#'; //a simple char
int i = 0;
int y = 0;
int x = 0;
int left = 75; // left key ascii code
int right = 77; // right key ascii code

while (1){ // main loop
i++;

if (kbhit()) // check if key buffer full
{
char c = getch(); // get the first key when left or right = -32
if (c == -32)
c = getch(); // get the realkey
if ((c == left) && (y > 0)){ //if left
y--;
}
if ((c == right) && (y < 50)){ //if right
y++;
}
c = ' '; // clear the char
}

if (i > 5000){ // the print section
i = 0;

for (x=0;x<y ;x++ )//
{// Add
putchar(' ');// Spaces
}//

putchar(ch);//put the simple char and newline
putchar('\n');
}
}

}

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...