C语言实现简单弹跳球游戏

本文实例为大家分享了C语言实现弹跳球游戏的具体代码,供大家参考,具体内容如下

#include <stdio.h>
#include <stdlib.h>

int main()
{
 // 球的坐标
 int pos_x,pos_y;
 //球坐标的变化
 int x =0;
 int y = 5;
 // 定义一个球的速度
 int velocity_x=1;
 int velocity_y=1;

 //定义一个球运动的范围
 int top=0;
 int botton=20;
 int lift=0;
 int right=20;

 //让球循环来回的跳动
 while(1)
 {
 //x轴的速度变化
 x = x + velocity_x;
 y = y +velocity_y;

 //清屏,用于每次绘图,清除上一次球的位置。
 system("cls");
 for (pos_x=0 ; pos_x < x; pos_x ++)
 {
  // y轴每行画换行符。
  printf("\n");
 }
 for ( pos_y =0; pos_y <y; pos_y ++)
 {
  // x轴进行空格即可
  printf(" ");
 }
 //利用速度velocity来控制球移动的方向
 if( x == top || x == botton) //如果球的x坐标碰到了最顶端-1,向下运动。碰到最低端20则,向上运动。
 {
  velocity_x =-velocity_x; //改变正负数,则为改变方向
 }
 if( y == lift || y == right) //如果球的x坐标碰到了最zuo端-1,向下运动。碰到最you端20则,向上运动。
 {
  velocity_y =-velocity_y; //改变正负数,则为改变方向
 }
 //每次清屏后,进行绘0。
 printf("0 \n");
 }
 system("pause");
}

该段落为球弹跳的基本逻辑,可以进行直接粘贴复制。编译运行即可看到效果。

代码已经写好注释。

再为大家一段简单的控制台弹跳小球实现代码,感谢原作者的分享:

#include <stdio.h>

#include <stdlib.h>
#include <conio.h>
#include <windows.h>

// 全局变量
 int x,y;   //小球坐标
 int velocity_x,velocity_y ; //速度
 int left,right,top,bottom; //边界 

void gotoxy(int x,int y) //光标移动到(x,y)位置
{
  HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);
  COORD pos;
  pos.X = x;
  pos.Y = y;
  SetConsoleCursorPosition(handle,pos);
} 

void HideCursor() // 用于隐藏光标
{
 CONSOLE_CURSOR_INFO cursor_info = {1, 0}; // 第二个值为0表示隐藏光标
 SetConsoleCursorInfo(GetStdHandle(STD_OUTPUT_HANDLE), &cursor_info);
}
void startup() // 数据初始化
{
 x = 1;
 y = 5;
 velocity_x = 1;  //速度方向
 velocity_y = 1;
 left = 0;
 right = 30;
 top = 0;
 bottom = 15;

 HideCursor(); // 隐藏光标
}

void show() // 显示画面
{

 int i,j;
 for (i=0;i<=bottom;i++)
 {
 for (j=0;j<=right;j++)
 { 

  if((i==x) && (j==y))
  {
   printf("o");  //打印小球
  }
  else if ((i==0)||(i==bottom)||(j==0)||(j==right)) //打印边界
  {
   printf("#");
  }
  else printf(" ");
 }
 printf("\n");
 }
}
void automation() // 与用户输入无关的更新
{
 x = x + velocity_x;
 y = y + velocity_y;
 if ((x==top)||(x==bottom))
 {
 velocity_x = -velocity_x;
 printf("\a");
 }

 else if ((y==left)||(y==right))
 {
 velocity_y = -velocity_y;
 printf("\a");
 }

 Sleep(100); //调低小球速度
}
int main()
{
 system("color 2f"); //改变控制台颜色
 startup();   // 数据初始化
 while (1)   // 游戏循环执行
 {
 gotoxy(0,0);  // 清屏
 show();   // 显示画面
 automation();  // 与用户输入无关的更新
 }
 return 0;
}

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

(0)

相关推荐

  • C语言实现简单弹球游戏

    电视机待机的屏幕上的弹球,怎么实现? 今天文章就跟大家分享下C语言实现简单弹球游戏的具体代码,供大家参考,具体内容如下 #include <iostream> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <time.h> #include <math.h> #include <windows.h> //#include <sy

  • C语言实现反弹球小游戏

    本文为大家分享了C语言反弹球游戏的具体代码,供大家参考,具体内容如下 这是利用函数写的C语言小游戏,用来检验自己的学习成果 反弹球的实现主要有几个子函数组成 问题也在于如何实现小球的下落,以及碰撞得分等情况 #include<stdio.h> #include<windows.h> #include<conio.h> //定义全局变量 int high,width; //游戏边界 int ball_x,ball_y; //小球位置 int ball_vx,ball_vy

  • C语言实现简单弹跳球游戏

    本文实例为大家分享了C语言实现弹跳球游戏的具体代码,供大家参考,具体内容如下 #include <stdio.h> #include <stdlib.h> int main() { // 球的坐标 int pos_x,pos_y; //球坐标的变化 int x =0; int y = 5; // 定义一个球的速度 int velocity_x=1; int velocity_y=1; //定义一个球运动的范围 int top=0; int botton=20; int lift=0

  • C语言实现简单弹跳小球

    本文实例为大家分享了C语言实现简单弹跳小球的具体代码,供大家参考,具体内容如下 本节利用 printf 函数 实现一个在屏幕上弹跳的小球,内容简单容易入门,这也是以后我们在设计更多游戏中可能用到的东西. 绘制静止的小球 我们将以如图坐标系进行游戏,即以窗口左上角为原点. 我们希望在坐标(x , y)处显示静止的小球: #include <stdio.h> int main(){     int i,j; // 这两个量是循环中要使用的,一定先声明     int x = 5;     int

  • C语言实现简单三子棋游戏

    本文实例为大家分享了C语言实现简单三子棋游戏的具体代码,供大家参考,具体内容如下 游戏介绍:使用C语言中二维数组和函数的基本知识实现一个三子棋游戏,这个游戏要实现的基本功能有初始化棋盘.棋盘的打印.玩家下棋.电脑下棋.判断输赢. 代码框架: 1.头文件(game.h) #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<stdlib.h> #include<time.h> #include<st

  • 利用C语言实现简单三子棋游戏

    本文实例为大家分享了C语言实现简单三子棋游戏的具体代码,供大家参考,具体内容如下 创建文件 只要弄清了二维数组的相关知识,我们就可以去实现简单的三子棋.对于初学者可谓是成就感满满~~ 首先我们会创建三个文件夹分别是game.h .geme.c .test.c .其中game.h中我们会引用所有需要的头文件(test.c和game.c中#include "game.h"即可):对常用量进行宏定义:还有对封装的函数进行申明和注释,使代码可读性更高.更好进行管理. 准备环节 1.菜单打印 既

  • 用C语言实现简单五子棋小游戏

    本文实例为大家分享了C语言实现简单五子棋小游戏的具体代码,供大家参考,具体内容如下 在vs2019创建新项目,然后添加两个源文件test.c和game.c,接着创建一个头文件game.h. test.c: #include "game.h" void game() { char board[ROW][COL]; InitBoard(board, ROW, COL); DisplayBoard(board, ROW, COL); char ret = 0; while (1) { Pla

  • C语言实现简单扫雷小游戏

    本文实例为大家分享了C语言实现扫雷小游戏的具体代码,供大家参考,具体内容如下 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <windows.h> #include <time.h> /* 用 C 语言写一个简单的扫雷游戏 */ // 1.写一个游戏菜单 Menu() // 2.开始游戏 // 1.初始化二维数组 Init_Interface() // 2.打印游戏界面 Print_Interfa

  • C语言实现简单的扫雷游戏

    本文实例为大家分享了C语言实现简单扫雷游戏的具体代码,供大家参考,具体内容如下 前言 扫雷游戏规则: 1.踩过所有非雷格子即扫雷成功,踩到雷即游戏结束. 2.点击方格,如果出现数字,数字表示这个格子周围八个格子的雷的个数. 一.如何实现? 1.如何实现雷与雷周围的信息不冲突? 如果采用一个二维数组,1表示雷,0表示非雷,那么某一坐标周围如果雷的个数是1,就会与前面冲突,所以设定两个字符型(char)数组,数组mine用来存储雷的信息,数组show用来存放排查出来的雷的信息(周围八个格子中雷的个数

  • C语言实现简单猜拳小游戏

    C语言实现简单的一个猜拳小游戏,供大家参考,具体内容如下 全部代码 #include<stdio.h> #include<stdlib.h> #include<time.h> #include<Windows.h> int pcinput; //电脑输入 int userinput; //用户输入 #define echo ">_ " //俺觉得好看 char case_win(int left, int right);//判断哪边

  • c语言实现简单的五子棋游戏

    本文实例为大家分享了c语言实现简单五子棋游戏的具体代码,供大家参考,具体内容如下 环境vs2017 一.游戏设计思想 1.该代码设置为 玩家1(*) vs 玩家2(O) 2.选择玩游戏 2.1 显示棋盘,玩家1下棋,判断游戏结果2.2 显示棋盘,玩家2下棋,判断游戏结果  3.判断游戏结果 有4种结果,玩家1赢,玩家2赢,平局,继续游戏若结果为玩家1赢或玩家2赢或平局,则显示结果,退回菜单界面,不再循环下棋        若结果为继续,则循环2.1和2.2 4.选择退出,则退出游戏 二.图片解说

  • 基于C语言实现简单的五子棋游戏

    这是一个用C语言实现的控制台小游戏—-五子棋,棋盘大小和获胜棋子数目是用宏定义的,可以自定义,所以可以轻松改为三子棋.六子棋等等.此游戏设定为人机对战(PVE),电脑走棋是随机的. 编译环境:VS2015 此程序采用多文件编译,共有三个文件,一个game.h头文件,一个game.c文件和一个main.c文件,代码分别如下: game.h 这里是一些数据和函数的声明 #ifndef  _GAME_H_            #define _GAME_H_ #define _BOARD_ 10  

随机推荐