源代码:
// 别碰方块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++小三角,在代码生成的安全检测中选择禁用安全检查;另外在敲代码时多重限制每一个都要记得打括号,其实有些语言不用这么麻烦,麻了。