c语言俄罗斯方块注释,C语言学习1年-俄罗斯方块(无注释)
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#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年-俄罗斯方块(无注释)相关推荐
- C语言代码注释 - C语言零基础入门教程
目录 方法一:使用// 方法二:使用/* */ 方法三:使用宏 #if #else #end 猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 ...
- c语言响铃编程,C语言C加加编程新手快速入门基础学习
本节引言 在上一节中,对于C语言有了一个初步的了解,学会了如何使用IDE来进行 代码编写,编译和运行.而这一节,我们会对C语言的基本语法进行学习, C语言是一门编程语言,可以和英语进行类比,英语句子 ...
- Python|线程和进程|阻塞|非阻塞|同步|异步|生成器和协程|资源竞争|进程间通信|aiohttp库|daemon属性值详解|语言基础50课:学习(11)
文章目录 系列目录 原项目地址 第34课:Python中的并发编程-1 线程和进程 多线程编程 使用 Thread 类创建线程对象 继承 Thread 类自定义线程 使用线程池 守护线程 资源竞争 G ...
- 嵌入式培训c语言编程,嵌入式C语言学习秘诀
嵌入式C语言学习秘诀 大家都知道C语言是整个嵌入式开发学习中一门重要的语言,所以学好C语言也是嵌入式开发学习中重要环节.到底如何学习C语言?C语言学习的秘诀是什么?今天本为就为大家揭开这个谜底.学习C ...
- Python|SQL详解之DDL|DML|DQL|DCL|索引|视图、函数和过程|JSON类型|窗口函数|接入MySQL|清屏|正则表达式|executemany|语言基础50课:学习(14)
文章目录 系列目录 原项目地址 第41课:SQL详解之DDL 建库建表 删除表和修改表 第42课:SQL详解之DML insert操作 delete 操作 update 操作 完整的数据 第43课:S ...
- Python|http|Chrome Developer Tools|Postman|HTTPie|builtwith库|python-whois库|爬虫及解析|语言基础50课:学习(10)
文章目录 系列目录 原项目地址 第31课:网络数据采集概述 爬虫的应用领域 爬虫合法性探讨 Robots协议 超文本传输协议(HTTP) 相关工具(Chrome Developer Tools.Pos ...
- Python|Git remote|hosts|PyCharm常用快捷键|变量转换|命名|类型|运算符|分支|调整tab|循环|语言基础50课:学习记录(1)-项目简介及变量、条件及循环
目录 系列目录 均引自原项目地址: Python语言基础50课简介及相关网址 修改 hosts 文件 解决 GitHub 上图片无法显示 视频资源 Python语言基础50课代码等文件资源 表1. P ...
- Python|xlwt|xlrd|调整单元格样式(背景,字体,对齐、虚线边框、列宽行高、添加公式)|xlutils|openpyxl|只读与只写|图表|语言基础50课:学习(8)
文章目录 系列目录 原项目地址 第24课:用Python读写Excel文件-1 Excel简介 安装 读Excel文件(行列索引从`0`开始) 写Excel文件 调整单元格样式(背景,字体,对齐.虚线 ...
- Python|并发编程|爬虫|单线程|多线程|异步I/O|360图片|Selenium及JavaScript|Scrapy框架|BOM 和 DOM 操作简介|语言基础50课:学习(12)
文章目录 系列目录 原项目地址 第37课:并发编程在爬虫中的应用 单线程版本 多线程版本 异步I/O版本 总结 第38课:抓取网页动态内容 Selenium 介绍 使用Selenium 加载页面 查找 ...
- Python|装饰器|执行时间|递归|动态属性|静态方法和类|继承和多态|isinstance类型判断|溢出|“魔法”方法|语言基础50课:学习记录(6)-函数的高级应用、面向对象编程、进阶及应用
文章目录 系列目录 原项目地址: 第16课:函数的高级应用 装饰器(记录执行时间的例子) 递归调用 简单的总结 第17课:面向对象编程入门 类和对象 定义类 创建和使用对象 初始化方法 打印对象 面向 ...
最新文章
- 组队学习:学习者参考手册
- c语言的转义字符要求,C语言…转义字符的使用
- SecureCRT远程连接Linux服务器及相关配置
- MDK KEIL 烧录STM32下载错误:Flash Timeout.Reset the Target and try it again.解决办法(芯片解锁 解除读报护)
- mac mysql 的lb_四层LB和七层LB
- NoSQL之Cassandra
- java和javascript双引号嵌套的问题
- thinkpad笔记本电脑不按Fn键直接实现F1-F12功能的方法
- DNT 3.1 快速安装手记
- atitit.故障排除--- 当前命令发生了严重错误。应放弃任何可能产生的结果sql server 2008
- 初次打开QQ空间后IE卡死问题处理
- Map获取key的数组
- 输出dom对象的HTML,console 输出 DOM 对象
- 今日头条极速版自动寻找-阅读惊喜奖励
- 哈佛大学幸福课笔记二
- 联想拯救者y7000p加内存条_怎么给笔记本升级内存和硬盘 联想Y7000P加装内存和硬盘图文介绍...
- Cordova 卸载
- 原生js方法购物车完整实现 利用localStorage
- Element Dialog
- 大三期末前端页面开发论文
热门文章
- 4.1ASP.NET Core请求过程「深入浅出ASP.NET Core系列」
- javascript与java正则表达式写法的区别
- DesignPattern(四)结构型模式(下)
- Uploadify jquery+falsh+UploadHandler.ashx
- 常见的web漏洞及其防范(转)
- px,em,rem,vh,vw,vmin,vmax的区别
- 黄聪:《跟黄聪学WordPress插件开发》
- JAVA逆向反混淆-追查Burpsuite的破解原理(转)
- JavaScript:事件冒泡和事件委托
- [转]PDO防注入原理分析以及使用PDO的注意事项