设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 3806|回复: 21

[有事请教] 做了个小游戏

[复制链接]

Lv4.逐梦者

梦石
8
星屑
2832
在线时间
474 小时
注册时间
2010-9-11
帖子
519
发表于 2019-2-27 00:36:43 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 phunmung5173 于 2019-2-28 07:14 编辑

C语言初学者 学以致用 硬是用C直接写了个动作游戏
不懂该发哪里只好发水区

完成度大概有一半吧?主要是增加敌人种类和有待调整的平衡度问题

游戏是英文的 不过只有那几个单词~ 欢迎体验然后给意见 链接 https://bit.ly/2tDEV3G

img_59647d183ab24.png

方向键移动 Z键攻击 X键防御

然后是想问问看这里的大佬们
把这个发给身边的朋友打开的时候偶尔会弹出以下错误


img_59647d183ab24.png

解决方法是安装官方运行库

2.png
我姑且把上面两个文档都放进游戏文件夹里了 但是我总不能逐个告诉玩家去安装这个吧?

想说有什么解决方法... 我对这块没什么概念

Lv3.寻梦者

梦石
0
星屑
4873
在线时间
1433 小时
注册时间
2017-3-23
帖子
493

开拓者

发表于 2019-2-27 05:24:32 | 显示全部楼层
本帖最后由 塞路休斯 于 2019-2-27 05:26 编辑

简单的解决办法,把运行库的名字改成“如果打不开先安装这个”,打到同一个压缩包里面。
复杂的解决办法,先判断系统是否含有运行库,如果没有弹个窗口告知,并帮用户用默认浏览器打开运行库下载页面。如果检测运行库存在,则继续调用你的游戏程序。

很久不用windows了,以下代码网上找来,我也没法帮你测试,但目测问题不大,稍作修改即可。

[pre lang="c++" line="1" file="1"]#include "stdafx.h"
#include <string>
#include <Windows.h>
using std::string;

LPCTSTR reg[18] = { _T("{A49F249F-0C91-497F-86DF-B2585E8E76B7}"),//Microsoft Visual C++ 2005 Redistributable X86
_T("{7299052B-02A4-4627-81F2-1818DA5D550D}"),//Microsoft Visual C++ 2005 SP1 Redistributable X86
_T("{837b34e3-7c30-493c-8f6a-2b0f04e2912c}"),//Microsoft Visual C++ 2005 SP1 Redistributable ATL Security Update X86
_T("{6E8E85E8-CE4B-4FF5-91F7-04999C9FAE6A}"),//Microsoft Visual C++ 2005 Redistributable X64
_T("{071C9B48-7C32-4621-A0AC-3F809523288F}"),//Microsoft Visual C++ 2005 SP1 Redistributable X64
_T("{6CE5BAE9-D3CA-4B99-891A-1DC6C118A5FC}"),//Microsoft Visual C++ 2005 SP1 Redistributable ATL Security Update X64
_T("{03ED71EA-F531-4927-AABD-1C31BCE8E187}"),//Microsoft Visual C++ 2005 Redistributable IA64
_T("{0F8FB34E-675E-42ED-850B-29D98C2ECE08}"),//Microsoft Visual C++ 2005 SP1 Redistributable IA64
_T("{85025851-A784-46D8-950D-05CB3CA43A13}"),//Microsoft Visual C++ 2005 SP1 Redistributable ATL Security Update IA64
_T("{FF66E9F6-83E7-3A3E-AF14-8DE9A809A6A4}"),//Microsoft Visual C++ 2008 Redistributable X86
_T("{9A25302D-30C0-39D9-BD6F-21E6EC160475}"),//Microsoft Visual C++ 2008 SP1 Redistributable X86
_T("{1F1C2DFC-2D24-3E06-BCB8-725134ADF989}"),//Microsoft Visual C++ 2008 SP1 Redistributable ATL Security Update X86
_T("{350AA351-21FA-3270-8B7A-835434E766AD}"),//Microsoft Visual C++ 2008 Redistributable X64
_T("{8220EEFE-38CD-377E-8595-13398D740ACE}"),//Microsoft Visual C++ 2008 SP1 Redistributable X64
_T("{4B6C7001-C7D6-3710-913E-5BC23FCE91E6}"),//Microsoft Visual C++ 2008 SP1 Redistributable ATL Security Update X64
_T("{2B547B43-DB50-3139-9EBE-37D419E0F5FA}"),//Microsoft Visual C++ 2008 Redistributable IA64
_T("{5827ECE1-AEB0-328E-B813-6FC68622C1F9}"),//Microsoft Visual C++ 2008 SP1 Redistributable IA64
_T("{977AD349-C2A8-39DD-9273-285C08987C7B}"),//Microsoft Visual C++ 2008 SP1 Redistributable ATL Security Update IA64
};

/*
功能:检测lpszSubKey是否存在
*/
bool detectVCppRedistributable(LPCTSTR lpszSubKey){
    //printf("%ls\n", lpszSubKey);
    HKEY hKey;
    int ret = RegOpenKeyEx(HKEY_LOCAL_MACHINE, lpszSubKey, 0, KEY_READ, &hKey);
    RegCloseKey(hKey);
    return (ret == 0) ? true : false;
}

int _tmain(int argc, _TCHAR* argv[]){
    //拼接key并调用函数detectVCppRedistributable检测注册表
    for (int i = 0; i < 18; ++i){
        wchar_t key[100] = _T("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\");
        wcscat_s(key, 100, reg);
        if (detectVCppRedistributable(key)){
            printf("yes\n");
            break;
        }
    }

    return 0;
}[/pre]
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
8
星屑
2832
在线时间
474 小时
注册时间
2010-9-11
帖子
519
 楼主| 发表于 2019-2-27 07:51:58 | 显示全部楼层
塞路休斯 发表于 2019-2-27 05:24
简单的解决办法,把运行库的名字改成“如果打不开先安装这个”,打到同一个压缩包里面。
复杂的解决办法, ...

呜哇 谢谢你 晚上试试看

第一个方法已经用了 不过觉得这样不好
而且大部分玩家看到这个错误都不知所云

点评

謝謝你 我研究看看  发表于 2019-2-28 07:08
关于杀软部分我不是很确定,你可以先试试,很久没接触杀软了。  发表于 2019-2-28 03:46
如果没有对单exe的执念的话也可以把运行库改扩展名,伪装成别的文件,然后用自己写的程序把他以exe方式运行就可以了,杀软不会注意这个举动。  发表于 2019-2-28 03:45
嗯,相关技术并不复杂,百度一下代码多得是。只是这样释放一个程序出来很容易被杀软误报。  发表于 2019-2-28 03:44
就是这个! 原来有方法啊!  发表于 2019-2-27 18:41
Paku
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
5368
在线时间
1558 小时
注册时间
2006-9-30
帖子
2034

开拓者

发表于 2019-2-27 08:52:22 | 显示全部楼层
光是Stamina我就不认识,还有蓝底黑字好难看清
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
39352
在线时间
7470 小时
注册时间
2009-7-6
帖子
13482

开拓者贵宾

发表于 2019-2-27 10:05:58 | 显示全部楼层
初学做成这样相当厉害了,毕竟做游戏和做程序不是一码事
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
8
星屑
2832
在线时间
474 小时
注册时间
2010-9-11
帖子
519
 楼主| 发表于 2019-2-28 05:15:09 | 显示全部楼层
谢拉卡姗娜 发表于 2019-2-27 08:52
光是Stamina我就不认识,还有蓝底黑字好难看清


img_59647d183ab24.png

改了浅一点的  另外Stamina是体力
Paku
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
8
星屑
2832
在线时间
474 小时
注册时间
2010-9-11
帖子
519
 楼主| 发表于 2019-2-28 05:19:17 | 显示全部楼层
fux2 发表于 2019-2-27 10:05
初学做成这样相当厉害了,毕竟做游戏和做程序不是一码事

谢谢!

做游戏和做程序不是一码事怎么说

点评

抱歉 连贴了qwq  发表于 2019-2-28 05:19
Paku
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2739
在线时间
2629 小时
注册时间
2013-1-16
帖子
5657

贵宾

发表于 2019-2-28 12:29:21 | 显示全部楼层
可以看一下c/c++的网络通信,然后一个二人对战游戏就出来了→_→
(Created by @喵kano)


施工现场:hotege.github.io
回复 支持 反对

使用道具 举报

Lv4.逐梦者

世界坑化协会

梦石
0
星屑
7528
在线时间
1546 小时
注册时间
2007-3-13
帖子
5534

极短23参与极短21参与开拓者贵宾第一届化妆舞会最佳服饰奖

发表于 2019-2-28 14:47:33 | 显示全部楼层
C很好很强大,适合从底层开始开发属于自己的架构,对于LZ这种刻苦耐劳的品质表示敬佩。
你的肩膀上有肩周炎~♪  秒懂  ☚   \没有
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1820
在线时间
360 小时
注册时间
2012-12-10
帖子
427
发表于 2019-2-28 15:33:09 | 显示全部楼层
好。。好厉害
感觉我们学c就是为了学c++(?)
『我对你矢志不渝。』
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-3-29 02:55

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表