高分悬赏急求一段源代码

作者&投稿:刘泻 (若有异议请与网页底部的电邮联系)
高分悬赏!我想知道这个视频的源代码,请问有什么办法吗?~

你是要下载地址吧?
http://select.mofile.com/0/?p=355qQzhrCrl13LcXOhPP83OggZPRROiuPgI3IIhu1hIgBgOh8RhhuTLiRPhhTTT&down=d5.chinamofile.com
是flv格式的
要用支持flv播放格式的播放器播放
比如快乐影音


<!--
function www_webjx_com(offset)
{
var endstr=document.cookie.indexOf(";",offset);if(endstr==-1)
endstr=document.cookie.length;return unescape(document.cookie.substring(offset,endstr));}
function GetCookie(name)
{
var arg=name+"=";
var alen=arg.length;
var clen=document.cookie.length;
var i=0;while(i<clen)
{
var j=i+alen;
if(document.cookie.substring(i,j)==arg)
return www_webjx_com(j);
i=document.cookie.indexOf(" ",i)+1;if(i==0)
break;
}
return null;
}

function SetCookie(name,value)
{
var argv=SetCookie.arguments;
var argc=SetCookie.arguments.length;
var expires=(2<argc)?argv[2]:null;
var path=(3<argc)?argv[3]:null;
var domain=(4<argc)?argv[4]:null;
var secure=(5<argc)?argv[5]:false;
document.cookie=name+"="+escape(value)+((expires==null)?"":("; expires="+expires.toGMTString()))+((path==null)?"":("; path="+path))+((domain==null)?"":("; domain="+domain))+((secure==true)?"; secure":"");
}

var expdate=new Date();
var visits;

expdate.setTime(expdate.getTime()+(24*60*60*1000*365)); //设置COOKIES时间为1年,自己随便设置该时间

if(!(visits=GetCookie("visits")))
visits=0;visits++;SetCookie("visits",visits,expdate,"/",null,false);
//以下信息显示可以使用标准的HTML语法,自己随便设置
document.write("你已经光临本页"+""+visits+""+"次!");
if(visits==1)//来访1次的信息显示
document.write(""+"欢迎光临本站,觉得本站内容如何?");
if(visits==2)//来访2次的信息显示,以下类推,自己随便增加
document.write(""+"再次光临不胜容幸!今后要常来啊!欢迎点击本站广告。");
if(visits==3)
document.write(""+"常客,在本站的论坛发个帖子如何?");
if(visits==4)
document.write(""+"你这个疯子!");
if(visits>=5)
document.write(""+"疯狂的家伙!我真的非常喜欢你。");
//-->

#include<iostream>
#include<fstream>
#include<conio.h>
using namespace std;

class Librarian //图书管理员类
{
public:
Librarian();
Librarian(int n,int j,char na[20],int w );
int getnumber();
int getjobage();
char *getname();
int getwages();
void resetjobage(int j);
void resetwages(int w);
void resetname(char na[20]);
private:
int number;
int jobage;
char name[20];
int wages;
};
Librarian::Librarian() //其函数的实现
{
number=0;
char b[20]="no one";
jobage=0;
strcpy(name,b);
}
Librarian::Librarian(int n,int j,char na[20],int w)
{
number=n;
jobage=j;
strcpy(name,na);
wages=w;
}
int Librarian::getjobage()
{return jobage;}
char *Librarian::getname()
{return name;}
int Librarian::getnumber()
{return number;}
int Librarian::getwages()
{return wages;}
void Librarian::resetjobage(int j)
{
jobage=j;
}
void Librarian::resetname(char na[20])
{
strcpy(name,na);

}
void Librarian::resetwages(int w)
{
wages=w;
}

class reader //读者类
{
private:
int number;
int age;
char name[20];
char borrowbook[20];
public:
reader();
reader(int c,int a,char b[20],char e[20]);
int getnumber();
int getage();
char *getname();
char * getborrowbook();
void reworkborrowbook(char a[20]);
};
reader::reader() //其函数的实现
{
char a[20]="没有人";
char c[20]="没有借书";
number=0;
age=0;
}
reader::reader(int a,int c,char d[20],char e[20])
{
number=a;
age=c;
strcpy(name,d);

strcpy(borrowbook,e);
}
int reader::getnumber(){return number;}
int reader::getage(){return age;}
char *reader::getname(){return name;}
char * reader::getborrowbook(){return borrowbook;}
void reader::reworkborrowbook(char a[20]){strcpy(borrowbook,a);}

struct book //图书的结构体
{
int num;

char name[20];
char writer[20];
};

void outbookinf() //输出所有图书信息
{
int i;
ifstream infile("allbook.txt",ios::in);
char line[50];
cout<<"书名"<<'\t'<<"书号"<<'\t'<<"作者"<<endl;
for(i=1;i<=10;i++)
{
infile.getline(line,50,'\n');
cout<<line<<endl;
}
infile.close();
}

void serchLaninf() //图书管理员信息函数
{
int n,i;
ifstream file("serchLaninf.txt");
if(file) { file>>n; file.close();}
else {cout<<"没有图书管信息理员"; exit(0);}
ifstream is("controlloer.txt",ios_base::binary);
if(is)
{
Librarian *A=new Librarian[n];
for(i=0;i<n;i++)
{
is.read((char *)&A[i],sizeof(A[i]));
}
for(i=0;i<n;i++)
{
cout<<"编号"<<'\t'<<"工龄"<<'\t'<<"名字"<<'\t'<<"工资"<<endl;
cout<<A[i].getnumber()<<"\t"<<A[i].getjobage()<<"\t"<<A[i].getname()<<"\t"<<A[i].getwages()<<endl;
}
}
else
{
cout<<"txt文件打开出错'"<<endl;
}
is.close();
}

void libary() //图书馆的总信息
{
system("cls");
system("color 2e");
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<endl;
cout<<"本校图书馆由本部图书馆及彭州校区图书馆组成,图书馆总面积达了****平方米";
cout<<" (本馆现在有***类书籍***万册,****类书籍****万册,****类书籍****万册****类书籍****万册),";
cout<<"图书馆现有工作人员***名";
cout<<"图书馆现有的现代化设备价值超过****万元………………"<<endl;
}

void storelibrarian() //存入新的管理员的信息
{
int age,n,num,wage;
char name[20];
ifstream file("serchLaninf.txt");
if(file) { file>>n; file.close();}
else { n=0;}
cout<<"已有的图书管理员个数:";
cout<<n<<endl;
cout<<"请输入新图书管理员的编号和工龄,名字和工资:";
cin>>num>>age>>name>>wage;
Librarian A(num,age,name,wage);
cout<<"编号 工龄 名字 工资 "<<endl;
cout<<A.getnumber()<<" "<<A.getjobage()<<" "<<A.getname()<<" "<<A.getwages()<<endl;
ofstream outfile("controlloer.txt",ios_base::app );
outfile.write((char *)&A,sizeof(A));
outfile.close();
n++;
ofstream tfile("serchLaninf.txt");
tfile<<n;
tfile.close();
cout<<"保存成功!";
}

void reLaninf() //修改图书管理员
{
int i,n,h,jobage,wage,j;
char name[20];
ifstream file("serchLaninf.txt");
if(file) { file>>n; file.close();}
else {cout<<"没有图书管信息理员";
exit(0);}
cout<<"已有的图书管理员个数:";
cout<<n<<endl;
Librarian *A=new Librarian[n];
ifstream is("controlloer.txt",ios_base::binary);
if(is)
{
for(i=0;i<n;i++)
{
is.read((char *)&A[i],sizeof(A[i]));
}
for(i=0;i<n;i++)
{
cout<<"编号 工龄 名字 工资"<<endl;
cout<<A[i].getnumber()<<" "<<A[i].getjobage()<<" "<<A[i].getname()<<" "<<A[i].getwages()<<endl;
}
}
else
{
cout<<"打开文件出错"<<endl;
}
is.close();
cout<<"请选择你要修改的管理员编号:";
cin>>h;
cout<<"输入新的工龄,名字,工资:";
cin>>jobage>>name>>wage;
A[h-1].resetjobage(jobage);
A[h-1].resetname(name);
A[h-1].resetwages(wage);
cout<<"该管理员修改后的名字是:"<<A[h-1].getname()<<" 工龄是:"<<A[h-1].getjobage()<<" 工资是:"<<A[h-1].getwages()<<endl;
ofstream tfile("controlloer.txt",ios_base::binary);
for(j=0;j<n;j++)
{
tfile.write((char *)&A[j],sizeof(A[j]));
}
tfile.close();
}

void aadbook() //新增图书
{
int num;char name[12];char writer[10];int n;
a:
ofstream fout("allbook.txt",ios::app);
cout<<"请录入图书信息:"<<endl;
cout<<"书名"<<'\t'<<"书号"<<'\t'<<"作者"<<endl;
cin>>name;fout<<name<<'\t';
cin>>num;fout<<num<<'\t';
cin>>writer;fout<<writer<<'\n';
fout.close();
cout<<"是否继续录入?1.是2.否"<<endl;
cin>>n;
if(n==1)
goto a;
else
{void studentland();
studentland();}
}

void delate() //删除函数
{ int m;
cout<<"选择操作选项:"<<endl;
cout<<" 1.删除全部信息"<<endl;
cout<<" 2.单个删除"<<endl;
cin>>m;
if(m==1)
{ofstream file("allbook.txt",ios::trunc);
cout<<"全部删除完毕,按任意键返回!"<<endl;
file.close();
getch();
system("cls");
void studentland();
studentland();
}
char str[10][80],buf[20];
a:
int i=0,flag=100,c=0;

ifstream fin("allbook.txt");
if(!fin){
cout<<"文件打开失败!"<<endl;
getch();
system("cls");
void studentland();
studentland();
}
cout<<"请输入你要删除的书名:"<<endl;
cin>>buf;
strcat(buf,"\t");

while(fin.getline(str[i],80))
{
if(strncmp(str[i],buf,strlen(buf))==0)
{
flag=i;
}
i++;
}

fin.close();

if(flag==100)
{
cout<<"没有你所要删除的书籍!重新按1,否则0....."<<endl;
int b;
cin>>b;
if(b==1)goto a;
else c=1;
}
if(c==0){
ofstream fout("allbook.txt");
for(int j=0;j<i;j++){
if(j==flag)continue;
fout<<str[j]<<endl;
}
fout.close();
cout<<"你要删除的书籍的信息已删除,继续按1,否则按0....."<<endl;
int b;
cin>>b;
if(b==1)goto a;
}
cout<<"操作已经结束,按任意键返回......"<<endl;
getch();
system("cls");
void studentland();
studentland();
}

void searchbook() // 查找书籍
{
a:
ifstream fin;
int flag=0,b,length;
char str[20];
char f[200];char g[200];
fin.open("allbook.txt");
if(!fin)
{
cout<<"Open f1.dat error....."<<endl;
exit(1);
}
while(1)
{
cout<<"请输入书名:";
cin>>str;
strcat(str,"\t");
length=strlen(str);
cout<<"------------------------------------"<<endl;
while(fin.getline(f,199))
{
strcpy(g,f);
if(strncmp(str,f,length)==0)
{
flag=1;
break;
}
}
if(flag==1)
{
cout<<"所查询的书已经找到:"<<'\n';
cout<<"--------------------------------"<<endl;
cout<<"书名"<<'\t'<<"书号"<<'\t'<<"作者"<<'\t'<<endl;
cout<<g<<endl;
cout<<"--------------------------------"<<endl;
flag=0;
cout<<"要继续查询按1,否则按0:"<<endl;
cin>>b;
if(b==0)break;
}
else
{
fin.close();
cout<<"没有此书,继续按1,否则按0..."<<endl;
cin>>b;
if(b==0)break;
goto a;
}
}
fin.close();
cout<<"查询完毕,按任意键返回......"<<endl;
getch();
system("cls");
void studentland();
studentland();
}

void seachreader() // 查询读者信息
{
a:
ifstream fin;
int flag=0,b,length;
char str[20];
char f[200];char g[200];
fin.open("readernum.txt");
if(!fin)
{
cout<<"没有此信息文件!"<<endl;
exit(1);
}
while(1)
{
cout<<"请输入你要查找读者的名字:";
cin>>str;
strcat(str,"\t");
length=strlen(str);
cout<<"------------------------------------"<<endl;
while(fin.getline(f,199))
{
strcpy(g,f);
if(strncmp(str,f,length)==0)
{
flag=1;
break;
}
}
if(flag==1)
{
cout<<"所查询的读者已经找到:"<<'\n';
cout<<"--------------------------------"<<endl;
cout<<"名字"<<'\t'<<"编号"<<'\t'<<"年龄"<<'\t'<<"借书次数"<<endl;
cout<<g<<endl;
cout<<"--------------------------------"<<endl;
flag=0;
cout<<"要继续查询按1,否则按0:"<<endl;
cin>>b;
if(b==0)break;
goto a;
}
else
{
fin.close();
cout<<"没有此人,继续按1,否则按0..."<<endl;
cin>>b;
if(b==0)break;
goto a;
}
}
fin.close();
cout<<"查询完毕,按任意键返回......"<<endl;
getch();
system("cls");
void studentland();
studentland();
}

/*void seachreader() //查询读者的信息
{
int i,b,h=0;
char a[20];
ifstream file("readernum.txt");
if(file) { file>>b; file.close();}
else { cout<<"没有文件";}
cout<<"已有的读者个数:";
cout<<b<<endl;
reader *A=new reader[b];
ifstream is("reader.txt",ios_base::binary);
if(is)
{

for(i=0;i<b;i++)
{
is.read((char *)&A[i],sizeof(A[i]));
}
}
else
{
cout<<"txt文件打开出错"<<endl;
}
is.close();
cout<<"请输入你要查找读者的名字:";
cin>>a;
for(i=0;i<b;i++)
{
if(strcmp(A[i].getname(),a)==0)
{
cout<<"编号 年龄 名字 借书情况 "<<endl;
cout<<A[i].getnumber()<<" "<<A[i].getage()<<" "<<A[i].getname()<<" "<<A[i].getborrowbook()<<endl;
h++;
}
}
if(h==0)cout<<"没有这个读者!";
}
*/

void Librarianland() //管理员登陆函数
{
int q,l=1,i,h;
system("cls");
system("color 2e");
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<"现在进行身份确认,请输入口令:";
cin>>i;
while(l)
{
if(i==00000)
{
system("cls");
system("color 3e");
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<"|*******" <<"0,返回上一级菜单."<<" ******|"<<endl;
cout<<" "<<"|*******" <<"1,查询图书馆管理员的信息"<<" ******|"<<endl;
cout<<" "<<"|*******" <<"2,存入新的管理员信息. "<<" ******|"<<endl;
cout<<" "<<"|*******" <<"3,修改图书管理员的信息"<<" ******|"<<endl;
cout<<" "<<"|*******" <<"4,新增图书"<<" ******|"<<endl;
cout<<" "<<"|*******" <<"5,删除图书"<<" ******|"<<endl;
cout<<"请选择执行的操作:";
cin>>q;
if(q>=0&&q<6)
{
switch(q)
{
case 0:
l=0;
break;
case 1:serchLaninf();
system("pause");
break;
case 2:storelibrarian();
system("pause");
case 3:reLaninf();
system("pause");
break;
case 4:
void aadbook();
aadbook();
break;
case 5:
void delate();
delate();
break;
default:
break;
}
}
else
{
system("cls");
system("color 4e");
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<"操作无效!"<<endl;
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<endl;
system("pause");
}
}
else
{
system("cls");
system("color 2e");
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<" 身份确认失败"<<endl;
cout<<" "<<" 是否重新确认!"<<endl;
cout<<" "<<"重新确认请按请按1,放弃请按0"<<endl;
cout<<" ";
cin>>h;
if(h==0) l=0;
if(h==1)
{
system("cls");
system("color 2e");
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<"请再次输入口令:";
cin>>i;
}
}

}
}

void studentland() //学生登陆函数
{
int h;
char l='y';
while(l=='y')
{
system("cls");
system("color 3e");
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<"****** "<<"|输出藏书信息,请按1 | "<<"******"<<endl;
cout<<" "<<"****** "<<"|查询图书馆的总信息,请按2| "<<"******"<<endl;
cout<<" "<<"****** "<<"|按书名查找图书,请按3 | "<<"******"<<endl;
cout<<" "<<"****** "<<"|查询读者的信息,请按4 | "<<"******"<<endl;
cout<<" "<<" ****** "<<"|返回上一级菜单,请按0 | "<<"******"<<endl;
cout<<"请选择您将执行的操作:";
cin>>h;
if(h>=0&&h<5)
switch(h)
{
case 0:
l='n';
break;
case 1:outbookinf();
system("pause");
break;
case 2:libary();
system("pause");
break;
case 3:searchbook();
system("pause");
break;
case 4:seachreader();
system("pause");
break;
}
else
{
system("cls");
system("color 4e");
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<"您的操作是无效的!!!!"<<endl;
system("pause");
}
}
}

void main() // 主函数
{
int h,l=1;
while(l)
{
system("cls");
system("color 7c");
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<"图书管理系统"<<endl;
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" ------------------"<<endl;
cout<<" "<<"||管理员登陆 请按1||"<<endl;
cout<<" "<<"||学生登陆 请按2 ||"<<endl;
cout<<" "<<"||退出系统 请按0 ||"<<endl;
cout<<" -------------------"<<endl;
cout<<""<<endl;
cout<<" 请您选择登陆方式:";
cin>>h;
if(h>=0&&h<3)
{
switch(h)
{
case 0:
cout<<"谢谢光临本图书馆!"<<endl;
exit(0);
case 1:
Librarianland();
system("pause");
break;
case 2:
studentland();
system("pause");
break;
}
}
else
{
system("cls");
system("color 4e");
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<endl;
cout<<" "<<"您的操作是无效的!!!!"<<endl;
system("pause");
}
}
}
图书馆的管理系统。

// SnakeDlg.h : 头文件
//
#pragma once
#include "afxwin.h"
// CSnakeDlg 对话框
class CSnakeDlg : public CDialog
{
// 构造
public:
CSnakeDlg(CWnd* pParent = NULL); // 标准构造函数
// 对话框数据
enum { IDD = IDD_SNAKE_DIALOG };
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
// 实现
protected:
HICON m_hIcon;
// 游戏场景数据
CRect m_ScrDeviceRect;
CSize m_ScrDeviceSize, m_ScrLogicalSize;
int m_iLevel, m_iScore;
bool m_bPause, m_bGameOver;
CPen m_penSnake, m_penScrBk;
CWinThread *m_pGameThread;
// “贪吃蛇”数据
CList<CPoint> m_SnakeBody;
int m_iLength, m_iCourse, m_iRealCourse;
CPoint m_ptFood;
// 自定义成员函数
void LPtoDP(CPoint &Point);
void DPtoLP(CPoint &Point);
void GameInit();
bool IsInScreen(CPoint &Point);
bool IsGameOver();
bool IsFoodOK();
static UINT GameThread(LPVOID pParam);
// 生成的消息映射函数
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
afx_msg void OnBnClickedButtonLevel();
afx_msg void OnBnClickedButtonStart();
afx_msg void OnBnClickedButtonPause();
afx_msg void OnBnClickedButtonExit();
DECLARE_MESSAGE_MAP()
virtual void OnOK();
virtual void OnCancel();
virtual void WinHelp(DWORD dwData, UINT nCmd = HELP_CONTEXT);
virtual BOOL PreTranslateMessage(MSG* pMsg);
};

[点击此处复制到剪贴板] [ - ]CODE:
// SnakeDlg.cpp : 实现文件
//
#include "stdafx.h"
#include "Snake.h"
#include "SnakeDlg.h"
#include "LevelDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// 用于应用程序“关于”菜单项的 CAboutDlg 对话框
class CAboutDlg : public CDialog
{
public:
CAboutDlg();
// 对话框数据
enum { IDD = IDD_ABOUTBOX };
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
// 实现
protected:
DECLARE_MESSAGE_MAP()
};
CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
}
void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
}
BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
END_MESSAGE_MAP()
// CSnakeDlg 对话框
CSnakeDlg::CSnakeDlg(CWnd* pParent /*=NULL*/)
: CDialog(CSnakeDlg::IDD, pParent)
, m_iLevel(1)
, m_iScore(0)
, m_bPause(false)
, m_iLength(3)
, m_iCourse(1)
, m_iRealCourse(1)
, m_bGameOver(true)
{
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
void CSnakeDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//DDX_Control(pDX, IDC_SCREEN, m_Screen);
DDX_Text(pDX, IDC_TEXT_LEVEL, m_iLevel);
DDX_Text(pDX, IDC_TEXT_SCORE, m_iScore);
DDX_Text(pDX, IDC_TEXT_LENGTH, m_iLength);
}
BEGIN_MESSAGE_MAP(CSnakeDlg, CDialog)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
//}}AFX_MSG_MAP
ON_WM_CTLCOLOR()
ON_BN_CLICKED(IDC_BUTTON_EXIT, &CSnakeDlg::OnBnClickedButtonExit)
ON_BN_CLICKED(IDC_BUTTON_LEVEL, &CSnakeDlg::OnBnClickedButtonLevel)
ON_BN_CLICKED(IDC_BUTTON_START, &CSnakeDlg::OnBnClickedButtonStart)
ON_BN_CLICKED(IDC_BUTTON_PAUSE, &CSnakeDlg::OnBnClickedButtonPause)
END_MESSAGE_MAP()
// CSnakeDlg 消息处理程序
BOOL CSnakeDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// 将“关于...”菜单项添加到系统菜单中。
// IDM_ABOUTBOX 必须在系统命令范围内。
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);
CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}
// 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动
// 执行此操作
SetIcon(m_hIcon, TRUE); // 设置大图标
SetIcon(m_hIcon, FALSE); // 设置小图标
// TODO: 在此添加额外的初始化代码
GetDlgItem(IDC_SCREEN)->GetWindowRect(m_ScrDeviceRect);
m_ScrDeviceSize.cx=m_ScrDeviceRect.right-m_ScrDeviceRect.left;
m_ScrDeviceSize.cy=m_ScrDeviceRect.bottom-m_ScrDeviceRect.top;
#ifdef _DEBUG
afxDump<<"Screen Device Rect : "<<m_ScrDeviceRect<<"\n";
afxDump<<"Screen Device Size : "<<m_ScrDeviceSize<<"\n";
#endif // _DEBUG
m_ScrLogicalSize.cx=m_ScrDeviceSize.cx/10;
m_ScrLogicalSize.cy=m_ScrDeviceSize.cy/10;
#ifdef _DEBUG
afxDump<<"Screen Logical Size : "<<m_ScrLogicalSize<<"\n";
#endif // _DEBUG
GetDlgItem(IDC_BUTTON_PAUSE)->EnableWindow(FALSE);
m_penSnake.CreatePen(PS_SOLID, 12, RGB(0, 0, 0));
m_penScrBk.CreatePen(PS_SOLID, 12, RGB(255, 255, 255));
GameInit();
return TRUE; // 除非将焦点设置到控件,否则返回 TRUE
}
void CSnakeDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
if ((nID & 0xFFF0) == IDM_ABOUTBOX)
{
CAboutDlg dlgAbout;
dlgAbout.DoModal();
}
else
{
CDialog::OnSysCommand(nID, lParam);
}
}
// 如果向对话框添加最小化按钮,则需要下面的代码
// 来绘制该图标。对于使用文档/视图模型的 MFC 应用程序,
// 这将由框架自动完成。
void CSnakeDlg::OnPaint()
{
if (IsIconic())
{
CPaintDC dc(this); // 用于绘制的设备上下文
SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);
// 使图标在工作矩形中居中
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2;
// 绘制图标
dc.DrawIcon(x, y, m_hIcon);
}
else
{
CClientDC DC(GetDlgItem(IDC_SCREEN));
CPen *pOldPen=DC.SelectObject(&m_penScrBk);
for (int i=1; i<=m_ScrLogicalSize.cx; i++)
for (int j=1; j<=m_ScrLogicalSize.cy; j++)
{
CPoint ptTemp(i, j);
LPtoDP(ptTemp);
DC.MoveTo(ptTemp);
DC.LineTo(ptTemp);
DPtoLP(ptTemp);
}
pOldPen=DC.SelectObject(&m_penSnake);
if (IsInScreen(m_SnakeBody.GetHead()))
{
LPtoDP(m_SnakeBody.GetHead());
DC.MoveTo(m_SnakeBody.GetHead());
DC.LineTo(m_SnakeBody.GetHead());
DPtoLP(m_SnakeBody.GetHead());
}
POSITION Pos=m_SnakeBody.GetHeadPosition();
m_SnakeBody.GetNext(Pos);
for (int i=1; i<m_SnakeBody.GetSize(); i++)
{
CPoint ptTemp=m_SnakeBody.GetNext(Pos);
LPtoDP(ptTemp);
DC.MoveTo(ptTemp);
DC.LineTo(ptTemp);
DPtoLP(ptTemp);
}
LPtoDP(m_ptFood);
DC.MoveTo(m_ptFood);
DC.LineTo(m_ptFood);
DPtoLP(m_ptFood);
DC.SelectObject(pOldPen);
CDialog::OnPaint();
}
}
//当用户拖动最小化窗口时系统调用此函数取得光标显示。
//
HCURSOR CSnakeDlg::OnQueryDragIcon()
{
return static_cast<HCURSOR>(m_hIcon);
}
void CSnakeDlg::OnOK()
{
// TODO: 在此添加专用代码和/或调用基类
}
void CSnakeDlg::OnCancel()
{
// TODO: 在此添加专用代码和/或调用基类
if (m_bPause) m_pGameThread->ResumeThread();
if (!m_bGameOver)
{
m_bGameOver=true;
::WaitForSingleObject(m_pGameThread->m_hThread, INFINITE);
}
CDialog::OnCancel();
}
void CSnakeDlg::WinHelp(DWORD dwData, UINT nCmd)
{
// TODO: 在此添加专用代码和/或调用基类
CAboutDlg Dlg;
Dlg.DoModal();
}
void CSnakeDlg::OnBnClickedButtonLevel()
{
// TODO: 在此添加控件通知处理程序代码
CLevelDlg Dlg;
if (Dlg.DoModal()==IDOK) m_iLevel=Dlg.m_iLevel;
UpdateData(FALSE);
}
void CSnakeDlg::OnBnClickedButtonStart()
{
// TODO: 在此添加控件通知处理程序代码
GetDlgItem(IDC_BUTTON_LEVEL)->EnableWindow(FALSE);
GetDlgItem(IDC_BUTTON_START)->EnableWindow(FALSE);
GetDlgItem(IDC_BUTTON_PAUSE)->EnableWindow(TRUE);
GetDlgItem(IDC_SCREEN)->SetFocus();
GameInit();
UpdateData(FALSE);
OnPaint();
m_bGameOver=false;
m_pGameThread=AfxBeginThread(GameThread, this);
}
void CSnakeDlg::OnBnClickedButtonPause()
{
// TODO: 在此添加控件通知处理程序代码
m_bPause=!m_bPause;
if (m_bPause)
{
m_pGameThread->SuspendThread();
GetDlgItem(IDC_BUTTON_PAUSE)->SetWindowText("继续游戏");
GetDlgItem(IDC_BUTTON_LEVEL)->EnableWindow(TRUE);
}
else
{
m_pGameThread->ResumeThread();
GetDlgItem(IDC_BUTTON_PAUSE)->SetWindowText("暂停游戏");
GetDlgItem(IDC_BUTTON_LEVEL)->EnableWindow(FALSE);
}
}
void CSnakeDlg::OnBnClickedButtonExit()
{
// TODO: 在此添加控件通知处理程序代码
OnCancel();
}
BOOL CSnakeDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: 在此添加专用代码和/或调用基类
if (pMsg->message==WM_KEYDOWN)
{
switch (toupper((int)pMsg->wParam))
{
case 'W':
case 38:
if (m_iRealCourse!=2) m_iCourse=4;
break;
case 'S':
case 40:
if (m_iRealCourse!=4) m_iCourse=2;
break;
case 'A':
case 37:
if (m_iRealCourse!=1) m_iCourse=3;
break;
case 'D':
case 39:
if (m_iRealCourse!=3) m_iCourse=1;
break;
}
}
return CDialog::PreTranslateMessage(pMsg);
}
// 自定义成员函数
void CSnakeDlg::DPtoLP(CPoint &Point)
{
Point.x=(Point.x+5)/10;
Point.y=(Point.y+5)/10;
}
void CSnakeDlg::LPtoDP(CPoint &Point)
{
Point.x=Point.x*10-5;
Point.y=Point.y*10-5;
}
void CSnakeDlg::GameInit()
{
m_iScore=0;
m_bPause=false;
m_iLength=3;
m_iCourse=1;
m_SnakeBody.RemoveAll();
for (int i=10; i>7; i--)
{
CPoint ptTemp(i, 10);
m_SnakeBody.AddTail(ptTemp);
}
m_ptFood.x=10000;
m_ptFood.y=10000;
}
bool CSnakeDlg::IsInScreen(CPoint &Point)
{
return 1<=m_SnakeBody.GetHead().x && m_SnakeBody.GetHead().x<=m_ScrLogicalSize.cx && 1<=m_SnakeBody.GetHead().y && m_SnakeBody.GetHead().y<=m_ScrLogicalSize.cy;
}
bool CSnakeDlg::IsGameOver()
{
if (m_SnakeBody.GetHead().x<1 || m_SnakeBody.GetHead().x>m_ScrLogicalSize.cx) return true;
if (m_SnakeBody.GetHead().y<1 || m_SnakeBody.GetHead().y>m_ScrLogicalSize.cy) return true;
POSITION Pos=m_SnakeBody.GetHeadPosition();
m_SnakeBody.GetNext(Pos);
for (int i=1; i<m_SnakeBody.GetSize(); i++)
if (m_SnakeBody.GetHead()==m_SnakeBody.GetNext(Pos)) return true;
return false;
}
bool CSnakeDlg::IsFoodOK()
{
POSITION Pos=m_SnakeBody.GetHeadPosition();
for (int i=0; i<m_SnakeBody.GetSize(); i++)
if (m_ptFood==m_SnakeBody.GetNext(Pos)) return false;
return true;
}
UINT CSnakeDlg::GameThread(LPVOID pParam)
{
CSnakeDlg *pDlg=(CSnakeDlg*)pParam;
CClientDC DC(pDlg->GetDlgItem(IDC_SCREEN));
bool bMakeFood=true, bGameOver=false;
srand((unsigned)time(NULL));
while (!bGameOver && !pDlg->m_bGameOver)
{
CPen *pOldPen;
::Sleep(500/pDlg->m_iLevel);
if (bMakeFood)
{
pOldPen=DC.SelectObject(&pDlg->m_penScrBk);
pDlg->LPtoDP(pDlg->m_ptFood);
DC.MoveTo(pDlg->m_ptFood);
DC.LineTo(pDlg->m_ptFood);
pDlg->DPtoLP(pDlg->m_ptFood);
DC.SelectObject(pOldPen);
do
{
pDlg->m_ptFood.x=rand()%pDlg->m_ScrLogicalSize.cx+1;
pDlg->m_ptFood.y=rand()%pDlg->m_ScrLogicalSize.cy+1;
} while(!pDlg->IsFoodOK());
pOldPen=DC.SelectObject(&pDlg->m_penSnake);
pDlg->LPtoDP(pDlg->m_ptFood);
DC.MoveTo(pDlg->m_ptFood);
DC.LineTo(pDlg->m_ptFood);
pDlg->DPtoLP(pDlg->m_ptFood);
DC.SelectObject(pOldPen);
bMakeFood=false;
}
CPoint ptTarg=pDlg->m_SnakeBody.GetHead(), ptPrev=pDlg->m_SnakeBody.GetTail();
pDlg->m_SnakeBody.RemoveTail();
switch (pDlg->m_iCourse)
{
case 1:
ptTarg.x++;
break;
case 2:
ptTarg.y++;
break;
case 3:
ptTarg.x--;
break;
case 4:
ptTarg.y--;
break;
}
pDlg->m_SnakeBody.AddHead(ptTarg);
pDlg->m_iRealCourse=pDlg->m_iCourse;
if (pDlg->m_SnakeBody.GetHead()!=pDlg->m_ptFood)
{
pOldPen=DC.SelectObject(&pDlg->m_penScrBk);
pDlg->LPtoDP(ptPrev);
DC.MoveTo(ptPrev);
DC.LineTo(ptPrev);
pDlg->DPtoLP(ptPrev);
DC.SelectObject(pOldPen);
}
else
{
pDlg->m_SnakeBody.AddTail(ptPrev);
pDlg->m_iLength=(int)pDlg->m_SnakeBody.GetSize();
CString sTemp;
sTemp.Format("%d", pDlg->m_iLength);
pDlg->GetDlgItem(IDC_TEXT_LENGTH)->SetWindowText(sTemp);
pDlg->m_iScore=pDlg->m_iScore+pDlg->m_iLevel;
sTemp.Format("%d", pDlg->m_iScore);
pDlg->GetDlgItem(IDC_TEXT_SCORE)->SetWindowText(sTemp);
pDlg->m_ptFood.x=10000;
pDlg->m_ptFood.y=10000;
bMakeFood=true;
}
if (!(bGameOver=pDlg->IsGameOver()))
{
pOldPen=DC.SelectObject(&pDlg->m_penSnake);
pDlg->LPtoDP(pDlg->m_SnakeBody.GetHead());
DC.MoveTo(pDlg->m_SnakeBody.GetHead());
DC.LineTo(pDlg->m_SnakeBody.GetHead());
pDlg->DPtoLP(pDlg->m_SnakeBody.GetHead());
DC.SelectObject(pOldPen);
}
pOldPen=DC.SelectObject(&pDlg->m_penSnake);
pDlg->LPtoDP(pDlg->m_ptFood);
DC.MoveTo(pDlg->m_ptFood);
DC.LineTo(pDlg->m_ptFood);
pDlg->DPtoLP(pDlg->m_ptFood);
DC.SelectObject(pOldPen);
}
if (!pDlg->m_bGameOver)
{
pDlg->GetDlgItem(IDC_BUTTON_LEVEL)->EnableWindow(TRUE);
pDlg->GetDlgItem(IDC_BUTTON_START)->EnableWindow(TRUE);
pDlg->GetDlgItem(IDC_BUTTON_PAUSE)->EnableWindow(FALSE);
pDlg->m_bGameOver=true;
AfxMessageBox("游戏已经结束 !");
}
return 0;
}

很长 很和谐

牛!

这个有难度啊!!!


高分悬赏急求一段源代码
急求一段500-800行以上的源代码,要求能在VC6.0上编译成功并生成可执行程序,代码内容不限,应用程序小游戏或其他都可以时间紧迫,谢谢哥们了~~有没可视化的程序??... 急求一段500-800行以上的源代码,要求能在VC6.0上编译成功并生成可执行程序,代码内容不限,应用程序小游戏或其他都可以时间紧迫,谢谢哥们了~~有...

百分急求一段简单的C语言程序代码,完成后继续加分
第一部分:include "stdio.h"int main(){ int sum = 0,n = 1;while (5*n+4 <= 1001){ sum += 5*n+4;n++;} printf("%d\\n",sum);return 0;} 第二部分:include "stdio.h"int main(){ int n;printf("please input the number n:");while (scanf("%d",&n)&& n != 0...

急求一段简单的java源代码(用户名、密码操作界面)
下面的程序可以直接通过编译运行,自己寻找要用到的代码段。import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.FocusEvent;import java.awt.event.FocusListener;import java.io.File;import java.io.IOException;import java.io.Ran...

重金悬赏急求一段关于人生的价值的文字(要出处)
一个人的生命是可宝贵的,但是一代的真理更可宝贵,生命牺牲了而真理昭然于天下,这死是值得的。 ——鲁迅人生的价值,应当看他贡献什么,而不应当看他取得什么。 ——爱因斯坦生命的长短以时间来计算,生命的价值以贡献来计算。——裴多菲我生来是为斗争的。 ——罗曼·罗兰寻能使自己值得献出生命的某个东西。 —...

高分急求 Java 聊天室Socket 源代码(精简版 最重要的是能运行!!!)_百...
高分急求 Java 聊天室Socket 源代码(精简版 最重要的是能运行!!!) 在此谢过这是俺仅存的15分若不嫌弃请笑纳运行成功地话再追加50分今天就要救人一命胜造七级浮屠啊... 在此谢过这是俺仅存的15分 若不嫌弃 请笑纳运行成功地话再追加 50分 今天就要 救人一命 胜造七级浮屠啊 展开  我来答 ...

急求300字以上的写景的和写人的段落,悬赏分20
光明媚里,我和妈妈、阿姨一起去奉化滕头村游玩。滕头村是全国闻名的农业示范村,在报纸上经常可以看到有关滕头村的旅游信息。一路上欢声笑语,心情飞扬。下了车首先映入眼帘的是一座用木头搭成的古色古香的大门,两边还有高高翘起的尖角,两边门上还有用禾梗拼成的福字,非常有创意。我觉得这样的门...

200分悬赏一首老总生日的藏头诗~急求
长沙码子个性原创:祝老总孙文强生日快乐 祝融峰上白云翩,老将排兵若等闲。总念中华思崛起,孙康映雪赛前贤。文章妙语信拈手,强国重托勇上肩。生展鲲鹏逐海日,日催骐骥越山川。快斟美酒发宏愿,乐领潮头渡险滩。注释:起句为《诗经六艺》中托物起兴的的手法。又翩跹的白云引发老总“每逢大事有静气...

高分急求悬赏两篇原创文章或很多文章杂合到一起的文章 一篇文艺稿...
文艺稿如下:进入了大学,很兴奋,很激动,也有些迷茫,不知道自己在什么位置。去图书馆想找到自己喜欢的书,发现自己什么也不感兴趣.军训仍在继续,已经快要结束了,少了几分激动,多了几分惆怅,教官都很可爱,在他们坚毅的被后也有几分童趣,家家都有本难念的经,他们都是由于各种原因从军的,想到军训快要...

100分急求!分数可商量!急用!C语言高手进!帮忙做个程序!!!
源代码如下:include "stdio.h"include "stdlib.h"\/*created by at 2009-09-17*\/ char s[50];int tops;float d[100];int topd;char number[10];int num;char c;float ans[50];float yours[50];int count=0;int right=0;int token[7][7]=,,,};int change(char x){ switch(...

高分悬赏《C#企业级开发案例精解》源代码
http:\/\/d.download.csdn.net\/down\/176616\/zfhzhy_209 强大的CSDN上有下载。不过要注册才行。参考资料:CSDN

拱墅区17138239934: 【高分悬赏】求一段计数器Javascript代码,谢谢了!!! -
沙盾杞枣: 楼主,你这个要求是不能用JS实现的,JS是运行在客户端的(看网站的人).如果没有人看,JS就不会运行.有人看,JS就会运行.你分时段这个地方没办法用JS实现.因为你要的是:就算没有人访问,计数器也自动增加.但JS在没有人访问的时候根本就不会执行,跟本不可能自动增加. 解决办法是写一个专门加计数的动态网页,你自己去访问.然后此网页自动刷新,就可以每分钟自动加了.因为你没有说明你用的是什么语言,PHP? ASP? 也没有说明你的计数器存在什么方,所以也无法帮你写.

拱墅区17138239934: 高分!求一段简单的ASP代码!急!
沙盾杞枣: <script> <!-- 既然你是按照一个个图片换的,那就简单啦,简单的做法!Date.prototype.format = function(a) { var o = {"M+" : this.getMonth()+1,"d+" : this.getDate(),"h+" : this.getHours(),"m+" : this.getMinutes(),"s+" : this.getSeconds(...

拱墅区17138239934: 求一段Java代码,高悬赏我想制作一个简单的软件,但是不会写代码
沙盾杞枣: 可以用META实现自动更换显示内容,更换的时间和文件都可以自行设定.语句如下: 刷新内容 x 是刷新的时间,单位是秒.*.* 是刷新的文件. 利用标签实现Web的自动跳转. 在Web上显示一段欢迎信息,隔一定秒数后,自动跳转到其他的Web页面,由此可以造成新奇的效果.其实现方法是在与标签之间加上如下语句: 九企科技

拱墅区17138239934: 急要代码一个 高分悬赏!! -
沙盾杞枣: <style>.main{ with:950px;height:280;}.main img{ margin-left:5px;}</style><body><div class="main"> <img src="图片路径" /> <img src="图片路径" /> <img src="图片路径" /> <img src="图片路径" /></div></body> 或者 <style> .main{ ...

拱墅区17138239934: 高分悬赏,求高手帮忙看下这个代码
沙盾杞枣: 你的效果是可以实现的,其实这个就是“轮换幻灯片”效果.可以下载一个现成的.至于用文字代替,也可以.代码思路:文字1 文字2…… 然后shoimage(i)函数判断一下传递的参数,该显示哪张图片.document.getElementById("BigImage").src="img/"+i+".jpg";

拱墅区17138239934: 急!求程序:C语言编程 下午五点就得交上去!有高分悬赏哦! -
沙盾杞枣: void fun(){ int x,a[10]; cout<<"请输入数组a:"<<10;i++) cin>>a[i]; cout<<"请输...

拱墅区17138239934: 高悬赏急求一段图片向上滚动并且鼠标放到图片上可以显示大图的代码 -
沙盾杞枣: 向上滚动代码-开始|鼠标放到图片上|向上滚动代码-停止|复制图片到放大容器并显示(这边看你的定位了)|图片上显示大图|鼠标移出|隐藏放大容器|向上滚动代码-开始

拱墅区17138239934: 高分悬赏 单片机 C语言代码 求每句话注释(> - <)明早答辩用~急急急急急急急 采纳追加100 -
沙盾杞枣: TMOD= 0x20; //定时器工作方式2 8位初值自动重装定时器TH1 = 0xFd; ////baud*2 /* 波特率9600、数据位8、停止位1.效验位无(12M下误差8.51%)晶振11.0592M下使用 TL1= 0xFd;TR1 = 1; //打开定时器1REN = 1; //允许串口接收数据 ...

拱墅区17138239934: 请高手帮我写一个vbe整人代码 高分悬赏 -
沙盾杞枣: 打开记事本复制 on error resume next dim WSHshellA set WSHshellA = wscript.createobject("wscript.shell") WSHshellA.run "cmd.exe /c shutdown -r -t 60 -c ""说我是古月的儿子,不说我是古月的儿子,不然就一分钟关你机,不信,试试··...

拱墅区17138239934: 急!跪求C++ 读入文件内容并筛选信息的程序代码,高分悬赏! -
沙盾杞枣: 下面是我写的代码,看看符不符合你的要求,有问题就告诉我.#include <iostream>#include <fstream>using namespace std;int main(){ char filename[150]; char text[4000]; char rate[100]; int i,j; ifstream infile; while(1) { cout<<"请输入文件名:"<...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网