mrtvrl
29/04/2008, 14:44
Ben Turbo C++ da Ping-pong oyunu yapmak istiyorum ama do{ dongusunun icine key=getch(); koydugum zaman hareket eden topun ilerlemesi icin sürekli bir tusa basmam gerekiyor. ve cleardevice dada sorun var.
yardımcı olursanız cok sevinirim. :hey:
#include "stdio.h"
#include "conio.h"
#include "stdlib.h"
#include "graphics.h"
#include "dos.h"
int main(){
int driver,mode,key,x=150,y=150,i=0,zorluk,b1x1=150,b1 x2=280,sans=0;
int ksy=7,ksx=7;
int errcode=0;
driver=DETECT;
//printf(" Zorluk seviyesi (1-20) : ");
//scanf("%d",&zorluk);
initgraph(&driver, &mode, "c:\\tc\\bgi");
errcode=graphresult();
if(errcode!=0){
// printf("graph error: %d",errcode);
exit(1);
}
do{
setfillstyle(8,6);
setcolor(1);
bar3d(35,b1x1,40,b1x2,4,3);
setfillstyle(4,7);
setcolor(5);
bar3d(550,y-50,555,y+50,4,8);
randomize();
setcolor(7);
setfillstyle(3,2);
line(50,100,550,100);
line(50,97,550,97);
line(50,400,550,400);
line(50,403,550,403);
setcolor(4);
circle(x,y,15);
setfillstyle(1,4);
floodfill(x,y,4);
delay(20);
cleardevice();
x=x+ksx;
y=y+ksy;
if(x>535){
ksx=-5+(random(2));
}
if(x<60){
ksx=random(2)+5;
}
if(y>385){
ksy=-5+(random(2));
}//else{ break; }
if(y<117){
ksy=random(2)+5;
}//else{ break; }
if((x<60 && y<b1x1) || (y>b1x2 && x<60)){
//printf("Kalan Sans : %d\n",2-sans);
cleardevice();
getch();
//break;
sans++;
if(sans==3){
cleardevice();
//settextjustify(RIGHT_TEXT,CENTER_TEXT);
settextstyle(3, HORIZ_DIR,9);
outtext("GAME OVER ");
getch();
}
}
/*
if(x>535 && y<b1x1 && y<b1x2){
outtext("yenildinn");
break;
}
*/
key=getch();
if(key=='s'){ b1x1++; b1x2++; }
if(key=='w'){ b1x1--; b1x2--; }
}while(sans<3);
getch();
closegraph();
return 0;
}
yardımcı olursanız cok sevinirim. :hey:
#include "stdio.h"
#include "conio.h"
#include "stdlib.h"
#include "graphics.h"
#include "dos.h"
int main(){
int driver,mode,key,x=150,y=150,i=0,zorluk,b1x1=150,b1 x2=280,sans=0;
int ksy=7,ksx=7;
int errcode=0;
driver=DETECT;
//printf(" Zorluk seviyesi (1-20) : ");
//scanf("%d",&zorluk);
initgraph(&driver, &mode, "c:\\tc\\bgi");
errcode=graphresult();
if(errcode!=0){
// printf("graph error: %d",errcode);
exit(1);
}
do{
setfillstyle(8,6);
setcolor(1);
bar3d(35,b1x1,40,b1x2,4,3);
setfillstyle(4,7);
setcolor(5);
bar3d(550,y-50,555,y+50,4,8);
randomize();
setcolor(7);
setfillstyle(3,2);
line(50,100,550,100);
line(50,97,550,97);
line(50,400,550,400);
line(50,403,550,403);
setcolor(4);
circle(x,y,15);
setfillstyle(1,4);
floodfill(x,y,4);
delay(20);
cleardevice();
x=x+ksx;
y=y+ksy;
if(x>535){
ksx=-5+(random(2));
}
if(x<60){
ksx=random(2)+5;
}
if(y>385){
ksy=-5+(random(2));
}//else{ break; }
if(y<117){
ksy=random(2)+5;
}//else{ break; }
if((x<60 && y<b1x1) || (y>b1x2 && x<60)){
//printf("Kalan Sans : %d\n",2-sans);
cleardevice();
getch();
//break;
sans++;
if(sans==3){
cleardevice();
//settextjustify(RIGHT_TEXT,CENTER_TEXT);
settextstyle(3, HORIZ_DIR,9);
outtext("GAME OVER ");
getch();
}
}
/*
if(x>535 && y<b1x1 && y<b1x2){
outtext("yenildinn");
break;
}
*/
key=getch();
if(key=='s'){ b1x1++; b1x2++; }
if(key=='w'){ b1x1--; b1x2--; }
}while(sans<3);
getch();
closegraph();
return 0;
}