C语言实现简单弹球游戏

 更新时间:2020年02月24日 18:47:22   作者:繁星璀璨G  
这篇文章主要为大家详细介绍了C语言实现简单弹球游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

电视机待机的屏幕上的弹球,怎么实现?

今天文章就跟大家分享下C语言实现简单弹球游戏的具体代码,供大家参考,具体内容如下

#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <math.h>
#include <windows.h>
//#include <system.h>
 
#define ROW 20
#define COL 50
 
static void SetPos(int x, int y)//刷新窗口,类似于system(“cls”) 
{
  
  COORD point = { x, y };//光标要设置的位置x,y
  HANDLE HOutput = GetStdHandle(STD_OUTPUT_HANDLE);//使用GetStdHandle(STD_OUTPUT_HANDLE)来获取标准输出的句柄
  SetConsoleCursorPosition(HOutput, point);//设置光标位置
}
 
void init(char bg[][COL],char ch)//设置窗口 
{
 int i,j;
 for (i=0;i<ROW;i++)
 {
 for (j=0;j<COL;j++)
 {
 if (i==0||i==ROW-1||j==0||j==COL-1)//边缘设置为字符 
 {
 bg[i][j]=ch;
 }
 else
 {
 bg[i][j]=' ';//其他位置是空格 
 }
 } 
 }
}
 
void display(char bg[][COL],char ch)//显示函数,打印bg[i][j] 
{
 int i,j;
 for (i=0;i<ROW;i++)
 {
 for (j=0;j<COL;j++)
 {
 printf ("%c",bg[i][j]);
 } 
 printf ("\n");
 }
}
 
void move(int *x,int *y,int *x_inc,int *y_inc)//控制球的移动 ,上下,左右分别控制 
{
 if (*x==0||*x==ROW-1)//等于0或者 ROW-1,即是边界,便忘反方向走 
 {
 *x_inc = -*x_inc;
 }
 *x += *x_inc;//单步移动 
 if (*y==0||*y==COL-1)//同上, 
 {
 *y_inc = -*y_inc;
 }
 *y += *y_inc;
}
int main( ) 
{
 int i,j;
 int x=3,y=3,x_inc=1,y_inc=1;//初始化球的位置 
 char bg[ROW][COL];
 while(1)//死循环 
 {
 SetPos(0,0);//刷新窗口 
 init(bg,'#');//窗口边界 
 bg[x][y]='O';//球的位置 
 move(&x,&y,&x_inc,&y_inc);//移动 
 display(bg,'#');//显示 
 Sleep(100);//延时,太快看不清球移动 
 }
 
 return 0;
}

效果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • C++实现线程同步的四种方式总结

    C++实现线程同步的四种方式总结

    这篇文章主要为大家详细介绍了C++实现线程同步的四种方式,文中的示例代码讲解详细,对我们学习C++有一定的帮助,需要的可以参考一下
    2022-11-11
  • Opencv使用Stitcher类图像拼接生成全景图像

    Opencv使用Stitcher类图像拼接生成全景图像

    这篇文章主要为大家详细介绍了Opencv使用Stitcher类图像拼接生成全景图像,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • 一元多项式加法运算

    一元多项式加法运算

    今天小编就为大家分享一篇关于一元多项式加法运算,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • C++关于树的定义全面梳理

    C++关于树的定义全面梳理

    树是一种重要的非线性数据结构,直观地看,它是数据元素(在树中称为结点)按分支关系组织起来的结构,很象自然界中的树那样。树结构在客观世界中广泛存在,如人类社会的族谱和各种社会组织机构都可用树形象表示,本篇介绍二叉树的递归与非递归遍历的方法
    2022-06-06
  • MinGW-w64 C/C++编译器下载和安装的方法步骤(入门教程)

    MinGW-w64 C/C++编译器下载和安装的方法步骤(入门教程)

    如果电脑没有安装MinGW-w64 C/C++编译器,就无法运行gcc命令,本文主要介绍了MinGW-w64 C/C++编译器下载和安装的方法步骤,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • C++共享智能指针shared_ptr的实现

    C++共享智能指针shared_ptr的实现

    在C++中没有垃圾回收机制,必须自己释放分配的内存,否则就会造成内存泄露,解决这个问题最有效的方法是使用智能指针,本文主要介绍了C++共享智能指针shared_ptr的实现,感兴趣的可以了解一下
    2023-12-12
  • C语言实现学生考勤系统

    C语言实现学生考勤系统

    这篇文章主要为大家详细介绍了C语言实现学生考勤系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • Lambda表达式里面修改外部变量问题

    Lambda表达式里面修改外部变量问题

    这篇文章主要介绍了Lambda表达式里面修改外部变量的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • C++调用Matlab函数求特征值

    C++调用Matlab函数求特征值

    这篇文章主要为大家详细介绍了C++调用Matlab函数求特征值,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-06-06
  • C语言实现企业员工管理系统开发

    C语言实现企业员工管理系统开发

    这篇文章主要为大家详细介绍了C语言实现企业员工管理系统开发,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08

最新评论