欢迎光临散文网 会员登陆 & 注册

第一次用C语言写的小游戏

2023-07-15 00:31 作者:testuniversity  | 我要投稿

#include<graphics.h>

#include<conio.h>

#include<stdio.h>

int main()

{

float width, height, gravity;

float ball_x, ball_y, ball_vy, radius;

float rect_left_x, rect_top_y, rect_width, rect_height,rect_vx;

int score = 0;


width = 600;

height = 400;

gravity = 0.6;

initgraph(width, height);

radius = 20;

ball_x = width / 4;

ball_y = height - radius;

ball_vy = 0;


rect_height = 100;

rect_width = 20;

rect_left_x = width * 3 / 4;

rect_top_y = height - rect_height;

rect_vx = -3;


while (1)

{

if (_kbhit())

{

char input = _getch();

if (input == ' ')

{

ball_vy = -17;

}

}


ball_vy = ball_vy + gravity;

ball_y = ball_y + ball_vy;

if (ball_y >= height - radius)

{

ball_vy = 0;

ball_y = height - radius;

}


rect_left_x = rect_left_x + rect_vx;

if (rect_left_x <= 0)

{

rect_left_x = width;

score = score + 1;

rect_height = rand() % int(height / 4) + height / 4;

rect_vx = rand() / float(RAND_MAX) * 4 - 7;

}


if ((rect_left_x <= ball_x + radius)

&& (rect_left_x + rect_width >= ball_x - radius)

&& (height - rect_height <= ball_y + radius))

{

Sleep(100);

score = 0;

}


cleardevice();

fillcircle(ball_x, ball_y, radius);


fillrectangle(rect_left_x, height - rect_height, rect_left_x +

rect_width, height);

TCHAR s[20];

_stprintf(s, _T("%d"), score);

settextstyle(40, 0, _T("宋体"));

outtextxy(50, 30, s);

Sleep(10);

}

closegraph();

return 0;

}

第一次用C语言写的小游戏的评论 (共 条)

分享到微博请遵守国家法律