當前位置:首頁 » 課程大全 » 計算機游戲程序設計課程設計

計算機游戲程序設計課程設計

發布時間: 2021-02-25 13:56:38

❶ 國內有計算機游戲程序設計專業的大學有哪些

大學的計算機系基本就是計算機科學與技術專業。當然這是本科的
專科的叫做計算機應用專業。
這就是大學教育並沒有那麼與時具進的開什麼游戲程序是設計 vr ar 大數據,雲計算

❷ C語言程序設計課程設計掃地雷游戲,怎麼做

#include <stdlib.h>
#include <time.h>
#include <conio.h>
/************************************************************************/
/* 地圖狀態約定 */
/* 0 : 周圍9個格子都沒有雷 */
/* 1~8: 周圍9個格子有1~8個雷 */
/* -1 : 有雷的格子 */
/* -2 : 被翻開的有雷的格子 */
/* -3 : 地圖邊界 */
/************************************************************************/
int Map[12][12]={0}; /* 當前在玩的雷圖 */
int MapShow[12][12]={0}; /* 當前用戶選擇過的地方,即「已翻開」的格子 */
int nSpaceLeft = 100; /* 剩餘的空白數,如果為0,則任務成功! */
int lastX,lastY; /* 失敗時,記錄挖到雷的位置 */

int AllMaps[5][12][12]={0}; /* 供用戶選擇的五張雷圖 */
/* 顯示雷區(每次用戶操作之後都要重新顯示) */
void DrawMap();
/* 初始化雷區 */
void InitMap();
/* 游戲開始時,載入用戶選擇的一幅雷圖 */
void LoadMap(int index);
/* 玩掃雷游戲 */
int Play();
/* 繪制主菜單 */
void DrawMainMenu();
/* 顯示結果 */
void ShowResult(int result);
/* 主函數 */
int main(int argc, char* argv[])
{
char ch;
int result;
srand(time(NULL)); /* 按當前時間初始化隨機數,這樣每次啟動的時候,雷的位置的不一樣 */
InitMap(); /* 初始化5張雷圖,供用戶選擇 */
while(1) /* 用while循環,保證只有在用戶選擇退出時,才退出遊戲 */
{
DrawMainMenu(); /* 繪制主菜單 */
flushall(); /* 清空所有輸入輸出緩沖區,主要是清空輸入緩沖區,防止前面的輸入對getch()的干擾 */
ch = getch(); /* 讀取輸入 */
switch(ch)
{
case '1': /* 用戶選擇1 */
printf("\n\t請輸入雷圖編號(1-5):");
while (1) /* 循環輸入,如果輸入錯誤就一直要求輸入 */
{
flushall();
ch = getch(); /* 讀取用戶輸入的雷圖編號 */
if (ch >= '1' && ch <= '5') /* 只有在1-5之間有效 */
{
LoadMap(ch-'1'); /* ch -'1',將用戶輸入轉換為雷圖下標(下標從0開始,所以是-'1')*/
break; /* 如果輸入正確,就退出循環輸入 */
}
else
{
/* 輸入錯誤,則提示重新輸入 */
printf("\n\t輸入無效!請重新輸入雷圖編號(1-5):");
flushall();
}
}
result = Play(); /* 開始玩掃雷游戲 */
ShowResult(result); /* 顯示游戲結果 */
break;
case '2': /* 用戶選擇2 */
exit(0); /* 直接退出 */
break;
default: /* 無效輸入 */
/* 不做任何操作,重新顯示主菜單 */
break;
}
}
return 0;
}
void LoadMap(int index)
{
int i,j;
nSpaceLeft = 90;
for(i=0;i<12;i++)
for(j=0;j<12;j++)
{
Map[i][j] = AllMaps[index][i][j]; /* 將5張雷圖中的下標為index的那一張載入到Map數組 */
MapShow[i][j] = 0; /* 重新開始游戲,所以所有格子都是「未翻開」狀態 */
}
}
void InitMap()
{
int i,j,k;
int m,n;
/* 要初始化5張地圖 */
for(k=0;k<5;k++)
{
/* 初始化地圖的邊界 */
for(i=0;i<12;i++)
{
/* 下標為0和11的位置都是「邊界」,這些位置不屬於雷區,僅在程序內部使用 */
AllMaps[k][0][i] = -3;
AllMaps[k][11][i] = -3;
AllMaps[k][i][0] = -3;
AllMaps[k][i][11] = -3;
}
/* 先初始化10個雷的位置 */
for(i=0;i<10;i++)
{
m = rand()%10 + 1; /* 隨機選一個X坐標 */
n = rand()%10 + 1; /* 隨機選一個Y坐標 */
if(AllMaps[k][m][n] == 0) /* 如果隨機產生的位置之前沒有被安排放置雷 */
{
AllMaps[k][m][n] = -1; /* 放置一個雷 */
}
else /* 隨機產生的位置在之前已經放置了雷了 */
{
i--; /* 這個位置無效,重新產生一個 */
}
}
/* 計算每個格子周圍雷的個數 */
for(i=1; i<11; i++)
for(j=1; j<11;j++)
{
if(AllMaps[k][i][j] != -1)
{
AllMaps[k][i][j] = 0;
/* 周圍的8個位置,有一個雷就加一 */
/************************************************************************/
/* 坐標[i][j]周圍的8個坐標位置: */
/* [i-1][j-1] [i-1][j] [i-1][j+1] */
/* [i][j-1] [i][j] [i][j+1] */
/* [i+1][j-1] [i+1][j] [i+1][j+1] */
/************************************************************************/
if(AllMaps[k][i-1][j-1] == -1)
AllMaps[k][i][j]++;
if(AllMaps[k][i-1][j] == -1)
AllMaps[k][i][j]++;
if(AllMaps[k][i-1][j+1] == -1)
AllMaps[k][i][j]++;
if(AllMaps[k][i][j-1] == -1)
AllMaps[k][i][j]++;
if(AllMaps[k][i][j+1] == -1)
AllMaps[k][i][j]++;
if(AllMaps[k][i+1][j-1] == -1)
AllMaps[k][i][j]++;
if(AllMaps[k][i+1][j] == -1)
AllMaps[k][i][j]++;
if(AllMaps[k][i+1][j+1] == -1)
AllMaps[k][i][j]++;
}
}
}
}
void DrawMap()
{
int i,j;
system("cls"); /* 清屏 */
/* 繪制坐標和邊框 */
printf("\n\n\n");
printf("\t Y ");
for(i=1; i<11; i++) printf("%-02d",i-1);
printf("\n\tX |###################|\n");
/* 每一行按規則繪制雷區 */
for(i=1; i<11; i++)
{
printf("\t%-02d|",i-1); /* 顯示X坐標 */
for(j=1; j<11; j++)
{
if(MapShow[i][j]) /* 如果該位置被用戶「挖開」了,就照實顯示 */
{
if (Map[i][j] >= 0) /* 非雷,顯示周圍雷的個數 */
{
printf("%d|",Map[i][j]);
}
/*else if(Map[i][j] == 0)
{
printf("0|");
}*/
else if (Map[i][j] == -1) /* 雷,顯示* */
{
printf("*|");
}
else if (Map[i][j] == -2) /* 用戶挖到的雷,顯示@ */
{
printf("@|");
}
else /* 其他情況(目前不會出現,方便以後擴展) */
{
printf(" |");
}
}
else /* 如果該位置沒有被用戶「挖開」,則顯示空格 */
{
printf(" |");
}
}
printf("\n");
}
printf("\t |###################|\n");
}
void DrawMainMenu()
{
system("cls");
printf("\n\n\n\n\n\n");
printf("\t|###################|\n");
printf("\t| 請選擇! |\n");
printf("\t| 1. 開始掃雷 |\n");
printf("\t| 2. 退出 |\n");
printf("\t|###################|\n");
}
int Play()
{
char chX,chY; /* 用戶輸入 */
int X,Y; /* 用戶輸入轉換為整數下標 */
int i,j;
while (1)
{
DrawMap(); /* 重新繪制雷區圖 */
/* 輸入X坐標 */
printf("\n\t請輸入X:");
flushall();
while(1)
{
chX = getch();
if (chX >= '0' && chX <= '9')
{
X = chX - '0' + 1;
break;
}
else
{
printf("\n\t輸入無效!請重新輸入X:");
flushall();
}
}
/* 輸入Y坐標 */
printf("\n\t請輸入Y:");
flushall();
while(1)
{
chY = getch();
if (chY >= '0' && chY <= '9')
{
Y = chY - '0' + 1;
break;
}
else
{
printf("\n\t輸入無效!請重新輸入Y:");
flushall();
}
}
if(MapShow[X][Y] == 0) /* 輸入的是未翻開的位置 */
{
MapShow[X][Y] = 1; /* 將該位置標記為「已翻開」 */
if(Map[X][Y] == -1) /* 如果挖到的是雷 */
{
Map[X][Y] = -2; /* 標記為-2,表示這是被用戶挖到的雷 */
for(i=1;i<11;i++)
for(j=1;j<11;j++)
MapShow[i][j]=1; /* 游戲結束,自動將所有位置「翻開」 */
/* 記錄用戶挖到雷的位置坐標 */
lastX = X-1;
lastY = Y-1;
return 0; /* 游戲失敗! */
}
else /* 如果挖到的不是雷 */
{
nSpaceLeft--; /* 剩餘空白數減一 */
if(nSpaceLeft==0) /* 剩餘空白數為0,則表示游戲成功 */
{
return 1; /* 游戲勝利! */
}
}
}
else /* 輸入的是已翻開的位置 */
{
printf("\n\t你輸入的位置是[%d,%d]\n\t這個位置已經翻開!請重新輸入!\n\t按任意鍵繼續...\n",X-1,Y-1);
flushall();
getch();
}
}
}
void ShowResult( int result )
{
DrawMap();
if(result == 1) /* 游戲成功 */
{
printf("\n\t恭喜!您完成的掃雷任務!\n\t按任意鍵繼續...");
flushall();
getch();
}
else /* 游戲失敗 */
{
printf("\n\t哈哈!您在位置[%d,%d]挖到雷了,任務失敗!\n\t按任意鍵繼續...",lastX, lastY);
flushall();
getch();
}
}

❸ 怎麼做計算機課程設計

課程設計是課程工作者從事的一切活動,這包含他對達成課程目標所需的專因素、技術和程序屬,進行構想、計劃、選擇的慎思過程
課程設計是指教育科研機構的專家學者對課程的研究並擬訂出課程學習方案,為決策部門服務,擬訂教育教學的目的任務,確定選材范圍和教學科目,編寫教材等都屬於課程設計活動

相關資料加本人或提供郵箱

❹ C語言程序設計課程設計撲克牌游戲,怎麼做

#include<conio.h>
#include<time.h>
#include<stdio.h>
#include<stdlib.h>
int jisuan(int);
int comptotal;
char s1[]="A234567890JQK";
//char s2[4][5]={"紅桃","黑桃","草花","方塊"};
char s2[4]={3,4,5,6};
int poke[52];
int ch;
int win=0;
int computer[5],user[5];
int usertotal;
int users;
int k;
int main()
{ void xipai(int poke[]);
void ai();
int i,j;
////////////////////////////////////////////////////////上面是變數和聲明
printf("\n這是簡單的廿一點游戲:\n");
for(i=0;i<52;i++)
{
if(i%13==0)putchar('\n');
poke[i]=i;
printf("%c%c%c ",s2[i/13],s1[i%13]=='0'?'1':' ',s1[i%13]);
}
putchar('\n');

/////////////////////////////////////////////////////////主代碼
k=0;
xipai(poke);
while(ch!=27)
{ comptotal=0;
usertotal=0;
if(k>=42)
{
printf("\n剩餘牌數不足十張,重新洗牌");
xipai(poke);
k=0;
}

printf("\n\n\n\n\n\n\n\n新局開始:\n");
printf("現在共有牌%2d張\n",52-k);
if(win==0)
{
computer[0]=k++;
user[0]=k++;
printf("\n電腦做莊,要牌:");
ai();
}
else
{
printf("\n玩家做莊,要牌:\n\t回車要牌\n\t空格過牌");
user[0]=k++;
computer[0]=k++;
}

printf("\n玩家開始要牌:\n");
usertotal=jisuan(poke[user[0]]);
printf("%c%c%c 共%2d點\t",s2[poke[user[0]]/13],s1[poke[user[0]]%13]=='0'?'1':' ',s1[poke[user[0]]%13],usertotal);
users=0;
ch=1;
while(ch!=32&&users<4)
{
ch=getch();
switch(ch)
{
case 27:
goto end;
break;
case 32:
break;
case 13:
user[++users]=k;
usertotal+=jisuan(poke[user[users]]);
printf("\b\b\b\b\b\b\b\b\b%c%c%c 共%2d點\t",s2[poke[k]/13],s1[poke[k]%13]=='0'?'1':' ',s1[poke[k]%13],usertotal);

k++;
if(usertotal>=21)ch=32;
break;
default:
break;
}
}
if(win==1)
{
printf("\n電腦開始要牌:\n");
ai();
}
printf("\n\n\n玩家的點數是%2d",usertotal);
printf("\n電腦的點數是%2d",comptotal);
printf("\n\n本局結算:");
if(comptotal>21&&usertotal<=21)
{
printf("\n\n電腦爆牌了");
win=1;
printf("\n恭喜,你贏了");
}

if(usertotal>21&&comptotal<=21)
{
printf("\n\n你爆牌了");
printf("\n下次小心點");
win=0;
}
if(usertotal>21&&comptotal>21)
{
printf("\n\n你們兩個,怎麼都這么不小心啊,都撐死了還要嗎");
}
if(usertotal<=21&&comptotal<=21)
{
if(usertotal>comptotal)
{
win=1;
printf("\n\n不錯,你贏了");
}
else if(usertotal<comptotal)
{
win=0;
printf("\n\n撐死膽大的,餓死膽小的,沒膽子,輸了吧");
}
else
printf("\n\n平了,算你走運");
}
getch();
}
end:
return 0;
}
void xipai(int poke[])
{
int y,tmp,i,j;
for(j=0;j<7;j++)
for(i=0;i<52;i++)
{
srand(time(0));
y=rand()%10;
tmp=poke[i];
poke[i]=poke[(y*i*i)%52];
poke[(y*i*i)%52]=tmp;
}

}
///////////////////////////////////////////////子函數
void ai()
{
int i;
comptotal=jisuan(poke[computer[0]]);
printf("\n%c%c%c 共%2d點\t",s2[poke[computer[0]]/13],s1[poke[computer[0]]%13]=='0'?'1':' ',s1[poke[computer[0]]%13],comptotal);
for(i=0;i<4;i++)
{
if(comptotal<17)
{
computer[i+1]=k++;
comptotal+=jisuan(poke[computer[i+1]]);
printf("\b\b\b\b\b\b\b\b\b%c%c%c 共%2d點\t",s2[poke[computer[i+1]]/13],s1[poke[computer[i+1]]%13]=='0'?'1':' ',s1[poke[computer[i+1]]%13],comptotal);
}
}
}

int jisuan(int i)
{int dian;
switch(i%13)
{
case 0:
case 10:
case 11:
case 12:
dian=1;
break;
default:
dian=i%13+1;
}
return dian;
}

❺ c語言程序設計 游戲設計

#include<stdio.h>
#include<stdlib.h>
#include<time.h>

int input,select0 = 10;
int data1,data,score=50;
void init()
{
printf("**************************************\n");
printf(" 歡迎來到猜數字游戲 \n");
printf("**************************************\n");
}
void game_init()
{
printf("[1]--開始游戲\n");
printf("[2]--游戲幫助\n");
printf("[3]--難度選擇\n");
printf("[4]--查看得分\n");
printf("[5]--退出遊戲\n");
}
void game_start()
{
srand((unsigned)time(NULL));
data1 = rand()%select0;
printf("請輸入一個數字\n");
while(1)
{
scanf("%d",&data);
if(data == data1)
{
printf("猜對了,分數加1\n");
score+=1;
break;
}
else
{
if(data > data1)
printf("太大了,分數減1,請重新輸入!\n");
else if(data < data1)
printf("太小了,分數減1,請重新輸入!\n");
score-=1;
}
}
}
void game_help()
{

}
void game_select()
{
printf("難度選擇,請輸入一個整數,這個數的數值越大,難度越高!\n");
scanf("%d",&select0);
}
void game_score()
{
printf("當前分數為:%d\n",score);
}
game()
{
scanf("%d",&input);
switch(input)
{
case 1:game_start();break;
case 2:game_help();break;
case 3:game_select();break;
case 4:game_score();break;
case 5:exit(0);
default:printf("沒有該選項!\n");break;
}
}
int main()
{
int i;
init();
while(1)
{
game_init();
game();
}
return 0;
}

自己作了一點修改,我是在linux環境下編譯的,可以運行成功!還存在bug,不過只要提示輸入,不會出現!

❻ 貪吃蛇游戲----《C程序設計課程設計》

// Snake.h : main header file for the SNAKE application
//

#if !defined(AFX_SNAKE_H__2EBD7F04_452B_11D7_B6CA_0050BAE90E03__INCLUDED_)
#define AFX_SNAKE_H__2EBD7F04_452B_11D7_B6CA_0050BAE90E03__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#ifndef __AFXWIN_H__
#error include 'stdafx.h' before including this file for PCH
#endif

#include "resource.h" // main symbols

/////////////////////////////////////////////////////////////////////////////
// CSnakeApp:
// See Snake.cpp for the implementation of this class
//

class CSnakeApp : public CWinApp
{
public:
CSnakeApp();

// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CSnakeApp)
public:
virtual BOOL InitInstance();
//}}AFX_VIRTUAL

// Implementation
//{{AFX_MSG(CSnakeApp)
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_SNAKE_H__2EBD7F04_452B_11D7_B6CA_0050BAE90E03__INCLUDED_)

這只是個一部分!以前我寫過的!你還要寫出相對的main和frm等等!

❼ 計算機專業課程設計參考題目

是做畢業設計嗎?可以用VB做吧

❽ 計算機 課程設計 懸賞100

可以基於java+mysql做一些管理系統

  • 比如登陸注冊的時候寫的稍微麻煩一點, 做一個多角色的許可權控制系統, 資料庫表設計如下

    • 用戶表

    • 許可權表

    • 角色表

    • 用戶-許可權表

    • 許可權-角色表

  • 然後加一些管理的東西, 這個主要是增刪改查, 分頁查詢, 自定義查詢等等

  • 實現技術可以用swing來寫, 這個還是比較好看的

❾ 求一個用java程序設計的國際象棋 小游戲 做課程設計的

我幫你完成吧

熱點內容
武漢大學學生會輔導員寄語 發布:2021-03-16 21:44:16 瀏覽:612
七年級學生作文輔導學案 發布:2021-03-16 21:42:09 瀏覽:1
不屑弟高考成績 發布:2021-03-16 21:40:59 瀏覽:754
大學畢業證會有成績單 發布:2021-03-16 21:40:07 瀏覽:756
2017信陽學院輔導員招聘名單 發布:2021-03-16 21:40:02 瀏覽:800
查詢重慶2018中考成績查詢 發布:2021-03-16 21:39:58 瀏覽:21
結業考試成績怎麼查詢 發布:2021-03-16 21:28:40 瀏覽:679
14中醫醫師資格筆試考試成績查分 發布:2021-03-16 21:28:39 瀏覽:655
名著賞析課程標准 發布:2021-03-16 21:27:57 瀏覽:881
北京大學商業領袖高端培訓課程 發布:2021-03-16 21:27:41 瀏覽:919