C语言项目总结

2015.12.25,正式结束了为期10天的C语言的项目实训与答辩。

这次C语言的项目是做一个冒险的打怪游戏,感触颇深,结合上次网站实训的经验,这次我几乎有收获与不懂都新建了记事本记录与整理,接下来我将一 一细说这次项目的感受与总结。

这次的项目不像之前的网站实训——是个团队的项目,这次的项目就完全是展示个性与想法的时候。

开始的时候,好奇、憧憬。

第一天做项目,拿着项目流程完全不知道应该从哪里开始,于是真的第一天就真的近乎没有进展,只是做了用printf("")设计的游戏首页,主界面的样式。

第二天开始做项目的时候,就想着可以试着分模块来做。这一天的主要的任务就是把游戏故事的背景编写好,和完成登录与注册;心里有了目标,的确比第一天好很多,但是新的问题出现了,就是注册的信息不可以被关闭之后不可以被保留,所问之处都无答案,最后我只好在注册完之后,设计了一个system("cls")清屏等待休眠时间,再把登录的代码加过来,暂时就这样。至于官方的方法,等我有行之有效的方法再分享出来。

第三天,设计了加载游戏的进度条,与绘制地图(我采用的是20*20)。进度条采用设计一个for循环打印方块的图形完成,而最大的问题,除了构思地图外,就是怎么样让地图出现,怪物随机出现。而最终采用的方法就是问度娘,地图的出现,用if语句设计,我的地图用0代表空路,1代表墙壁,3代表小怪,5代表大怪,4代表boss,而要随机出现怪物,就用到了srand函数,设置随机的种子,与rand()%100+1这样的比例式来设计怪物的随机;

第四天,是让我最痛苦的一天。因为今天让我整整找错误找了一天不止。这一天,主要的事情就是就是让我玩家可以自由移动。而我最大的失败是没有报错,但是我的玩家无法移动。当一次一次的找错误的情况下,失败感不断产生,但我可以做的只有静下心来不断分析。而最后导致无法移动的原因就是我设计的移动后的新地图那,roley,rolex与i,j(我设置的行与列)刚刚相反。可是不去找,怎么知道错误其实就在这里呢?

第五天,用二维数组绘制怪物,我的小怪是冷血的小蝎,大怪是巨态的狮子王,而boss则是看起来可爱无敌实则拥有无敌神奇力量的皮卡丘。

第六天,把怪物的代码加入主代码中,编制循环打出怪物的代码;

第七天,八天,便设计怪物的攻击,逃跑等功能。为了演示我的游戏的简单,我则采用了把怪物固定的方法,一打怪物就死了的效果,从而节约时间;

第九天,完成项目的ppt;

第十天进行答辩;

这一次的项目,除了基本,我在开头和每成功打死一个怪物之后就添加了神秘的提示的信件,作为提示与鼓励...这一灵感,来自密室逃脱的神秘感。

经过10天的项目实训,感受最大的就是除了心静下来,别无所求!

时间: 2024-12-13 09:14:42

C语言项目总结的相关文章

VS2012编写C语言项目

原文:VS2012编写C语言项目 这两天看了一下C语言方面的知识,大学的时候使用的Turbo C对于我来说已经是很久之前的事情了,编写C语言的还有VC++,不过这货在64的表现实现是很让人失望,还是用最熟悉的VS吧,之前没有用VS搞过C语言,今天倒腾了一下,重点分享一下自己的过程吧. 1.首先你需要有个VS,打开之后页面如下,新建项目; 2.新建项目并新建解决方案 3.项目确定之后出现的Win32应用程序的页面 4.两个红色框框,控制台应用程序是默认就有的,附加选项中的空项目需要自己勾选一下:

《深入体验C语言项目开发》

很久之前就想学习C语言,最近在看<深入体验C语言项目开发>,想自己动手做做,无他想法

Go语言项目介绍

Go项目是在Google公司维护超级复杂的几个软件系统遇到的一些问题的反思(但是这类问题绝不是Google公司所特有的).    正如Rob Pike所说,"软件的复杂性是乘法级相关的",通过增加一个部分的复杂性来修复问题通常将慢慢地增加其他部分的复杂性.通过增加功能.选项和配置是修复问题的最快的途径,但是这很容易让人忘记简洁的内涵,即从长远来看,简洁依然是好软件的关键因素.简洁的设计需要在工作开始的时候舍弃不必要的想法,并且在软件的生命周期内严格区别好的改变和坏的改变.通过足够的努力

Go语言项目中使用zap日志库(翻译)

本文先介绍了Go语言原生的日志库的使用,然后详细介绍了非常流行的Uber开源的zap日志库,同时介绍了如何搭配Lumberjack实现日志的切割和归档. 在Go语言项目中使用Uber-go的Zap Logger 介绍 在许多Go语言项目中,我们需要一个好的日志记录器能够提供下面这些功能: 能够将事件记录到文件中,而不是应用程序控制台. 日志切割-能够根据文件大小.时间或间隔等来切割日志文件. 支持不同的日志级别.例如INFO,DEBUG,ERROR等. 能够打印基本信息,如调用文件/函数名和行号

传统Java Web(非Spring Boot)、非Java语言项目接入Spring Cloud方案

技术架构在向spring Cloud转型时,一定会有一些年代较久远的项目,代码已变成天书,这时就希望能在不大规模重构的前提下将这些传统应用接入到Spring Cloud架构体系中作为一个服务以供其它项目调用.我们需要使用原生的Eureka/Ribbon手动完成注册中心.查询服务列表功能.如果是非Java项目,可以使用 Spring Sidecar 项目接入Spring Cloud形成异构系统. JDK版本的选择 强烈建议使用JDK8, 因为Eureka Client的最新版本已经要求JDK8起了

c语言项目—注释转换(c——c++)

题目要求: 要将全部的c语言风格的注释转换为c++风格的注释,如下图所示,需要将input.c文件经过注释转换程序转换为output.c文件所示. 这是测试结果: 首先我们来分析一下这个题目,在做这个项目时,我们需要引进有限状态机这个概念.那我们先来了解一下什么是有限状态机. 有限状态机FSM是软件上一种常用的处理方法,他把复杂的控制逻辑分成有限个稳定状态,在每个状态上进行处理. 我们来画一下状态图: 所以我们把这个项目分成这几个状态. NUL_STATE, C_STATE,  CPP_STAT

C语言项目2:图书管理系统

项目名称:图书管理系统 项目作者:宁哥 开发工具:Visual Studio 2017 编程语言:C语言 意义:链表.文件存储.数据加解密.多文件开发综合应用 功能描述: 1:增.删.改.查 2:数据加解密 3:文件数据库,带记忆功能 4:初始化 5:搜索 检查时间:2017年8月6日 结构体原型: struct _book { char bid[10];//编号 char name[30];//书名 int page;//页数 int price;//价格 struct _book *next

第一个C语言项目开发------俄罗斯方块的设计与实现

这是上大学敲得第一个完整的项目,使用的开发工具是codeblock,是用纯C语言编写的.效果如下 现在把完整的整合出来 主体部分代码 #include "Tetris.h" void gotoxyWithFullWidth(short x,short y){ static COORD pos; pos.X=x*2; pos.Y=y; SetConsoleCursorPosition(Output,pos);} //显示提示信息void printPrompting(){ SetCons

c语言项目流程开发三部曲

一.这一部曲是紧接第二部没有介绍完的内容,主要是函数接口实体的实现,代码比较多,如果没有看前两部曲的先去看看,再来看这里,不然不好理解,话不说多上代码, 1 #define _CRT_SECURE_NO_WARNINGS 2 #include "dict.h" 3 4 5 6 7 8 /**************函数实现************************/ 9 /*统计文件中单词数量,返回单词数量*/ 10 int statWordCount(char *filaena