求助怎么把c++的程序改成C语言,老师布置的作业,原来的程序是个火柴人

火车小白 2018-06-21 10:11:42
#include <iostream>
#include <fstream>
#include <graphics.h>
#include <conio.h>
#include <time.h>

using namespace std;

/******全局变量******/
#define STEPDISTANCE 6 // 一步的距离。数值越大,移动速度越快
#define JUMPSPEED 10 // 数值越小,跳得越远
#define ROLLDISTANCE 30 // 滚动的总步数。数值越大,滚得越远

/******全局变量******/
int s_v = STEPDISTANCE; //障碍物和人物移动速度
int p_v = JUMPSPEED; //人物跳跃速度
int score = 0; //分数
int max_s = 0;
char keydown; //按键值

/********************/
void move();
void Login();

/*************************************障碍物类****************************************/
// 障碍物
class zhangai
{
public:
int left;
int top;
int right;
int bottom;
int r;
public:
void draw(int l, int t, int r, int b); // 绘制障碍物
void style(); // 障碍物类型

} s1, s2, s3;

// 障碍物类型
void zhangai::style()
{
int a;
srand((unsigned int) time(NULL));
a = rand() % 5 + 1;
switch(a)
{
case 0:
case 1:
case 2:
case 3:
case 4:
top = 330;
bottom = 361;
break;
case 5:
top = 260;
bottom = 291;
break;
}
...全文
379 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2018-06-23
  • 打赏
  • 举报
回复
请牢记:源代码本身的书写是否结构化或面向对象或符合设计模式或敏捷…并不重要,重要的是你是否使用结构化或面向对象或符合设计模式或敏捷…的方法命名标识符、阅读、修改、检查、测试源代码。

意思是你程序结构看上去再合理,再简洁,也不一定比看上去一团乱麻的程序结构在运行或修改时更不易出错,更方便修改,出错了更容易找到哪里出错和具体出错的原因,更容易改正错误。

试对比
图书馆(对图书的分类够结构化了吧)

搜索引擎(可看作是扁平化任何结构数据,仅支持全文检索)
哪个处理信息更方便、更高效。

所以
与其费劲去重构代码让其看上去更简洁、更合理
不如费劲学习grep、sed、awk、……这类全文搜索和批处理编辑的工具。

结构越复杂,越难修改,越难除错。
有时(甚至大多数时候),看上去越合理、越简洁的代码,运行起来性能越差,出错时查找原因越难,找到出错原因后改正越费劲。

程序员要做的不是尽力避免错误,而是聚焦在快速发现并改正错误。真正以快速方式轻易解决错误,“快速的失败”远胜过“预防错误”。Fred George

前微软C#编辑器的开发主管Jay Bazuzi列出的一些有助于找到正确方向的问题;他觉得前同事们应该用这些问题来问自己;实际上不管在哪里工作的开发者们都应该经常问问自己这些问题:
◆“要保证这个问题不会再出现,我该怎么做?”
◆“要想少出些Bug,我该怎么做?”
◆“要保证Bug容易被修复,我该怎么做?”
◆“要保持对变化的快速响应,我该怎么做?”
◆“要保证我的软件的运行速度,我该怎么做?”
如果大多数团队都能不时问一下自己,必定会从中得益,因为这些都是真正强而有力的问题。
「已注销」 2018-06-22
  • 打赏
  • 举报
回复
代码都是半截子
ooolinux 2018-06-21
  • 打赏
  • 举报
回复
还不如学点C++,能阅读更多代码。
赵4老师 2018-06-21
  • 打赏
  • 举报
回复
#include <stdio.h>
#include <graphics.h>
#include <conio.h>
#include <time.h>

/******全局变量******/
#define STEPDISTANCE 6 // 一步的距离。数值越大,移动速度越快
#define JUMPSPEED 10 // 数值越小,跳得越远
#define ROLLDISTANCE 30 // 滚动的总步数。数值越大,滚得越远

/******全局变量******/
int s_v = STEPDISTANCE; //障碍物和人物移动速度
int p_v = JUMPSPEED; //人物跳跃速度
int score = 0; //分数
int max_s = 0;
char keydown; //按键值

/********************/
void move();
void Login();

/*************************************障碍物类****************************************/
// 障碍物
struct zhangai {
int left;
int top;
int right;
int bottom;
int r;
}
s1, s2, s3;

// 障碍物类型
void zhangai_style(struct *ps) {
int a;
srand((unsigned int) time(NULL));
a = rand() % 5 + 1;
switch(a) {
case 0:
case 1:
case 2:
case 3:
case 4:
ps->top = 330;
ps->bottom = 361;
break;
case 5:
ps->top = 260;
ps->bottom = 291;
break;
}
yshuise 2018-06-21
  • 打赏
  • 举报
回复
你们老师真是个笨蛋哟,出这些莫名其妙的踢呀!
ooolinux 2018-06-21
  • 打赏
  • 举报
回复
引用 6 楼 zyx6680599 的回复:
[quote=引用 5 楼 u010165006 的回复:]
[quote=引用 4 楼 zyx6680599 的回复:]
[quote=引用 3 楼 u010165006 的回复:]
还不如学点C++,能阅读更多代码。

那是你不懂C的奥妙[/quote]

面向过程,组织以函数,代码随意写的奥妙?[/quote]
of course 但你没说出C操作DOS Windows时多顺手(想当初我刚学时背cmd命令背了三天)[/quote]

引用 6 楼 zyx6680599 的回复:
[quote=引用 5 楼 u010165006 的回复:]
[quote=引用 4 楼 zyx6680599 的回复:]
[quote=引用 3 楼 u010165006 的回复:]
还不如学点C++,能阅读更多代码。

那是你不懂C的奥妙[/quote]

面向过程,组织以函数,代码随意写的奥妙?[/quote]
of course 但你没说出C操作DOS Windows时多顺手(想当初我刚学时背cmd命令背了三天)[/quote]

操作DOS Windows?调用系统API?C++一样简单。
zyx6680599 2018-06-21
  • 打赏
  • 举报
回复
引用 5 楼 u010165006 的回复:
[quote=引用 4 楼 zyx6680599 的回复:]
[quote=引用 3 楼 u010165006 的回复:]
还不如学点C++,能阅读更多代码。

那是你不懂C的奥妙[/quote]

面向过程,组织以函数,代码随意写的奥妙?[/quote]
of course 但你没说出C操作DOS Windows时多顺手(想当初我刚学时背cmd命令背了三天)
ooolinux 2018-06-21
  • 打赏
  • 举报
回复
引用 4 楼 zyx6680599 的回复:
[quote=引用 3 楼 u010165006 的回复:]
还不如学点C++,能阅读更多代码。

那是你不懂C的奥妙[/quote]

面向过程,组织以函数,代码随意写的奥妙?
zyx6680599 2018-06-21
  • 打赏
  • 举报
回复
引用 3 楼 u010165006 的回复:
还不如学点C++,能阅读更多代码。


引用 3 楼 u010165006 的回复:
还不如学点C++,能阅读更多代码。

那是你不懂C的奥妙

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧