145.艺术清屏

简介: 145.艺术清屏
#include<stdio.h>
#include<dos.h>
#include<conio.h>
void goto_xy(int x,int y);
void dcls(int x1,int x2,int y1,int y2);
void bcls(int x1,int x2,int y1,int y2);
void recls(int x1,int x2,int y1,int y2);
void zcls(int x1,int x2,int y1,int y2);
void puta(void);
/*--------------演示程序---------------------*/
main()
{
    puta();
    getch();
    dcls(0,4,0,79);
    getch();
    puta();
    getch();
    bcls(0,25,0,79);
    getch();
    puta();
    getch();
    zcls(0,25,0,79);
    getch();
}
/*********center clear screen(中心清屏)***********/
void zcls(int x1,int x2,int y1,int y2)
{
    int x00,y00,x0,y0,i,d;
    if((y2-y1)>(x2-x1)){
  d=(x2-x1)/2;
  x0=(x1+x2)/2;
  y0=y1+d;
  y00=y2-d;
  for(i=0;i<(d+1);i++)
      recls((x0-i),(x00+i),(y0-i),(y00+i));
    }
    else{
  d=(y2-y1)/2;
  y0=(y1+y2)/2;
  x0=x1+d;
  x00=x2-d;
  for(i=0;i<d+1;i++)
      recls(x0-i,x00+i,y0-i,y00+i);
    }
}
/************* clear rectangle side(矩形边清屏)***********************/
void recls(int x1,int x2,int y1,int y2)
{
    int i,j;
    for(i=y1;i<y2;i++){
  goto_xy(x1,i);
  putchar(' ');
  goto_xy(x2,i);
  putchar(' ');
    }
    for(j=x1;j<x2;j++){
  goto_xy(i,y1);
  putchar(' ');
  goto_xy(j,y2);
  putchar(' ');
    }
}
/*****************close screen clear*****闭幕式清屏*******************/
void bcls(int x1,int x2,int y1,int y2)
{
    int t,s,j;
    t=y1;
    s=y2;
    for(t=y1;t<(y1+y2)/2;t++,s--)
    for(j=x1;j<x2;j++){
  goto_xy(j,t);
  putchar(' ');
  goto_xy(j,s);
  putchar(' ');
  delay(1);
    }
}
/******************bottom screen clear(自下清屏)********************/
void dcls(int x1,int x2,int y1,int y2)
{
    int t,s,j,i;
    t=s=(y1+y2)/2;
    for(j=x2;j>x1;j--)
    for(i=y1;i<y2;i++){
  goto_xy(j,i);
  putchar(' ');
  delay(1);
    }
}
/******************设置光标子函数******************/
void goto_xy(int x,int y)
{
    union REGS r;
    r.h.ah=2;
    r.h.dl=y;
    r.h.dh=x;
    r.h.bh=0;
    int86(0x10,&r,&r);
}
/**********************在屏幕上打出一连串的@字母用于演示程序******************/
void puta(void)
{
    int i,j;
    for(i=0;i<24;i++){
  for(j=0;j<79;j++){
      goto_xy(i,j);
      printf("@");
  }
    }
}
相关文章
|
Android开发
第十一章 图像之清屏
Android游戏开发群:290051794 Libgdx游戏开发框架交流群:261954621 在Libgdx进行清屏操作不同于普通的OpenGL应用,其中一点就是访问OpenGL上下文的方式不同。
932 0
|
4月前
|
JavaScript 前端开发 程序员
代码共舞:从键盘到屏幕的创意之旅###
在技术的浩瀚星海里,编程犹如驾驭星辰的术法,每一行代码都是向着梦想远航的风帆。本文将引领你探索编程的奇妙世界,揭示其如同魔法般的魅力,以及它如何成为解决问题的超能力,让逻辑与想象在指尖跳跃,共同绘制出未来世界的斑斓画卷。 ###
|
9月前
win32编程 -- 泡泡跳动
win32编程 -- 泡泡跳动
42 0
在编程的时候,NotePad++ 中闪烁的光标突然有竖着闪烁的编程蓝色下划线闪烁的--小技巧告诉你-费元星
当在写代码时出现的光标闪烁(横线闪烁) 在键盘上找 Insert ,按这个Insert就可以把横向闪烁光标( _ )修改成竖向闪烁光标样式( | ),横向光标会在你写代码的时候修改前面的代码,把光标移到前面进行修改时,后面的代码也会随之被消除,所以需要把光标修改成竖向显示的样式。
1535 0
鼠标和键盘的故事
关于键盘 昨天订了一台 Happy Hacking Keyboard 白版英文配列,今天早上收到。梦寐以求的键盘终于到手了,花了我不少米。不过我也是带键盘上班一族了,哈哈。 回来后想得瑟一下,让同学们猜它多少钱,第一个同学试探着问:“70 元?”第二个同学更狠,说:“50 元!超过 50 元你绝对被宰了!”好吧,那我真是彻头彻尾地被“宰”得体无完肤了,这键盘花了我 2K 块,它长得
1519 0
12.2、Libgdx的图像之清屏
(官网:www.libgdx.cn) 在Libgdx中的清屏操作不同于普通的OpenGL应用。唯一的不同是访问OpenGL context。 代码如下: @Override public void render() { Gdx.
826 0
|
11天前
|
存储 C# 图形学
Unity 逐字显示 打字机效果
在 Unity 中实现逐字显示的打字机效果,主要通过 UGUI Text 组件和 C# 脚本完成。核心原理是将文本逐字拆分并按时间间隔依次显示。具体步骤如下:1. 创建 Text 组件和脚本;2. 使用协程或 Update 方法控制字符逐个显示。代码示例展示了两种实现方式,一种使用协程 `IEnumerator`,另一种通过 `Update` 方法结合 `Substring` 实现逐字显示效果。
C语言|复刻弹跳小球简易游戏
目录 一、弹跳小球介绍 二、弹跳小球的代码 三、弹跳小球代码的解析 1、我们需要一个小球(大写的 'O') 2、在一个指定的位置将小球 'O' 打印出来 3、弹跳小球的重点当然是弹跳二字了,我们来实现小球的弹跳 清屏函数system("cls") 4、让小球在指定范围内跳动 5、用 scanf() 来输入小球的初始位置和跳动范围 scanf(“输入控制符”, 输入参数); 四、总结 一、弹跳小球介绍 其实也没有什么可介绍的,就是一个小球(用大写的 'O' 代替)在一定区域内反复横跳。 二、弹跳小球的代码 这里我先把代码放出来:(运行效果的话就自己试试了) #include <stdio.h>

热门文章

最新文章