mooc游戏设计基础(自学)3

mooc自学网址:
https://www.icourse163.org/learn/CUC-1450328379?tid=1450742649#/learn/content?type=detail&id=1216695336&sm=1

第三章

第三个小游戏是“小型计算器”,即根据用户输入进行简单的四则运算。

(1)还是先创建一个新的桌面应用程序项目,命名为“Expression”。
(2)定义需要用到的全局变量,包括两个数字、字符计数器、操作符、临时存储区、计算结果、是否有结果判断、显示输出的字符串。

float x=0,y=0;
int num=0;       //数组下标
char oper;
char input[64];
float result;
int bResult=0;
WCHAR str[64];

(3)添加交互。

case WM_CHAR:
    InvalidateRect(hWnd,NULL,TRUE);                  //刷新页面
    if(wParam==VK_RETRUN)                            //如果接收到的是回车键,则进行重置操作
    {
        num=0;                                       //数组下标归0
        bResult=0;                                   //结果判断变0
        memset(input,'/0',64*sizeof(char));          //清空字符串组
     }
     else if(bResult)                                //若结果不存在,则跳出
         break;
     if(wParam=='.'||(wParam>='0'&&wParam<='9'))     //接收到的是小数点或数字则加入到数组中
     {
         input[num++]=wParam;
     }
     else if(wParam=='+'||wParam=='-'||wParam=='*'||wParam=='\')   //接收到的是算数符,则空开加入数组
     {
        input[num++]=' ';
        input[num++]=wParam;
        input[num++]=' ';
     }
     else if(wParam =='=')                         //接收到的是等于号,则显示并输出数组
     {
         input[num++]=' ';
         sscanf_s(input,"%f %c %f",&x,&oper,1&y);   //依次输出数字、运算符(中间的字符格式要加个1表示字符个数,不加会出错)
         if(oper=='+')                            //根据不同运算符,输出不同的结果给result
             result=x+y;
         else if(oper=='-')
             result=x-y;
         else if(oper=='*')
             result=x*y;
         else if(oper=='\')
             result=x/y;
         input[num++]='=';
         bResult=1;                            //表示结果存在
     }
     break;

(4)绘图代码:

TextOut(hdc,0,0,L"请输入计算式”,6;
MultiByteToWideChar(CP_THREAD_ACP,MB_USEGLYPHCHARS,input,64,str,64);   //将一个字符串映射到一个宽字符串上(输出和输入一样)
TextOut(hdc,0,20,str,wcslen(str));         //输出字符串组
if(bResult)                                //如果结果存在,新定义一个字符串组进行输出
{
    WCHAR str2[16];
    swprintf(str2,16,L"%f",result);
    TextOut(hdc,0,40,str2,wcslen(str2));
}
EndPaint(hWnd,&ps);
}
break;

在这里插入图片描述
(5)课后拓展:
在这里插入图片描述

`

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
系统运行环境: 1.硬件配置 CPU: Pentium III 600以上; 内存:128M以上。 2.软件环境 Windows 98以上操作系统; MS SQL Server 2000; Viual Studio.Net 2003; MS Access 2000及以上。 系统配置环境: 1.运行Viual Studio.Net。 2.依次单击【文件】|【新建】|【空白解决方案】,打开新建项目对话框, 在【项目类型】中选择【Visual Studio解决方案】,填写合适的名称和位置, 单击确定按钮,建立一个空白解决方案。 3.在【解决方案资源管理器】中,右击建立的解决方案,单击【添加】 |【新建项目】,打开添加新项目对话框,在左侧的【项目类型】中选择 【Visual C#项目】,在右侧的【模板】中选择【Windows应用程序】,填写合 适的名称,单击确定按钮,就建立了一个新的项目。 数据库配置环境: 本书中数据库分为两种:SQL Server 和 MS Access。 1.Access数据库操作方便,配置简单,只需要把数据库文件放置到bin 目录下的Debug文件夹下即可。 2.SQL Server数据库配置相对复杂一点,打开SQL Server企业管理器,单 击控制台前面的加号按钮,直到出现数据库,然后在数据库上单击鼠标右键, 从弹出式菜单选择【所有任务】|【附加数据库】,然后单击【...】按钮, 选择本章源代码中的DataBase文件夹下的RentManage.mdf文件,其他采用默认 设置,然后单击【确定】按钮。 3.以Access数据库的连接为例。首先在VS.net的工具箱的【数据】项中选择 OleDbConnection,选择所建立的数据库连接oleDbConnection1,在他的属性中 选择ConnectionString的新建连接,在数据库链接属性对话框的【提供程序】 选择项中选择【Microsoft OLE DB Provider for ODBC Drivers】,然后单击 【下一步】,在【连接】选择项中的【选择或输入服务器名称】下拉框中选择 【MS Access Database】,在【输入要使用的初始目录中】填写你所创建的数 据库所在的目录。最后单击【确定】按钮。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值