资源简介
在linux 环境下用C语言实现的俄罗斯方块,用到了文件操作,列表的使用,颜色控制等的使用
代码片段和文件信息
#include
#include
#include
#include
#include “define.h“
#include “typedef.h“
#include “block.h“
#include “con_fun.h“
#include “enum.h“
#include “mySignal.h“
#include “link.h“
#include
#include
static jmp_buf env;
void gameInit()
{
printf(“\033[0m“);
system(“clear“);
int i = 0j = 0 ;
int user_state = 0;
U_ATTR_STR = (USER_ATTR_PTR)malloc(sizeof(USER_ATTR));
if(U_ATTR_STR)
{
//---------int screen attr the start value of Shape-----
SCREEN_ATTR.width = 13;
SCREEN_ATTR.height = 2;
//------------------------------
//-----next coordinate init-----
COOR_NEXT.next_x = 38;
COOR_NEXT.next_y = 13;
//------------------------------
//------limit value init---
S_LIMIT.left_max = 3;
S_LIMIT.right_max = 29;
S_LIMIT.bottom_max = 26;
//-------------------------
//coordinate init--------------------
SHAPE_C.new_x = SCREEN_ATTR.width;
SHAPE_C.new_y = SCREEN_ATTR.height;
SHAPE_C.old_x = SHAPE_C.new_x;
SHAPE_C.old_y = SHAPE_C.new_y;
U_ATTR_STR->u_score = 0;
U_ATTR_STR->u_level = 1;
//---------------------------------
// the max value of right side
//init the mode of shape------
srand(time(NULL));
SHAPE_P.curr_num = rand() % 7;
SHAPE_P.curr_mode = rand() % 4;
SHAPE_P.next_num = rand() % 7;
SHAPE_P.next_mode = rand() % 4;
//shape color
SHAPE_P.curr_color = 40 + rand() % 7;
SHAPE_P.next_color = 40 + rand() % 7;
//----------------------------
printScreen();
INPUT: user_state = setUserMessage();
switch(user_state)
{
case 1:
{
printGameFight();
sleep(1);
printStartScreen();
printNextShape(COOR_NEXT.next_xCOOR_NEXT.next_y);
printf(“\033[3;%dH %s“39U_ATTR_STR->u_name);
printUserScore();
printUserLevel();
printf(“\033[%d;3H you can go \033[0m “(ROW - 1));
break;
}
case 2://display score
{ printGameScore(0);
displayUserScoreForInput();
printf(“\033[%d;22H “ROW - 1 );
printf(“\033[%d;22H“ROW - 1 );
goto INPUT;
return;
}
case 3:
{
printf(“\033[%d;3H“ROW + 1);
return ;
}
default:
{
return ;
}
}
printBlockShape(SHAPE_C.new_xSHAPE_C.new_y0);
handleOrientationKey();
}
else
{
printError(“game init fail“MALLOC_ERROR);
return;
}
}
static void handleUserInputScoreMsg(char *msg char *out)
{
int counter = 0;
int i = 0 ;
while(*msg)
{
if(*msg == ‘ ‘)
{
}
else
{
out[i++] = *msg;
}
msg++ ;
}
}
int setUserMessage()
{
game_kind = -1;
char inbuf[20] ;
gets(inbuf);
if(strlen(inbuf) == 1)
{
game_kind = inbuf[0];
}
else
{
}
while( ‘0‘ > game_kind || game_kind > ‘3‘)
{
if(strlen(inbuf) == 1)
{
game_kind = inbuf[0];
break;
}
else
{
}
printf(“\033[%d;3H \033[0m “(ROW - 1));
printf(“\033[%d;3H please input <1 - 3> :\033[0m “(ROW - 1));
gets(inbuf);
}
i
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2013-01-20 12:13 rblock\
目录 0 2013-01-20 12:07 rblock\con_fun\
文件 8405 2013-01-20 12:07 rblock\con_fun\con_fun.c
文件 16304 2013-01-20 12:07 rblock\con_fun\con_fun.o
文件 169 2013-01-19 15:33 rblock\con_fun\Makefile
文件 46769 2013-01-20 12:13 rblock\exe.bin
目录 0 2013-01-20 11:31 rblock\include\
文件 10341 2013-01-20 11:31 rblock\include\block.h
文件 185 2013-01-19 15:33 rblock\include\con_fun.h
文件 385 2013-01-20 10:04 rblock\include\define.h
文件 107 2013-01-19 15:33 rblock\include\enum.h
文件 885 2013-01-20 10:36 rblock\include\li
文件 788 2013-01-19 15:33 rblock\include\mySignal.h
文件 493 2013-01-20 10:17 rblock\include\print.h
文件 1066 2013-01-20 09:47 rblock\include\typedef.h
目录 0 2013-01-20 11:32 rblock\main\
文件 0 2013-01-19 15:33 rblock\main\main
文件 79 2013-01-19 15:33 rblock\main\main.c
文件 784 2013-01-20 11:32 rblock\main\main.o
文件 238 2013-01-19 15:33 rblock\main\Makefile
文件 500 2013-01-20 11:01 rblock\Makefile
目录 0 2013-01-20 11:32 rblock\msgfile\
文件 102 2013-01-20 10:59 rblock\msgfile\Makefile
文件 27 2013-01-20 12:13 rblock\msgfile\userfile
目录 0 2013-01-20 11:32 rblock\mySignal\
文件 6564 2013-01-19 15:33 rblock\mySignal\a.out
文件 166 2013-01-19 15:33 rblock\mySignal\Makefile
文件 1157 2013-01-19 15:33 rblock\mySignal\mySignal.c
文件 2100 2013-01-20 11:32 rblock\mySignal\mySignal.o
目录 0 2013-01-20 11:32 rblock\print\
文件 164 2013-01-19 15:33 rblock\print\Makefile
............此处省略12个文件信息
- 上一篇:运动会C语言实现
- 下一篇:C++课程设计 宾馆管理系统 完整的报告
相关资源
- Linux那些事儿之我是USB core
- C语言的嵌入式汇编基本使用.docx(2页
- C语言嵌入式Modbus协议栈,支持主站和
- C语言封装的HttpClient接口
- C语言课设计算器
- C语言 学生兴趣管理系统
- c语言实现火车订票系统(控制台)源
- 模拟笔记本电脑(C语言实现)
- c语言实现竞技比赛打分系统
- KMP算法C语言程序
- Linux c语言 学生成绩管理系统
- 弹跳的小球(test.c)
- 俄罗斯方块游戏源码(Tetris)
- 林锐—高质量C编程
- 基于c语言的通讯录系统
- C语言全套课件与教学资料-哈工大
- 计算机二级C语言真题.docx
- C语言实现 设备信息管理系统
- GBT 28169-2011 嵌入式软件 C语言编码规范
- C语言标准库函数大全.chm
- C语言常用代码(分章节)
- c语言课程设计:客房登记系统源码
- C语言常用算法源代码
- 吕鑫:VS2015之博大精深的0基础C语言视
- c语言文都讲义2020
- c语言课件56883
- C语言推箱子win控制台
- C语言程序设计50例.docx
- 烟花优化算法(c语言版)
- C语言程序设计教材习题参考答案.do
评论
共有 条评论