该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

#include

#include

#include

#include

#include

int randtmp=3,i,j,p,q,fx,fy,s,t,c,r,dltm,begin=0,fq,k,a,sj,score=0;

int dla=32000;

int nx[5],ny[5],h[5],m[25];

int x[8][4]={

0,0,0,0,

0,-2,-1,0,

0,0,1,2,

0,0,0,0,

0,-1,0,1,

0,0,1,1,

0,-1,0,1,

0,-1,0,1,

};        int y[8][4]={

0,0,0,0,

0,0,0,1,

0,1,0,0,

0,1,2,3,

0,0,1,0,

0,1,0,1,

0,1,1,0,

0,0,1,1,

};

display(int i,int t){

for(j=0;j<4;j++){

textcolor(i);

q=fy+y[i][j];

p=fx+x[i][j];

gotoxy(p,q); putch(t);

}

}

turn(){

for(j=1;j<4;j++){

c=x[i][j]; x[i][j]=-y[i][j]; y[i][j]=c;

}

test();

if (s==0) return;

for (j=1;j<4;j++){

c=y[i][j]; y[i][j]=-x[i][j]; x[i][j]=c;

}

}

full(){

int fj=0,yj;

for(j=0;j<4;j++){

yj=fy+y[i][j];

m[yj]++;

if(m[yj]==12)  fj=1;

}

if (fj==1) {kill();}

}

kill(){

char tm[2],tf,z,k=0;

for(z=23;z>4;z--){

if (m[z]==12){k++;

for(q=z-1;q>4;q--){

for (p=11;p<=22;p++){

gettext(p,q,p,q,&tm);

tf=tm[0];

if(tf==32){

gotoxy(p,q+1);

printf(" ");

}else{gotoxy(p,q+1);putch(219);}

}

m[q+1]=m[q];

} z++;

}

}

if(k==1) score++;

if(k==2) score+=3;

if(k==3) score+=7;

if(k>=4) score+=13;

}

test(){

char tmp[2];

s=0;

for(j=0;j<4;j++){

q=fy+y[i][j];

p=fx+x[i][j];

gettext(p,q,p,q,&tmp);

if(tmp[0]!=32) s=1;

}

}

left(){

int ox;

display(i,32);

ox=fx;

fx--;

test();

if(s==1) fx=ox;

display(i,219);

}

right(){

int ox;

t=32;

display(i,t);

ox=fx;

fx++;

test();

if(s==1) fx=ox;

t=219;

display(i,t);

}

inkey(){

int k;

if(kbhit()){

k=getch();

if(k==27) exit(0);

if(k==0){

k=getch();

switch(k){

case 77: right(); break;

case 75: left();  break;

case 72: turn();

break;

case 80: dla=8888;           break;

}

}

}

}

levelchooser(){

int level;

printf("\n\n\n\n\n\nWelcome Please:");

printf("\nINPUT LEVEL[Difficult=1 Normal=2 Easy=3]:");

scanf("%d",&level);

if(level<=1){dla=20000;dltm=dla;}

if(level==1){dla=20000;dltm=dla;}

if(level==2){dla=40000;dltm=dla;}

if(level==3){dla=60000;dltm=dla;}

if(level>=3){dla=60000;dltm=dla;}

clrscr();

begin=1;

}

over(){

int c,a;

textcolor(3);

for(i=1;i<=24;i++){

for(c=1;c<=40;c++){

textcolor(i);

delay(3200);

gotoxy(c,i);

putch(219);

}

}

for(a=1;a<=24;a++){

gotoxy(5,a);

delay(32000);

for(c=1;c<=40;c++){

textcolor©;

gotoxy(c,a);

putch(219);

}

}

delay(32000);

exit(0);

}

func(){

while(1){

i=randtmp;

randtmp=rand()%7+1;

fx=9;fy=2;

gotoxy(1,2);printf("NEXT:");

display(randtmp,219);

fx=16;fy=5;

while(1){

test();

if((s==1) && (fy==5)) {

over();

}

inkey();

display(i,219);

delay(dla);delay(dla);delay(dla);

display(i,32); fy++; test();gotoxy(12,1);printf("score=%d",score);

if(s==1){

fy--;

display(i,219);

full();

fx=9;fy=2;

display(randtmp,32);

fy=5;

fx=16;

dla=dltm;

break;

}

}

}

}

box(){

gotoxy(11,12);

for(i=4;i<=23;i++){

m[i]=0;textcolor(i);

gotoxy(10,i);

putch(219);

gotoxy(23,i);

putch(219);

}

for(i=10;i<=23;i++){

textcolor(i);

gotoxy(i,24);

putch(219);

}

fx=16;

fy=5;

}

main(){

int e1,e2;

union REGS r;

textmode(C40);

clrscr();

levelchooser();

randomize();

r.x.ax=0x0100;

r.x.cx=0x2000;

int86(0x10,&r,&r);

box();

func();

}

c语言俄罗斯方块注释,C语言学习1年-俄罗斯方块(无注释)相关推荐

  1. C语言代码注释 - C语言零基础入门教程

    目录 方法一:使用// 方法二:使用/* */ 方法三:使用宏 #if #else #end 猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 ...

  2. c语言响铃编程,C语言C加加编程新手快速入门基础学习

    本节引言 在上一节中,对于C语言有了一个初步的了解,学会了如何使用IDE来进行 代码编写,编译和运行.而这一节,我们会对C语言的基本语法进行学习, C语言是一门编程语言,可以和英语进行类比,英语句子 ...

  3. Python|线程和进程|阻塞|非阻塞|同步|异步|生成器和协程|资源竞争|进程间通信|aiohttp库|daemon属性值详解|语言基础50课:学习(11)

    文章目录 系列目录 原项目地址 第34课:Python中的并发编程-1 线程和进程 多线程编程 使用 Thread 类创建线程对象 继承 Thread 类自定义线程 使用线程池 守护线程 资源竞争 G ...

  4. 嵌入式培训c语言编程,嵌入式C语言学习秘诀

    嵌入式C语言学习秘诀 大家都知道C语言是整个嵌入式开发学习中一门重要的语言,所以学好C语言也是嵌入式开发学习中重要环节.到底如何学习C语言?C语言学习的秘诀是什么?今天本为就为大家揭开这个谜底.学习C ...

  5. Python|SQL详解之DDL|DML|DQL|DCL|索引|视图、函数和过程|JSON类型|窗口函数|接入MySQL|清屏|正则表达式|executemany|语言基础50课:学习(14)

    文章目录 系列目录 原项目地址 第41课:SQL详解之DDL 建库建表 删除表和修改表 第42课:SQL详解之DML insert操作 delete 操作 update 操作 完整的数据 第43课:S ...

  6. Python|http|Chrome Developer Tools|Postman|HTTPie|builtwith库|python-whois库|爬虫及解析|语言基础50课:学习(10)

    文章目录 系列目录 原项目地址 第31课:网络数据采集概述 爬虫的应用领域 爬虫合法性探讨 Robots协议 超文本传输协议(HTTP) 相关工具(Chrome Developer Tools.Pos ...

  7. Python|Git remote|hosts|PyCharm常用快捷键|变量转换|命名|类型|运算符|分支|调整tab|循环|语言基础50课:学习记录(1)-项目简介及变量、条件及循环

    目录 系列目录 均引自原项目地址: Python语言基础50课简介及相关网址 修改 hosts 文件 解决 GitHub 上图片无法显示 视频资源 Python语言基础50课代码等文件资源 表1. P ...

  8. Python|xlwt|xlrd|调整单元格样式(背景,字体,对齐、虚线边框、列宽行高、添加公式)|xlutils|openpyxl|只读与只写|图表|语言基础50课:学习(8)

    文章目录 系列目录 原项目地址 第24课:用Python读写Excel文件-1 Excel简介 安装 读Excel文件(行列索引从`0`开始) 写Excel文件 调整单元格样式(背景,字体,对齐.虚线 ...

  9. Python|并发编程|爬虫|单线程|多线程|异步I/O|360图片|Selenium及JavaScript|Scrapy框架|BOM 和 DOM 操作简介|语言基础50课:学习(12)

    文章目录 系列目录 原项目地址 第37课:并发编程在爬虫中的应用 单线程版本 多线程版本 异步I/O版本 总结 第38课:抓取网页动态内容 Selenium 介绍 使用Selenium 加载页面 查找 ...

  10. Python|装饰器|执行时间|递归|动态属性|静态方法和类|继承和多态|isinstance类型判断|溢出|“魔法”方法|语言基础50课:学习记录(6)-函数的高级应用、面向对象编程、进阶及应用

    文章目录 系列目录 原项目地址: 第16课:函数的高级应用 装饰器(记录执行时间的例子) 递归调用 简单的总结 第17课:面向对象编程入门 类和对象 定义类 创建和使用对象 初始化方法 打印对象 面向 ...

最新文章

  1. 组队学习:学习者参考手册
  2. c语言的转义字符要求,C语言…转义字符的使用
  3. SecureCRT远程连接Linux服务器及相关配置
  4. MDK KEIL 烧录STM32下载错误:Flash Timeout.Reset the Target and try it again.解决办法(芯片解锁 解除读报护)
  5. mac mysql 的lb_四层LB和七层LB
  6. NoSQL之Cassandra
  7. java和javascript双引号嵌套的问题
  8. thinkpad笔记本电脑不按Fn键直接实现F1-F12功能的方法
  9. DNT 3.1 快速安装手记
  10. atitit.故障排除--- 当前命令发生了严重错误。应放弃任何可能产生的结果sql server 2008
  11. 初次打开QQ空间后IE卡死问题处理
  12. Map获取key的数组
  13. 输出dom对象的HTML,console 输出 DOM 对象
  14. 今日头条极速版自动寻找-阅读惊喜奖励
  15. 哈佛大学幸福课笔记二
  16. 联想拯救者y7000p加内存条_怎么给笔记本升级内存和硬盘 联想Y7000P加装内存和硬盘图文介绍...
  17. Cordova 卸载
  18. 原生js方法购物车完整实现 利用localStorage
  19. Element Dialog
  20. 大三期末前端页面开发论文

热门文章

  1. 4.1ASP.NET Core请求过程「深入浅出ASP.NET Core系列」
  2. javascript与java正则表达式写法的区别
  3. DesignPattern(四)结构型模式(下)
  4. Uploadify jquery+falsh+UploadHandler.ashx
  5. 常见的web漏洞及其防范(转)
  6. px,em,rem,vh,vw,vmin,vmax的区别
  7. 黄聪:《跟黄聪学WordPress插件开发》
  8. JAVA逆向反混淆-追查Burpsuite的破解原理(转)
  9. JavaScript:事件冒泡和事件委托
  10. [转]PDO防注入原理分析以及使用PDO的注意事项