用vs2022实现c++简单游戏2-别碰方块
用vs2022实现c++简单游戏2-别碰方块和一些心得。
·
源代码:
// 别碰方块2.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
int main()
{
float ballx, bally, r, vy;
float fx, width, fh, vx;
float k=600, h=400, g=0.7;
int score;
score = 0;
initgraph(k, h);
r = 20;
ballx = k / 4;
bally = h - r, vy = 0;
fh = 100;
width = 20;
fx = k * 3 / 4;
vx = -3;
int isk = 0;
while (1) {
if (kbhit()) {
char input = _getch();
if (input == ' ' && isk == 0) {
vy = -19;
isk = 1;
}
}
vy = vy + g;
bally = bally + vy;
if (bally >= h-r) {
bally = h - r;
vy = 0;
isk = 0;
}
fx = fx + vx;
if (fx <= 0) {
fx = k ;
score = score + 1;
fh = rand() % int(h / 4) + h / 4;
vx = rand() / float(RAND_MAX) * 4 - 7;
}
if ((fx <=ballx + r )&& (bally + r >= h - fh) && (ballx - r <= fx -width)) {
score = 0;
Sleep(100);
}
cleardevice();
fillcircle(ballx, bally, r);
fillrectangle(fx, h - fh, fx + width, h);
TCHAR s[20];
_stprintf(s, _T("%d"), score);
settextstyle(40, 0, _T("宋体"));
outtextxy(50, 30, s);
Sleep(10);
}
closegraph();
return 0;
}
一些心得:_stprintf()这个函数要求挺苛刻的,他调用的变量必须初始化否则无法正常运行;
还有关于vs2022一些安全性必须说一说,如果不设置的很多正常代码其实也无法运行,安全性对于个人开发者和学者其实必要性不是很大,初学者建议关闭,关闭方法是在调试按钮上选择最后一项,在选择c/c+,在将警告视为错误设置为否,在点击c/c++小三角,在代码生成的安全检测中选择禁用安全检查;另外在敲代码时多重限制每一个都要记得打括号,其实有些语言不用这么麻烦,麻了。
更多推荐
所有评论(0)