少女注册中 登录
喵玉殿论坛 · 喵玉汉化组 返回首页

T0nyS的小破窝 https://bbs.nyasama.com/?248203 [收藏] [复制] [RSS]

日志

一个很烂有很多bug但能运行的打飞机的C++代码

热度 1已有 62 次阅读2023-7-29 11:05

自己写的
有以下令人不适的问题:
射击靶子后保持不动刷分,闪屏晃眼,射击停止还要按一次J


操作
移动:WASD
开火:J

#include<stdio.h>

#include<stdlib.h>

#include<conio.h>

#include <cstdlib>

#include <iostream>

int main()

{

int i, j;

int x = 5;

int y = 10;

char input;

int bazi = rand() % 11;  //rand() % 11

int w = 1;


int iskilled = 0;  //判断靶子是否被消灭

int fs = 0;


int isfire = 0;

while (1)

{

system("cls");

//分数板

std::cout << "======目前分数: " << fs <<"======" << std::endl;


//创建靶子

if (!iskilled)

{

bazi = bazi + w;

for (i = 0; i < bazi; i++)

{

printf(" ");

}

printf("+");



if (bazi == 20)

{

w = -1;

}

if (bazi == 0)

{

w = 1;

}



iskilled = 0;

}

if (iskilled == 1)

{

printf("\n");

fs++;

iskilled = 0;

}





if (isfire == 0)   //不开火

{

for (i = 0; i < x; i++)

printf("\n");

}

else //开火

{

for (i = 0; i < x; i++)

{

for (j = 0; j < y - 1; j++)

{

printf(" ");

}

printf(" ");

printf("|");

printf("\n");

}

if (y == bazi)

{

iskilled = 1;

}

}



//飞机左边的空格

for (j = 0; j < y; j++)

printf(" ");

printf("*\n");

for (j = 0; j < y - 3; j++)

printf(" ");

printf(" ***** \n");

for (j = 0; j < y - 2; j++)

printf(" ");

printf(" * * \n");



if (_kbhit()) //不能直接写if (kbhit()),会报错,下面的getch函数也一样

{

input = _getch();

if (input == 'a')

y--;

if (input == 'd')

y++;

if (input == 'w')

x--;

if (input == 's')

x++;

if (input == 'j')

isfire = 1;

else

isfire = 0;

}


}

}


路过

雷人

握手
1

鲜花

鸡蛋

刚表态过的朋友 (1 人)

评论 (0 个评论)

facelist doodle Wacom Intos5

您需要登录后才可以评论 登录 | 少女注册中

合作与事务联系|无图版|手机版|小黑屋|喵玉殿

GMT+8, 2025-2-18 18:33

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

返回顶部